Saltar al contenido

Anthropic SDK

Llame a los modelos Claude a través de HopBase con el SDK de Anthropic.

Mantenga la estructura de la Anthropic Messages API y reemplace únicamente el Base URL, la clave del plan Claude y el ID del modelo.

ElementoValor
Base URLhttps://api.hop-base.com sin /v1
Variable de entorno de la claveHOPBASE_CLAUDE_API_KEY
ProtocoloAnthropic Messages: POST /v1/messages; también POST /v1/messages/count_tokens
ID del modeloUtilice un ID devuelto por GET /v1/models para la clave del plan Claude

Instale y envíe una solicitud mínima

python -m pip install anthropic
import os
from anthropic import Anthropic

client = Anthropic(
    base_url="https://api.hop-base.com",
    api_key=os.environ["HOPBASE_CLAUDE_API_KEY"],
)

msg = client.messages.create(
    model="claude-sonnet-5",
    max_tokens=1024,
    messages=[{"role": "user", "content": "Hola"}],
)
print(msg.content[0].text)
Qué clave de grupo usar.

Use una clave del grupo Claude Max (oficial, cuota completa) o Claude Max (oficial, cuota completa) - Oferta limitada. El grupo Claude Max (ccmax) es solo para el cliente Claude Code; las llamadas por SDK / API se rechazan.

No configure una clave del plan Claude como OpenAI Compatible. Mantenga la autenticación nativa de Anthropic del SDK y la estructura de solicitud de la Messages API. Llamar a un endpoint del protocolo OpenAI con una clave Claude devuelve 404.

Leer el cargo de una solicitud

Una solicitud facturada sin streaming devuelve en el encabezado de respuesta X-HopBase-Cost-USD el importe en USD que se descuenta realmente de su saldo, en X-HopBase-Cost el mismo cargo en CNY y en X-HopBase-Currency la moneda de X-HopBase-Cost (siempre CNY). La respuesta también incluye los mismos cost, cost_usd y currency en usage, y el SDK los conserva como campos adicionales. Las respuestas en streaming no llevan ninguno y el usage de message_delta no cambia; consulte el cargo en Uso de la consola. Las reglas completas están en Cargos.

raw = client.messages.with_raw_response.create(
    model="claude-sonnet-5",
    max_tokens=1024,
    messages=[{"role": "user", "content": "Responde solo con ok"}],
)
print(raw.headers.get("x-hopbase-cost"), raw.headers.get("x-hopbase-cost-usd"), raw.headers.get("x-hopbase-currency"))
msg = raw.parse()  # Mismo valor que sin with_raw_response
print(msg.usage.cost, msg.usage.cost_usd, msg.usage.currency)  # Campos adicionales, mismos valores que los encabezados

Parámetros de solicitud admitidos

Esta tabla solo incluye lo que el gateway completa o trata de forma especial. Los demás campos de la Messages API (system, tools, thinking, temperature, etc.) se reenvían sin cambios y siguen los límites oficiales de Anthropic. Los límites de contexto y salida de cada modelo están en la lista de modelos.

Parámetro / cabeceraObligatorioTipo y límitesPredeterminadoDescripción
x-api-key o Authorization: BearerObligatorioUna clave del plan Claude que empieza por sk-—Se aceptan ambas cabeceras; si falta la clave devuelve 401 missing_api_key y si el formato es incorrecto, 401 invalid_api_key
modelObligatoriostring, un ID de modelo del grupo de la clave actual—Un modelo fuera del grupo devuelve 404 model_not_found
max_tokensOpcionalinteger; sin tope en el gateway, el máximo sigue el límite oficial del modelo4096La API oficial lo exige; si se omite, HopBase lo completa con 4096, así que una salida larga se corta en 4096 tokens (stop_reason: "max_tokens"). Indíquelo explícitamente
messagesObligatorioarray en el formato oficial de Anthropic—Se reenvía sin cambios
streamOpcionalbooleanfalsetrue devuelve el flujo de eventos SSE de Anthropic
anthropic-version / anthropic-betaOpcionalcabeceras string—Los SDK las añaden automáticamente; se reenvían sin cambios

El cuerpo completo de la solicitud tiene un límite de 60 MB; si lo supera, devuelve 413.

Próximos pasos