> ## 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.

# Caché de prompts

La caché de prompts es un mecanismo importante para reducir los costos de inferencia del modelo. Al cachear el contenido de los prompts procesados previamente, este puede reutilizarse en solicitudes posteriores, reduciendo cálculos redundantes, costos y mejorando la eficiencia de respuesta.

## Principio

Cuando envías una solicitud con la caché de prompts habilitada, el sistema comprueba si el prefijo del prompt ha sido cacheado en consultas recientes. Si lo encuentra, usa la caché, reduciendo el tiempo de procesamiento y los costos; de lo contrario, procesa el prompt completo y cachea el prefijo después de que comience la respuesta. Esto es especialmente útil en los siguientes escenarios:

* Prompts que contienen numerosos ejemplos
* Contexto o información de fondo extensa
* Tareas repetitivas con instrucciones consistentes
* Conversaciones largas de múltiples turnos

## Mecanismo principal

Los distintos proveedores de modelos tienen un soporte diferente para la caché:

### Caché automática

La caché automática no requiere configuración adicional; el sistema identifica y cachea automáticamente el contenido reutilizable, aplicable a modelos como OpenAI, DeepSeek, etc.

#### OpenAI

* Longitud mínima del prompt: 1024 tokens; el acierto es automático cuando el prefijo coincide palabra por palabra
* Modelos anteriores a GPT-5.6: la escritura en caché no tiene cargo adicional; la lectura de caché se factura al precio de lectura de caché del modelo correspondiente
* GPT-5.6 y posteriores (criterio oficial "GPT-5.6 models and later model families", actualmente gpt-5.6-sol / terra / luna): la escritura en caché se factura a 1,25x el precio de entrada y la lectura a 0,1x; se añaden los parámetros `prompt_cache_key` y puntos de corte de caché explícitos
* Uso, facturación y resolución de fallos de acierto en [Caché de prompts de GPT](/es/api/GPT-Cache)

#### Gemini

* La caché de contexto implícita está habilitada por defecto, y la caché es efectiva automáticamente sin configuración manual.
* La caché solo es efectiva cuando el contenido, el modelo y los parámetros son idénticos; cualquier diferencia se tratará como una nueva solicitud y no acertará en la caché.
* El periodo de validez de la caché lo establece el desarrollador, y también puede dejarse sin especificar. Si no se especifica, el valor predeterminado es 1 hora. No hay límites mínimos ni máximos de duración, y los costos dependen del número de tokens cacheados y de la duración de la caché.

#### DeepSeek / Grok / Moonshot / Groq

* Costo: Escribir en la caché es gratis o al mismo precio; leer de la caché cuesta menos que el precio original

### Caché explícita en modelos Claude

* Activación mediante `cache_control`: campo de nivel superior del cuerpo de la solicitud para un punto de corte automático (que se desplaza hacia adelante con la conversación), o punto de corte a nivel de bloque de contenido para un control preciso de la posición de la caché
* Compatible con todos los modelos Claude activos; escritura en caché a 1,25x en el tramo de 5 minutos, 2x en el de 1 hora y lectura a 0,1x, con proporciones de precio unificadas en toda la gama
* Aplicable a los modelos Anthropic Claude

<Note>
  Claude establece un umbral mínimo de tokens que se pueden almacenar en caché según el modelo (512 / 1.024 / 2.048 / 4.096, y no proporcional a la versión): por ejemplo, Claude Opus 4.8 es 1.024, Claude Opus 4.7 es 2.048, Claude Opus 4.6 / 4.5 y Claude Haiku 4.5 son 4.096, y Claude Fable 5 es 512. Un prefijo por debajo del umbral no se escribe en caché aunque esté marcado con `cache_control`, y tampoco genera error: cuando ocurre esto, en la respuesta `cache_creation_input_tokens` y `cache_read_input_tokens` son 0 a la vez. El desglose completo y la resolución de problemas están en [Caché de prompts de Claude](/es/api/Claude-Cache).
</Note>

#### Interfaz compatible con OpenAI

Puedes establecer puntos de corte de caché en `system`, `user` (incluidas imágenes) y `tools` usando el campo `cache_control`. Los siguientes ejemplos solo muestran la estructura clave:

**Caché de mensajes del sistema (TTL predeterminado de 5 minutos):**

```json theme={null}
{
  "model": "claude-opus-4-5",
  "messages": [
    {
      "role": "system",
      "content": [
        {"type": "text", "text": "You are an AI assistant"},
        {
          "type": "text",
          "text": "(long context)",
          "cache_control": {"type": "ephemeral"}
        }
      ]
    },
    {
      "role": "user",
      "content": [{"type": "text", "text": "Hello"}]
    }
  ]
}
```

**Caché de mensajes del usuario (TTL de 1 hora):**

```json theme={null}
{
  "model": "claude-opus-4-5",
  "messages": [
    {
      "role": "system",
      "content": [{"type": "text", "text": "You are an AI assistant"}]
    },
    {
      "role": "user",
      "content": [
        {
          "type": "text",
          "text": "(long context)",
          "cache_control": {"type": "ephemeral", "ttl": "1h"}
        },
        {"type": "text", "text": "Hello"}
      ]
    }
  ]
}
```

**Caché de mensajes con imagen:**

```json theme={null}
{
  "role": "user",
  "content": [
    {
      "type": "image_url",
      "image_url": {"detail": "auto", "url": "data:image/jpeg;base64,/9j/4AAQ..."},
      "cache_control": {"type": "ephemeral"}
    },
    {"type": "text", "text": "What's this?"}
  ]
}
```

**Caché de la definición de herramientas:**

Coloca `cache_control` en el nivel superior del objeto de la herramienta (al mismo nivel que `type` y `function`):

```json theme={null}
{
  "tools": [{
    "type": "function",
    "function": {
      "name": "get_weather",
      "description": "Get current weather for a location",
      "parameters": {
        "type": "object",
        "properties": {"city": {"type": "string"}},
        "required": ["city"]
      }
    },
    "cache_control": {"type": "ephemeral", "ttl": "1h"}
  }]
}
```

#### Interfaz compatible con Anthropic

<CodeGroup>
  ```shellscript cURL theme={null}
  curl https://aihubmix.com/v1/messages \
    -H "content-type: application/json" \
    -H "x-api-key: $AIHUBMIX_API_KEY" \
    -H "anthropic-version: 2023-06-01" \
    -d '{
      "model": "claude-opus-4-6",
      "max_tokens": 1024,
      "system": [
        {
          "type": "text",
          "text": "You are an AI assistant tasked with analyzing literary works. Your goal is to provide insightful commentary on themes, characters, and writing style.\n"
        },
        {
          "type": "text",
          "text": "<the entire contents of Pride and Prejudice>",
          "cache_control": {"type": "ephemeral"}
        }
      ],
      "messages": [
        {
          "role": "user",
          "content": "Analyze the major themes in Pride and Prejudice."
        }
      ]
    }'

  # Call the model again with the same input until the caching checkpoint
  curl https://aihubmix.com/v1/messages # rest of input
  ```

  ```python Python theme={null}
  import anthropic

  client = Anthropic(
    api_key="<AIHUBMIX_API_KEY>",  
    base_url="https://aihubmix.com"
  )

  params = {
      "model": "claude-opus-4-6",
      "max_tokens": 1024,
      "system": [
          {
              "type": "text",
              "text": "You are an AI assistant tasked with analyzing literary works. Your goal is to provide insightful commentary on themes, characters, and writing style.\n",
          },
          {
              "type": "text",
              "text": "<the entire contents of 'Pride and Prejudice'>",
              "cache_control": {"type": "ephemeral"},
          },
      ],
      "messages": [
          {
              "role": "user",
              "content": "Analyze the major themes in 'Pride and Prejudice'.",
          }
      ],
  }
  response = client.messages.create(**params)
  print(response.usage.model_dump_json())

  # Call the model again with the same input until the caching checkpoint
  response = client.messages.create(**params)
  print(response.usage.model_dump_json())
  ```
</CodeGroup>

#### Duración de la caché

* Predeterminado: 5 minutos
* Opcional: 1 hora ("ttl": "1h")

> Para más información, consulta: [Caché de prompts de Claude](https://docs.aihubmix.com/en/blogs/aihubmix-openai-upgrade-claude#2-prompt-caching)

## Recomendaciones de uso

1. **Mantén prefijos estables**

Coloca el contenido fijo al principio del prompt; estructura recomendada:

```text theme={null}
[System Settings / Long Text / RAG Data] 
[User Question (Variable Part)]
```

2. **Cachea textos grandes**

Prioriza cachear el siguiente contenido:

* Datos de RAG
* Textos largos
* Datos CSV / JSON
* Configuración de roles

3. **Controla el TTL**

* Sesiones cortas → 5 minutos
* Sesiones largas → 1 hora (más rentable)

4. **Reduce las escrituras en caché**

## Evita que contenido que cambia frecuentemente entre en la caché. No caches marcas de tiempo, variables introducidas por el usuario, datos que cambian con alta frecuencia, etc.

Última actualización: 2026-07-10
