Inicio rápido
La plataforma ofrece una API unificada compatible con OpenAI — una clave API para acceder a Claude, GPT, Gemini y otros modelos líderes. Gemini se sirve a través del endpoint compatible con OpenAI. El código existente de OpenAI solo necesita cambiar base_url.
| Método | Ideal para |
|---|---|
| SDK de OpenAI | Código OpenAI existente, solo cambia base_url — cero cambios |
| HTTP directo | Cualquier lenguaje, sin dependencias, control total de la solicitud |
| Clientes de terceros | Claude Code, Claude Desktop, QClaw, WorkBuddy, etc. — ver Integraciones |
Paso 1: Obtener una clave API
Inicia sesión en la consola, ve a Claves API y haz clic en Crear clave. La clave se muestra solo una vez — cópiala y guárdala inmediatamente.
export HY_API_KEY="sk-hy-xxxxxxxxxxxx"Recomendamos inyectar la clave mediante variables de entorno para evitar incrustarla en el código fuente.
Paso 2: Usar el SDK de OpenAI
Instala el SDK oficial de OpenAI y apunta base_url / baseURL a esta plataforma. Usa los IDs de modelo de la plataforma directamente.
pip install openaiimport os
from openai import OpenAI
client = OpenAI(
base_url="https://apiclaw.cc/v1",
api_key=os.environ["HY_API_KEY"],
)
completion = client.chat.completions.create(
model="claude-sonnet-4-6",
messages=[{"role": "user", "content": "Hello, introduce yourself"}],
)
print(completion.choices[0].message.content)Paso 3: Solicitud HTTP directa
No se necesita SDK — solo envía una solicitud POST estándar a /v1/chat/completions.
curl -X POST https://apiclaw.cc/v1/chat/completions \
-H "Authorization: Bearer $HY_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"model": "claude-sonnet-4-6",
"messages": [
{ "role": "user", "content": "Hello, introduce yourself" }
]
}'Streaming
Agrega stream=True para cambiar a salida Server-Sent Events — ideal para texto largo e interacciones en tiempo real.
import os
from openai import OpenAI
client = OpenAI(
base_url="https://apiclaw.cc/v1",
api_key=os.environ["HY_API_KEY"],
)
with client.chat.completions.stream(
model="claude-sonnet-4-6",
messages=[{"role": "user", "content": "Write me a short poem about spring"}],
) as stream:
for text in stream.text_stream:
print(text, end="", flush=True)URL base
Diferentes formatos de API usan diferentes prefijos. Para SDKs compatibles con OpenAI, configura a /v1.
Funciona con SDK OpenAI, LangChain, LiteLLM y otras herramientas del ecosistema. Los modelos Gemini también usan esta ruta.
Para llamadas nativas a la API Messages del SDK de Anthropic.
Autenticación
Las claves API de la plataforma son emitidas por la consola. Diferentes endpoints siguen el formato de encabezado estándar de cada proveedor.
| Tipo de API | Encabezado | Notas |
|---|---|---|
| Compatible con OpenAI | Authorization: Bearer {API_KEY} | Formato predeterminado del SDK de OpenAI, token Bearer |
| Nativo de Claude | x-api-key: {API_KEY} | Predeterminado del SDK de Anthropic, sin prefijo Bearer |
Solución de errores comunes
Consulta la tabla siguiente cuando encuentres problemas.
| Código | Causa común | Solución |
|---|---|---|
| 401 Unauthorized | Clave API ausente o inválida | Regenera la clave API en la consola, verifica que el formato del encabezado Authorization sea Bearer <key>. |
| 403 Forbidden | La clave no tiene acceso a este modelo | Verifica los permisos de la clave API, o concede acceso al modelo en la página de Gestión de Modelos. |
| 404 Model Not Found | ID de modelo mal escrito o no disponible | Verifica el ID del modelo y su disponibilidad en la página de Gestión de Modelos. |
| 429 Rate Limit | Frecuencia o concurrencia de solicitudes excedida | Reduce la frecuencia de solicitudes o contacta al soporte para aumentar la cuota. Considera agregar retroceso exponencial. |
| 500 / 502 | Error temporal del servicio de modelo upstream | Generalmente transitorio — reintenta en breve. Si persiste, envía un ticket de soporte. |

