Proxy de la API de Claude

Usa los modelos Claude con Claude Code, el SDK de Anthropic o cualquier herramienta compatible con OpenAI.

BASE URLhttps://api.apivai.com

APIVAI ofrece los modelos Claude en dos formatos. Elige el que espera tu herramienta: confundirlos es la causa más común de errores 404.

FormatoBase URLEndpointEncabezado de autenticaciónLo usan
Nativo de Anthropichttps://api.apivai.com/v1/messagesx-api-keyClaude Code, Anthropic SDK
Compatible con OpenAIhttps://api.apivai.com/v1/chat/completionsAuthorization: BearerCursor, Cline, Aider, OpenAI SDK

El SDK de Anthropic y Claude Code añaden /v1/messages por su cuenta, así que su base URL no debe terminar en /v1. Las herramientas al estilo de OpenAI necesitan /v1 exactamente una vez.

Claude Code

macOS / Linux

export ANTHROPIC_BASE_URL="https://api.apivai.com" export ANTHROPIC_AUTH_TOKEN="YOUR_APIVAI_API_KEY" claude

Windows PowerShell

$env:ANTHROPIC_BASE_URL="https://api.apivai.com" $env:ANTHROPIC_AUTH_TOKEN="YOUR_APIVAI_API_KEY" claude

Empieza con un prompt corto para confirmar la conexión antes de lanzar una sesión larga de agente.

Anthropic SDK

Python

import anthropic client = anthropic.Anthropic( api_key="YOUR_APIVAI_API_KEY", base_url="https://api.apivai.com", ) message = client.messages.create( model="YOUR_MODEL_NAME", max_tokens=1024, messages=[{"role": "user", "content": "Hello!"}], ) print(message.content[0].text)

Node.js

import Anthropic from "@anthropic-ai/sdk"; const client = new Anthropic({ apiKey: process.env.APIVAI_API_KEY, baseURL: "https://api.apivai.com", }); const message = await client.messages.create({ model: "YOUR_MODEL_NAME", max_tokens: 1024, messages: [{ role: "user", content: "Hello!" }], }); // message.content is an array of content blocks console.log(message.content.map((b) => (b.type === "text" ? b.text : "")).join(""));

cURL (Messages API)

curl https://api.apivai.com/v1/messages \ -H "x-api-key: YOUR_APIVAI_API_KEY" \ -H "anthropic-version: 2023-06-01" \ -H "Content-Type: application/json" \ -d '{ "model": "YOUR_MODEL_NAME", "max_tokens": 1024, "messages": [{"role": "user", "content": "Hello!"}] }'

Añade "stream": true al cuerpo para recibir la respuesta como server-sent events.

Claude con el formato de OpenAI

Las herramientas que solo aceptan un proveedor al estilo de OpenAI también pueden usar los modelos Claude: apúntalas a la base URL con /v1 y pasa un ID de modelo de Claude.

curl https://api.apivai.com/v1/chat/completions \ -H "Authorization: Bearer YOUR_APIVAI_API_KEY" \ -H "Content-Type: application/json" \ -d '{ "model": "YOUR_MODEL_NAME", "messages": [{"role": "user", "content": "Hello!"}] }'

Errores comunes

ErrorCausa habitual
401Falta la clave, tiene un formato incorrecto o el proceso que lanzó la herramienta no la ve.
404La base URL tiene /v1 donde no debe, le falta o lo tiene dos veces.
model_not_foundEl modelo configurado no aparece en la respuesta actual de GET /v1/models.