> ## Documentation Index
> Fetch the complete documentation index at: https://docs.aihubmix.com/llms.txt
> Use this file to discover all available pages before exploring further.

# Llamadas a la API nativa de Claude

## Descripción

Los modelos de la serie Claude admiten llamadas oficiales a la API nativa. Antes de usarla, asegúrate de instalar o actualizar la dependencia `anthropic`:

```bash theme={null}
pip install -U anthropic
```

## Información de los modelos

| Nombre del modelo                   | Claude Opus 4.6                                 | Claude Sonnet 4.6                               | Claude Sonnet 4.5 | Claude Haiku 4.5 |
| ----------------------------------- | ----------------------------------------------- | ----------------------------------------------- | ----------------- | ---------------- |
| Admite Extended Thinking            | Sí                                              | Sí                                              | Sí                | Sí               |
| Tamaño de la ventana de contexto    | 200K tokens /<br />1M tokens (beta)<sup>3</sup> | 200K tokens /<br />1M tokens (beta)<sup>3</sup> | 200K              | 200K             |
| Longitud máxima de salida           | 128K tokens                                     | 128K tokens                                     | 64K tokens        | 64K tokens       |
| Corte de los datos de entrenamiento | Agosto de 2025                                  | Agosto de 2025                                  | Julio de 2025     | Julio de 2025    |

## Nuevas funciones en Claude 4.6

### Razonamiento adaptativo

Claude 4.6 recomienda usar un nuevo modo de razonamiento adaptativo, en el que Claude determina automáticamente si debe pensar y la profundidad del razonamiento en función de la complejidad de la pregunta:

```python theme={null}
thinking={"type": "adaptive"}
```

<Warning>
  `thinking: {type: "enabled", budget_tokens: N}` ha sido obsoleto en 4.6 y se eliminará en futuras versiones.
</Warning>

### Compactación automática de contexto (Beta)

Cuando las conversaciones se acercan al límite de la ventana de contexto, Claude 4.6 puede realizar automáticamente una compactación resumida del contenido anterior en el lado del servidor.

**Ventajas:**

* Admite conversaciones extremadamente largas
* No requiere resumen en el lado del cliente
* Mejora la capacidad del agente para diálogos continuos

**Nota:**

* La compactación automática puede perder algunos detalles
* Se recomienda evaluar mediante pruebas en escenarios que requieran fuerte consistencia

### Obsolescencias y cambios

* **Cabecera Beta `interleaved-thinking-2025-05-14` eliminada:** En 4.6, el razonamiento adaptativo ahora admite automáticamente el razonamiento intercalado, y no es necesario añadir `extra_headers`. Si aún se añade, esta cabecera se ignorará de forma segura.

## Nuevas funciones en Claude 4

### Nuevo motivo de detención por rechazo

El modelo Claude 4 introduce un nuevo motivo de detención `refusal` para gestionar los casos en los que el modelo rehúsa generar contenido por razones de seguridad:

```json theme={null}
{
  "id": "msg_014XEDjypDjFzgKVWdFUXxZP",
  "type": "message",
  "role": "assistant",
  "model": "claude-sonnet-4-20250514",
  "content": [{"type": "text", "text": "I would be happy to assist you. You can "}],
  "stop_reason": "refusal",
  "stop_sequence": null,
  "usage": {
    "input_tokens": 564,
    "cache_creation_input_tokens": 0,
    "cache_read_input_tokens": 0,
    "output_tokens": 22
  }
}
```

Al migrar a Claude 4, debes actualizar tu aplicación para gestionar el motivo de detención `refusal`.

### Razonamiento extendido (Extended Thinking)

Una vez habilitado el razonamiento extendido, la API de Messages del modelo Claude 4 devolverá un resumen del proceso completo de razonamiento de Claude. El resumen ofrece todas las ventajas inteligentes del razonamiento extendido evitando, al mismo tiempo, su uso indebido.

Aunque la API se mantiene consistente entre los modelos Claude 3.7 y 4, la respuesta en streaming para el razonamiento extendido puede llegar en modo "por trozos", con posibles retrasos entre eventos de streaming.

El resumen lo procesa un modelo distinto al especificado en tu solicitud. El modelo de razonamiento no verá la salida del resumen.

### Razonamiento intercalado (Interleaved Thinking)

El modelo Claude 4 admite intercalar el uso de herramientas con el razonamiento extendido, lo que permite conversaciones más naturales en las que el uso de herramientas y las respuestas pueden mezclarse con mensajes normales.

El razonamiento intercalado se encuentra actualmente en pruebas. Para habilitarlo, añade la cabecera de prueba `interleaved-thinking-2025-05-14` en tu solicitud a la API:

```python theme={null}
extra_headers={
    "anthropic-beta": "interleaved-thinking-2025-05-14"
}
```

**Endpoint:** `POST` /v1/messages

## Invocación

<CodeGroup>
  ```shell Curl theme={null}
  curl https://aihubmix.com/v1/messages \
       --header "x-api-key: $ANTHROPIC_API_KEY" \ # Replace with the key generated on AiHubMix
       --header "anthropic-version: 2023-06-01" \
       --header "content-type: application/json" \
       --data \
  '{
      "model": "claude-3-5-sonnet-20241022",
      "max_tokens": 1024,
      "messages": [
          {"role": "user", "content": "Hello, world"}
      ]
  }'
  ```

  ```py Python Non-streaming theme={null}
  import anthropic

  client = anthropic.Anthropic(
      api_key="sk-***", # Replace with the key generated on AiHubMix
      base_url="https://aihubmix.com"
  )
  message = client.messages.create(
      model="claude-3-5-sonnet-20241022",
      max_tokens=1024,
      messages=[
          {"role": "user", "content": "Hello, Claude"}
      ]
  )
  print(message.content)
  ```

  ```py Python Streaming 128K theme={null}
  import anthropic

  client = anthropic.Anthropic(
      api_key="sk-***", # Replace with the key generated on AiHubMix
      base_url="https://aihubmix.com"
  )

  with client.messages.stream(
      model="claude-3-7-sonnet-20250219",  # claude-opus-4-20250514, claude-sonnet-4-20250514
      max_tokens=128000,
      messages=[
          {"role": "user", "content": "Please generate a 100,000 token article that elaborates on Charlie Munger's 100 mental models (approximately 1,000 tokens for each model), with each section including an introduction to the model, multidimensional thinking, application methods, practical blind spots, and specific examples. Clarity and engagement are key. Use bullet points only when necessary."}
      ],
      extra_headers={
          "anthropic-beta": "output-128k-2025-02-19"
      }
  ) as stream:
      for text in stream.text_stream:
          print(text, end="", flush=True)
  ```

  ```py Python Interleaved Thinking theme={null}
  import anthropic

  client = anthropic.Anthropic(
      api_key="sk-***", # Replace with the key generated on AiHubMix
      base_url="https://aihubmix.com"
  )

  response = client.messages.create(
      model="claude-sonnet-4-20250514",  # or claude-opus-4-20250514
      max_tokens=1024,
      messages=[
          {"role": "user", "content": "Help me analyze this data and generate a chart"}
      ],
      tools=[
          {
              "type": "computer_20241022",
              "name": "computer"
          }
      ],
      extra_headers={
          "anthropic-beta": "interleaved-thinking-2025-05-14"
      }
  )
  print(response.content)
  ```
</CodeGroup>

### Estructura del Body de la solicitud

```json theme={null}
{
  "model": "claude-3-5-sonnet-20241022",
  "max_tokens": 1024,
  "messages": [
    {
      "role": "user",
      "content": "What is the meaning of life?"
    }
  ]
}
```

### Parámetros de la solicitud

| Nombre        | Ubicación | Tipo      | Obligatorio | Descripción        |
| ------------- | --------- | --------- | ----------- | ------------------ |
| x-api-key     | header    | string    | No          | AIHUBMIX\_API\_KEY |
| Content-Type  | header    | string    | No          | ninguno            |
| body          | body      | object    | No          | ninguno            |
| » model       | body      | string    | Sí          | ninguno            |
| » messages    | body      | \[object] | Sí          | ninguno            |
| »» role       | body      | string    | No          | ninguno            |
| »» content    | body      | string    | Sí          | ninguno            |
| » max\_tokens | body      | number    | Sí          | ninguno            |

### Ejemplo de respuesta

```json theme={null}
200 Response
```

```json theme={null}
{
  "id": "msg_013Uf6CwwyjSe35n3yVaPbLM",
  "type": "message",
  "role": "assistant",
  "model": "claude-3-5-sonnet-20241022",
  "content": [
    {
      "type": "text",
      "text": "That's one of humanity's most enduring and complex philosophical questions! While there's no universal answer, I aim to explore such questions thoughtfully while acknowledging their complexity. I try to focus on having meaningful conversations and helping where I can. What does meaning in life mean to you?"
    }
  ],
  "stop_reason": "end_turn",
  "stop_sequence": null,
  "usage": {
    "input_tokens": 14,
    "cache_creation_input_tokens": 0,
    "cache_read_input_tokens": 0,
    "output_tokens": 61
  }
}
```

### Resultados de la respuesta

| Código de estado | Significado | Descripción | Modelo de datos |
| ---------------- | ----------- | ----------- | --------------- |
| 200              | OK          | ninguno     | En línea        |

## Migración a Claude 4

Si estás migrando de los modelos Claude 3.7 a Claude 4, ten en cuenta los siguientes cambios:

### Actualizar el nombre del modelo

```python theme={null}
# From Claude 3.7
model="claude-3-7-sonnet-20250219"

# Migrate to Claude 4
model="claude-sonnet-4-20250514"  # or "claude-opus-4-20250514"
```

### Gestionar los nuevos motivos de detención

Actualiza tu aplicación para gestionar el nuevo motivo de detención `refusal`:

```python theme={null}
if response.stop_reason == "refusal":
    print("Claude refuses to generate this content")
elif response.stop_reason == "end_turn":
    print("Completed normally")
```

### Eliminar funciones no admitidas

* **Uso eficiente de tokens en herramientas:** Solo disponible en Claude Sonnet 3.7, ya no se admite en Claude 4
* **Salida extendida:** La cabecera de prueba `output-128k-2025-02-19` solo está disponible en Claude Sonnet 3.7

Si migras desde Claude Sonnet 3.7, se recomienda eliminar estas cabeceras de prueba de tus solicitudes:

```python theme={null}
# Remove these headers (if present)
# "token-efficient-tools-2025-02-19"
# "output-128k-2025-02-19"
```

## Uso en aplicaciones (ejemplo con Lobe-Chat)

* Ve a la página de ajustes y selecciona el proveedor de modelos Claude
* Introduce la clave API de [nuestro sitio](https://aihubmix.com/token)
* Introduce la dirección del proxy de la API directamente como sigue:

```
https://aihubmix.com
```

* Se recomienda habilitar "Use Client Request Mode"
* Por último, añade los modelos que desees utilizar a la lista de modelos (se sugiere copiar y pegar el nombre del modelo desde la página de ajustes de nuestro sitio web)\\

  <img src="https://mintcdn.com/aihubmix/_Cbum_77AgsRh-CI/public/cn/cla1.png?fit=max&auto=format&n=_Cbum_77AgsRh-CI&q=85&s=a85f2cfa7552e99badbc69a9a8af8295" alt="Imagen" width="1225" height="613" data-path="public/cn/cla1.png" />

  <img src="https://mintcdn.com/aihubmix/_Cbum_77AgsRh-CI/public/cn/cla2.png?fit=max&auto=format&n=_Cbum_77AgsRh-CI&q=85&s=c18c5b40b30b914a185629cb708735ba" alt="Imagen" width="1102" height="699" data-path="public/cn/cla2.png" />

## Herramientas de edición de texto de Claude

Claude puede usar herramientas de edición de texto definidas por Anthropic para ver y modificar archivos de texto, ayudándote a depurar, corregir y mejorar el código u otros documentos de texto. Esto permite que Claude interactúe directamente con tus archivos, proporcionando asistencia operativa práctica en lugar de solo sugerencias.

### Preparación antes de usar las herramientas de edición de texto

Selecciona modelos compatibles. Las herramientas de edición de texto de Anthropic son compatibles con los siguientes modelos de Claude:

* **Modelos de la serie Claude 4** (`claude-opus-4-20250514`, `claude-sonnet-4-20250514`): `text_editor_20250429`
* **Claude 3.7 Sonnet** (`claude-3-7-sonnet-20250219`): `text_editor_20250124`
* **Claude 3.5 Sonnet** (`claude-3-5-sonnet-20241022`): `text_editor_20241022`

<Warning>
  Los modelos Claude 4 usan una nueva herramienta de edición de texto que no es compatible con versiones anteriores. Asegúrate de usar el tipo y nombre de herramienta correctos.
</Warning>

### Configuración de herramienta por modelo

| Versión del modelo     | Tipo de herramienta    | Nombre de la herramienta      | Funciones admitidas                    |
| ---------------------- | ---------------------- | ----------------------------- | -------------------------------------- |
| Claude 4 (Opus/Sonnet) | `text_editor_20250429` | `str_replace_based_edit_tool` | view, str\_replace, create             |
| Claude 3.7 Sonnet      | `text_editor_20250124` | `str_replace_editor`          | view, str\_replace, create, undo\_edit |
| Claude 3.5 Sonnet      | `text_editor_20241022` | `str_replace_editor`          | view, str\_replace, create, undo\_edit |

<Tip>
  **Cambio importante:** El modelo Claude 4 ya no admite el comando `undo_edit`. Elimina cualquier dependencia de esta funcionalidad en tu código.
</Tip>

### Evaluación de casos de uso

Estos son algunos escenarios típicos para usar las herramientas de edición de texto:

* Depuración de código: Ayuda a identificar y corregir problemas en el código, desde errores de sintaxis hasta problemas lógicos.
* Refactorización de código: Mejora la estructura, legibilidad y rendimiento del código mediante ediciones específicas.
* Generación de documentación: Añade docstrings, comentarios o archivos README a tu base de código.
* Creación de pruebas: Crea pruebas unitarias basadas en la comprensión de la implementación.

### Uso de las herramientas de edición de texto

Proporciona a Claude las herramientas de edición de texto (denominadas `str_replace_editor`) a través de la API de Messages. Debes instalar el paquete `anthropic`:

```shell theme={null}
pip install anthropic
```

**Ejemplos de invocación:**

<CodeGroup>
  ```python Python-Claude 4 theme={null}
  import anthropic

  client = anthropic.Anthropic(
      api_key="sk-***", # Replace with the key generated on AiHubMix
      base_url="https://aihubmix.com"
  )

  response = client.messages.create(
      model="claude-sonnet-4-20250514",  # or claude-opus-4-20250514
      max_tokens=1024,
      tools=[
          {
              "type": "text_editor_20250429",
              "name": "str_replace_based_edit_tool"
          }
      ],
      messages=[
          {
              "role": "user", 
              "content": "There's a syntax error in my primes.py file. Can you help me fix it?"
          }
      ]
  )

  print("Response content:")
  for message in response.content:
      print(message.text)
  ```

  ```py Python-Claude 3.7 theme={null}
  import anthropic

  client = anthropic.Anthropic(
      api_key="sk-***", # Replace with the key generated on AiHubMix
      base_url="https://aihubmix.com"
  )

  response = client.messages.create(
      model="claude-3-7-sonnet-20250219",
      max_tokens=1024,
      tools=[
          {
              "type": "text_editor_20250124",
              "name": "str_replace_editor"
          }
      ],
      messages=[
          {
              "role": "user", 
              "content": "There's a syntax error in my primes.py file. Can you help me fix it?"
          }
      ]
  )

  print("Response content:")
  for message in response.content:
      print(message.text)
  ```

  ```shell Curl-Claude 4 theme={null}
  curl -X POST https://aihubmix.com/v1/messages \
    -H "Content-Type: application/json" \
    -H "x-api-key: xxx" \
    -H "anthropic-version: 2023-06-01" \
    -d '{
      "model": "claude-sonnet-4-20250514",
      "max_tokens": 1024,
      "tools": [
        {
          "type": "text_editor_20250429",
          "name": "str_replace_based_edit_tool"
        }
      ],
      "messages": [
        {
          "role": "user",
          "content": "There'\''s a syntax error in my primes.py file. Can you help me fix it?"
        }
      ]
    }'
  ```

  ```shell Curl-Claude 3.7 theme={null}
  curl -X POST https://aihubmix.com/v1/messages \
    -H "Content-Type: application/json" \
    -H "x-api-key: xxx" \
    -H "anthropic-version: 2023-06-01" \
    -d '{
      "model": "claude-3-7-sonnet-20250219",
      "max_tokens": 1024,
      "tools": [
        {
          "type": "text_editor_20250124",
          "name": "str_replace_editor"
        }
      ],
      "messages": [
        {
          "role": "user",
          "content": "There'\''s a syntax error in my primes.py file. Can you help me fix it?"
        }
      ]
    }'
  ```
</CodeGroup>

### Migración a Claude 4 (herramientas de edición de texto)

Si estás migrando de Claude 3.7 Sonnet a los modelos Claude 4, ten en cuenta los siguientes cambios:

#### Actualizar la configuración de la herramienta

```py python theme={null}
# Claude 3.7 Sonnet
tools=[
    {
        "type": "text_editor_20250124",
        "name": "str_replace_editor"
    }
]

# Claude 4 (Opus/Sonnet)
tools=[
    {
        "type": "text_editor_20250429",
        "name": "str_replace_based_edit_tool"
    }
]
```

#### Eliminar funciones no admitidas

* **`undo_edit command`**: El modelo Claude 4 ya no admite la funcionalidad de deshacer edición.
* Elimina de tu código cualquier lógica que dependa de `undo_edit`.

Ejemplo de respuesta:

```json theme={null}
{
  "id": "msg_bdrk_012xyNaFCQg4zsVcTk5VkDAe",
  "type": "message",
  "role": "assistant",
  "content": [
    {
      "type": "text",
      "text": "I'd be happy to help you fix the syntax error in your `primes.py` file. First, let me take a look at the file to identify the issue."
    },
    {
      "type": "tool_use",
      "text": "",
      "id": "toolu_bdrk_01P6jQG6suDSsDjzugqGVHWC",
      "name": "str_replace_based_edit_tool",
      "input": {
        "command": "view",
        "path": "/repo/primes.py"
      }
    }
  ],
  "model": "claude-sonnet-4-20250514",
  "stop_reason": "tool_use",
  "usage": {
    "input_tokens": 1042,
    "output_tokens": 115
  }
}
```

***

Última actualización: 2026-06-01
