Llama a cualquier modelo con el SDK de OpenAI
Hyperouter habla la API de OpenAI. Cualquier SDK de OpenAI funciona en cuanto cambias dos cosas: la URL base y la clave de API. Esta guía hace una llamada de chat y una de imagen en Python y TypeScript.
1. Obtén una clave
Inicia sesión con Google o GitHub y crea una clave de API. Las claves empiezan por sk-hr-v1- y se muestran una sola vez, así que guarda la tuya en una variable de entorno:
export HYPEROUTER_API_KEY="sk-hr-v1-..."
Las solicitudes se pagan con tu saldo prepagado: abre una solicitud de recarga en el panel antes de tu primera llamada. Mantén la clave en tu servidor, nunca en código de navegador ni de móvil.
2. Apunta el SDK a Hyperouter
La URL base es https://api.hyperouter.app/v1.
import os from openai import OpenAI client = OpenAI( base_url="https://api.hyperouter.app/v1", api_key=os.environ["HYPEROUTER_API_KEY"], )
import OpenAI from "openai"; const client = new OpenAI({ baseURL: "https://api.hyperouter.app/v1", apiKey: process.env.HYPEROUTER_API_KEY, });
3. Chat
Indica un modelo con su id de Hyperouter, <provider>/<name>. Esta llamada usa Grok 4.3 de xAI:
res = client.chat.completions.create(
model="x-ai/grok-4.3",
messages=[{"role": "user", "content": "Explain idempotency in one sentence."}],
)
print(res.choices[0].message.content)
const res = await client.chat.completions.create({ model: "x-ai/grok-4.3", messages: [{ role: "user", content: "Explain idempotency in one sentence." }], }); console.log(res.choices[0].message.content);
La respuesta es el chat completion de OpenAI con dos añadidos: provider, el proveedor que atendió la solicitud, y usage.cost, su cargo en USD. Define stream: true para recibir eventos enviados por el servidor, igual que con OpenAI.
Para recurrir a otros modelos cuando fallen todos los proveedores del primero, enuméralos en models. Los SDK de OpenAI lo envían como un campo adicional del cuerpo:
res = client.chat.completions.create(
model="x-ai/grok-4.3",
messages=[{"role": "user", "content": "Hello"}],
extra_body={"models": ["x-ai/grok-4.20-0309-non-reasoning"]},
)
4. Imágenes
La API de imágenes funciona igual. Esta llamada genera una imagen con Grok Imagine:
img = client.images.generate(
model="x-ai/grok-imagine-image",
prompt="A lighthouse at dusk",
)
print(img.data[0].url)
const img = await client.images.generate({ model: "x-ai/grok-imagine-image", prompt: "A lighthouse at dusk", }); console.log(img.data?.[0]?.url);
El enlace está firmado y es válido durante 24 horas, y GET /v1/generations/{id} firma uno nuevo. qwen/qwen-image-2.0 se llama de la misma manera. En un modelo que responde de forma síncrona, una imagen que no está lista en 90 segundos devuelve 503 con el código timeout y su generation_id; Esperar el resultado explica cómo consultarla periódicamente en su lugar.
Qué sigue
GET /v1/modelsenumera todos los modelos que tu cuenta puede llamar, con sus precios y los parámetros que acepta cada uno.- La referencia de chat completions cubre el streaming, las herramientas y el objeto
providerde enrutamiento. - Reintentos e idempotencia explica cuándo es seguro reintentar.