API Messages
Llama a POST /v1/messages en OneProvider con el formato nativo de Anthropic: prompts de sistema, herramientas, imágenes y caché de prompts funcionan.
Chat completions nativo de Anthropic. Forma de solicitud y respuesta 100 % idéntica; tool_choice es la única capa de normalización.
Todos los modelos, capacidades y precios Índice de la documentación para agentes de IA:https://oneprovider.dev/docs/llms.txt Solicitud
httpPOST https://api.oneprovider.dev/v1/messages
x-api-key: sk-...
anthropic-version: 2023-06-01
content-type: application/json
{
"model": "claude-sonnet-5-5",
"max_tokens": 1024,
"system": "You are a concise assistant.",
"messages": [
{"role": "user", "content": "Why is the sky blue?"}
]
} Cuerpo de la solicitud
| Campo | Tipo | Obligatorio | Notas |
|---|---|---|---|
model | string | sí | Uno de los ID de modelo compatibles (lista permitida de Claude en /v1/messages) |
messages | array | sí | pares {role, content} |
max_tokens | int | sí | Tope estricto de salida |
system | string | no | Prompt del sistema |
temperature | 0.0–1.0 | no | |
top_p | 0.0–1.0 | no | |
top_k | int | no | |
stop_sequences | array | no | |
stream | bool | no | Consulta Streaming |
tools | array | no | Consulta Uso de herramientas |
tool_choice | object | no | Normalizado; consulta la página de herramientas |
Caché de prompts
Marca hasta cuatro puntos de caché con cache_control: {"type": "ephemeral"} en bloques de texto o de sistema. Los tokens en caché se facturan al 10 % de la tarifa normal de entrada en la mayoría de los modelos (y la respuesta indica cache_read_input_tokens en usage).
{
"model": "claude-sonnet-5-5",
"max_tokens": 1024,
"system": [
{
"type": "text",
"text": "Long stable system prompt that should be cached...",
"cache_control": {"type": "ephemeral"}
}
],
"messages": [{"role": "user", "content": "Question 1"}]
} Respuesta
json{
"id": "msg_01XYZ...",
"type": "message",
"role": "assistant",
"model": "claude-sonnet-5-5",
"content": [
{"type": "text", "text": "Rayleigh scattering — short wavelengths..."}
],
"stop_reason": "end_turn",
"usage": {
"input_tokens": 48,
"output_tokens": 92,
"cache_creation_input_tokens": 0,
"cache_read_input_tokens": 0
}
} Compatibilidad con Anthropic La forma de la solicitud y de la respuesta es compatible byte a byte con la Messages API de Anthropic. Si tu código actual llama a api.anthropic.com, el único cambio necesario es base_url. Respuestas rápidas
¿Qué base URL uso?
Claude Code y los SDK de Anthropic usan https://api.oneprovider.dev. Los SDK de OpenAI y los clientes compatibles con OpenAI usan https://api.oneprovider.dev/v1. Una misma clave funciona con ambas; la lista de modelos está en la página de modelos y las tarifas, en la página de precios .
¿Cómo me autentico?
Envía la clave sk-… tal cual en x-api-key o en Authorization: Bearer: en uno de los dos, nunca en ambos. Guarda la clave en una variable de entorno, no en un archivo que se suba al repositorio. Más sobre la autenticación .
¿Dónde obtengo una clave?
Abre tu panel en el bot de Telegram @oneprovider_robot o en app.oneprovider.dev, recarga el saldo y pulsa “Emitir una clave”. Cada clave puede tener su propio límite de gasto. Panel y claves de API .
¿Qué significan 401, 404 y 429?
401: falta la clave, está mal escrita o se envió en un encabezado equivocado; pega la clave completa, sin comillas ni espacios. 404: casi siempre es una base URL incorrecta, por ejemplo con /v1 ausente o duplicado. 429 con “Insufficient balance”: se agotó el saldo del panel o el límite de gasto de la clave, así que recarga en lugar de reintentar; cualquier otro 429 es un límite de frecuencia, así que espera según Retry-After. Detalles: códigos de error y solución de problemas .
¿Por qué se cortan o se reinician los streams?
Las VPN y los proxies VLESS suelen almacenar SSE en búfer o romper la negociación de HTTP/2. OneProvider no tiene restricciones regionales y no almacena los streams en búfer: desactiva el proxy y reintenta.
¿Dónde pregunto si esto no basta?
Escribe a @Oneproviderhelpbot en Telegram o abre “Soporte” en el panel web, con el código de estado HTTP y el mensaje de error exacto. Cómo funciona el soporte .
Última actualización: 2026-11-08 ¿Encontraste un error? @Oneproviderhelpbot