Guía de integración
Apunta el base_url a Y-API y deja el resto de tu código como está. Los ejemplos de abajo funcionan tal cual se copian, y los 47 modelos comparten el mismo patrón.
Paso 1
Configuración básica
Sustituye estos tres elementos en cualquier SDK compatible con OpenAI. El api_key lo obtienes en la página «Claves de API» de la consola; el model, con cualquier ID de «Modelos disponibles».
- base_url
- https://api.y-api.bestvirtualgoods.com/v1
- api_key
- sk-... (créala en la consola)
- model
- deepseek/deepseek-v4-flash
¿Estás escribiendo un agente o generando el código de un cliente? La especificación OpenAPI 3.1, legible por máquinas, recoge los tres endpoints que existen aquí, todos los campos de petición y respuesta, y qué fallos reintentan los SDK por su cuenta.
El catálogo también se publica en JSON, y leerlo no requiere clave: cada ID de modelo, su proveedor y los dos precios, el de crédito y el que pagas de verdad. El endpoint GET /v1/models de la pasarela sí exige clave; este archivo es su equivalente sin autenticación, actualizado a la última compilación.
Paso 2
Haz tu primera petición
Los tres fragmentos son equivalentes: copia el que ya estés usando.
curl https://api.y-api.bestvirtualgoods.com/v1/chat/completions \
-H "Authorization: Bearer $YAPI_KEY" \
-H "Content-Type: application/json" \
-d '{
"model": "deepseek/deepseek-v4-flash",
"messages": [{"role": "user", "content": "¡Hola!"}]
}'import os
from openai import OpenAI
client = OpenAI(
base_url="https://api.y-api.bestvirtualgoods.com/v1",
api_key=os.environ["YAPI_KEY"], # clave creada en la consola
)
response = client.chat.completions.create(
model="deepseek/deepseek-v4-flash",
messages=[{"role": "user", "content": "¡Hola!"}],
)
print(response.choices[0].message.content)import OpenAI from 'openai'
const client = new OpenAI({
baseURL: 'https://api.y-api.bestvirtualgoods.com/v1',
apiKey: process.env.YAPI_KEY, // clave creada en la consola
})
const response = await client.chat.completions.create({
model: 'deepseek/deepseek-v4-flash',
messages: [{ role: 'user', content: '¡Hola!' }],
})
console.log(response.choices[0].message.content)Avanzado
Streaming
Añade el parámetro stream: los fragmentos llegan en el mismo formato SSE que OpenAI, así que el cliente no necesita ningún tratamiento especial.
stream = client.chat.completions.create(
model="deepseek/deepseek-v4-flash",
messages=[{"role": "user", "content": "¡Hola!"}],
stream=True,
)
for chunk in stream:
print(chunk.choices[0].delta.content or "", end="")Avanzado
Cambiar de modelo
Todos los modelos comparten el mismo base_url y la misma clave: cambiar solo significa modificar el campo model. El catálogo completo está en la página de modelos.
# barato, ideal para tareas frecuentes y por lotes
client.chat.completions.create(model="deepseek/deepseek-v4-flash", messages=msgs)
# más potente, ideal para razonamiento complejo
client.chat.completions.create(model="deepseek/deepseek-v4-flash", messages=msgs)Resolución de problemas
Gestión de errores
Dos errores son los más habituales, y ambos dejan rastro en el registro de peticiones de la consola.
| Código | Significado | Qué hacer |
|---|---|---|
| 401 | SignificadoLa clave no es válida o ha sido revocada. | Qué hacerComprueba en la página «Claves de API» de la consola que la clave sigue existiendo, o crea una nueva. |
| 403 | SignificadoEl crédito de la cuenta está agotado. No es un 429, y el mensaje llega en chino: por eso buscarlo en español o en inglés no devuelve nada. | Qué hacerRecarga en https://y-api.bestvirtualgoods.com/app/billing: se recupera de inmediato, las claves siguen siendo válidas y no hay que cambiar código. |
No deduzcas la causa a partir del código de estado: de los 7 códigos que devuelve esta pasarela, 5 significan algo distinto de lo que dice el número, y los SDK oficiales reintentan 2 de ellos dos veces en silencio antes de que tu programa los vea. La referencia de códigos de error los recoge todos, con el mensaje que devuelve cada uno.
Todos los códigos de error, medidos uno a uno →¿Aún no tienes clave?
Inicia sesión con Google o GitHub: tu cuenta se abre automáticamente con una clave predeterminada.