Volver al blog

API y SDKGuía

SDK de Python de Anthropic con CheapTokens: API de Messages

Instala el SDK de Python de Anthropic, apunta base_url a CheapTokens, envía una solicitud messages.create y establece max_tokens.

Por CheapTokens TeamPublicado el Actualizado el 3 min de lectura

Código Python que conecta el SDK de Anthropic con CheapTokens mediante base_url
En esta página
  1. Lo que necesitas
  2. Instala el SDK
  3. Crea el cliente
  4. Primera solicitud
  5. max_tokens es obligatorio
  6. Cambiar de modelo
  7. Siguiente paso

Si tu código ya usa el SDK de Python de Anthropic, no tienes que reescribirlo para llamar a otro modelo. CheapTokens habla la API de Messages de Anthropic, así que cambias la configuración del cliente y mantienes client.messages.create(...) tal cual. Esta guía te lleva desde una carpeta vacía hasta un script que imprime una respuesta.

Lo que necesitas#

  • Python 3.10 o superior (el requisito del SDK).
  • Una clave de API de CheapTokens. Si aún no tienes una, consulta "Qué es una clave de API y cómo guardarla de forma segura".
  • Un solo saldo cubre todos los modelos, y no hay horas pico, así que el mismo script cuesta lo mismo a cualquier hora del día.

Instala el SDK#

bash
pip install anthropic
export CHEAPTOKENS_API_KEY="your-key"

Guarda la clave en una variable de entorno, no en el archivo fuente.

Crea el cliente#

Dos ajustes difieren de una configuración predeterminada de Anthropic: la clave y base_url.

python
import os
import anthropic

client = anthropic.Anthropic(
    api_key=os.environ["CHEAPTOKENS_API_KEY"],
    base_url="https://api.cheaptokens.dev",
)

El SDK añade la ruta /v1/messages por sí mismo, así que base_url es el host sin /v1. (El endpoint estilo OpenAI, https://api.cheaptokens.dev/v1, es el que usas con el SDK de OpenAI; consulta "Tu primera solicitud a la API con CheapTokens".)

Primera solicitud#

python
message = client.messages.create(
    model="deepseek-ai/DeepSeek-V4-Flash-0731",
    max_tokens=1024,
    messages=[
        {"role": "user", "content": "Explain what a token is in two sentences."}
    ],
)

print(message.content[0].text)
print(message.stop_reason, message.usage.input_tokens, message.usage.output_tokens)

Toma el id del modelo de la documentación de CheapTokens; los ids difieren entre proveedores. Aquí usamos DeepSeek-V4-Flash: una ventana de contexto de 380K y hasta 32.768 tokens en una respuesta, lo que encaja con respuestas largas y bucles de agentes.

La respuesta está en message.content, una lista de bloques; el texto está en el primero. usage muestra cuántos tokens de entrada y salida usó la llamada, que es por lo que se te factura.

max_tokens es obligatorio#

A diferencia de la API de OpenAI, messages.create no se ejecutará sin max_tokens. Limita la longitud de la respuesta:

  • Si es demasiado bajo, la respuesta se corta. message.stop_reason pasa entonces a ser "max_tokens" en lugar de "end_turn".
  • Para DeepSeek-V4-Flash puedes llegar hasta 32.768 para respuestas largas, como archivos completos o informes.
  • Pagas por los tokens realmente generados, no por el límite que establezcas.

Si una respuesta se detiene a mitad de frase, lee "¿Por qué se detiene una respuesta de IA a mitad de frase?" para ver la explicación completa.

Cambiar de modelo#

Solo cambia la cadena model; el resto del script sigue igual. Elige según la tarea:

  • DeepSeek-V4-Flash: respuestas largas y bucles de agentes, un precio a cualquier hora, hasta 32.768 tokens de salida.
  • GLM-5.3-Flash: chat diario y llamadas de programación económicas, contexto de 390K, hasta 8.192 tokens de salida.
  • MiniMax-M2.7: trabajo de agentes y programación de bajo coste, contexto de 180K, hasta 8.192 tokens de salida.

La lista de ids disponibles la devuelve GET https://api.cheaptokens.dev/v1/models, por ejemplo zai-org/GLM-5.3-Flash y MiniMaxAI/MiniMax-M2.7.

Los precios actuales por 1M de tokens para MiniMax-M2.7 son $0.05 para entrada y $0.15 para salida. MiniMax-M2.7 es más barato que OpenRouter en total, contando entrada y salida juntas. Esto es lo que cuesta una solicitud con 2.000 tokens de entrada y 500 de salida en cada modelo, en vivo desde la lista de precios:

Modelo Costo OpenRouter
GLM-5.3-Flash $0.00006 $0.00012
DeepSeek-V4-Flash $0.00008 $0.00017
MiniMax-M2.7 $0.00018 $0.0012

2000 tokens de entrada y 500 tokens de salida en total. Los precios por 1M de tokens son actuales y cambian junto con nuestras tarifas; la columna de OpenRouter muestra precios de referencia para la misma carga de trabajo.

GLM-5.3-Flash y MiniMax-M2.7 son más baratos que OpenRouter en total, contando entrada y salida juntas.

Siguiente paso#

Crea una clave y ejecuta el script de la sección Primera solicitud. Cuando imprima una respuesta, cambia la cadena model para comparar modelos en tu propia tarea.