Referencia de la API
apikey.sh habla el protocolo de OpenAI. Cualquier SDK, framework o herramienta que ya funcione con OpenAI funciona aquí cambiando base_url.Inicio rápido
Crea una key en el panel, guárdala en una variable de entorno y apunta la base URL:from openai import OpenAI
client = OpenAI(
api_key="sk-ak-...", # your key from apikey.sh
base_url="https://apikey.sh/v1", # change only this line
)
resp = client.chat.completions.create(
model="claude-sonnet-5",
messages=[{"role": "user", "content": "Hello!"}],
)
print(resp.choices[0].message.content)Base URL
La misma API key funciona en todos los dominios de abajo: elige el que prefieras.El SDK de Anthropic usa la base URL sin /v1 (por ejemplo https://apikey.sh).
https://apikey.sh/v1activohttps://api.onie.net/v1activoAutenticación
Envía tu key en una cabecera:
Authorization: Bearer sk-ak-... # or, with the Anthropic SDK: x-api-key: sk-ak-...La key se muestra una sola vez al crearla. Si la pierdes, crea otra y revoca la anterior: la revocación es inmediata.
Endpoints
| POST | /v1/chat/completions | Generar completions (admite SSE streaming y tool calling) |
| POST | /v1/embeddings | Crear embeddings para RAG y búsqueda semántica |
| POST | /v1/images/generations | Generar imágenes (modelos gpt-image-*) |
| GET | /v1/models | Listar los modelos disponibles para la key actual |
Streaming
Añade stream: true para recibir tokens en tiempo real por SSE:
stream = client.chat.completions.create(
model="claude-sonnet-5",
messages=[{"role": "user", "content": "Write a short poem"}],
stream=True,
)
for chunk in stream:
print(chunk.choices[0].delta.content or "", end="")Prompt caching
En los modelos compatibles (la línea GPT-5.x), el prefijo repetido de tu prompt se cachea automáticamente y se cobra a tarifa de caché: alrededor de un 90 % más barato que los tokens nuevos. No hay que cambiar nada en tu código; puedes ver los tokens cacheados en Uso, dentro del panel.Las respuestas incluyen usage.prompt_tokens_details.cached_tokens para que lo verifiques por tu cuenta.
Límites por key
Cada key puede tener su propio tope de gasto y su lista de modelos permitidos. Es la forma segura de compartir keys entre proyectos o compañeros sin que uno agote el presupuesto. Configúralo en Panel → API keys.
Códigos de error
401 | Key inválida, key revocada o cuenta suspendida |
402 | Sin crédito: recarga desde el panel |
403 | El modelo no está en la lista permitida de esta key |
429 | Límite de peticiones de la key superado |
5xx | Error del proveedor upstream: reintenta en unos segundos |