Muchas personas se atascan en tres pasos la primera vez que usan la API de OpenAI: no saben dónde crear una clave, cómo recargar o qué poner en la Base URL cuando ya tienen la clave. Este artículo recorre el flujo completo con ZSQH AI Gateway y proporciona ejemplos en Python, Node.js y curl.
Este artículo trata de la facturación de API por uso, no de una suscripción a ChatGPT Plus. Son cosas distintas: Plus es una membresía para la web y la app; la API es una interfaz para programas.
1. Registra una cuenta de ZSQH
Abre ZSQH AI Gateway, haz clic en Registrarse, completa la verificación por correo e inicia sesión.
Después del registro llegas a la consola. Tres áreas son las más importantes:
- API Keys: crear y eliminar claves.
- Wallet / Recarga: consultar el saldo y añadir fondos.
- Registros de uso: inspeccionar el modelo, los tokens y el coste de cada llamada.
2. Crea una API Key
Ve a la página "API Keys" y haz clic en Crear:
- Nombre: describe el propósito con claridad, por ejemplo
openai-api-testoproduction-backend. - Cuota: empieza con un límite bajo y ajústalo cuando la integración funcione.
- Caducidad: las claves de prueba pueden fijarse en 7 o 30 días.
- Guarda y copia la clave. Las claves suelen empezar por
sk-y solo se muestran completas una vez.
No envíes claves a grupos de chat, no las pongas en capturas de pantalla ni las subas a Git. Si sospechas que hay una fuga, elimina la clave antigua y crea una nueva.
3. Recarga
En la página "Wallet", elige un método de recarga y completa el pago según las indicaciones. Cuando lleguen los fondos, el saldo aparece en la consola.
Si solo estás probando, empieza con una cantidad pequeña. Los precios unitarios varían mucho entre modelos; consulta precios de modelos para más detalles. Ejecuta la integración primero con un modelo pequeño y económico, y luego cambia a tu modelo principal.
4. Qué poner en la Base URL
El endpoint compatible con OpenAI de ZSQH es:
https://ai.zhongshangqihang.com/v1
Notas:
- Las herramientas compatibles con OpenAI, como el SDK de OpenAI, Cursor, Chatbox, LobeChat y Dify, suelen aceptar
https://ai.zhongshangqihang.com/v1. - Si una herramienta pide "API Base", "Base URL" o "Endpoint", introduce la misma dirección.
- No omitas
/v1ni añadas/chat/completions; el cliente lo añade automáticamente.
5. Prueba con curl
Primero pon la clave en una variable de entorno para evitar filtrarla a través del historial de comandos:
export OPENAI_API_KEY="sk-your-key"
export OPENAI_BASE_URL="https://ai.zhongshangqihang.com/v1"
Después haz la llamada:
curl "$OPENAI_BASE_URL/chat/completions" \
-H "Authorization: Bearer $OPENAI_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"model": "gpt-5",
"messages": [
{"role": "user", "content": "Explain what an API gateway is in one sentence"}
]
}'
Si el JSON devuelto contiene choices, tanto la clave como la Base URL funcionan. Los nombres de modelo están sujetos a lo que muestre actualmente la página de precios de modelos; un nombre incorrecto suele devolver model not found.
6. Llamadas desde Python
Instala el SDK de OpenAI:
pip install openai
Ejemplo:
import os
from openai import OpenAI
client = OpenAI(
api_key=os.environ["OPENAI_API_KEY"],
base_url="https://ai.zhongshangqihang.com/v1",
)
response = client.chat.completions.create(
model="gpt-5",
messages=[
{"role": "system", "content": "You are a concise technical assistant."},
{"role": "user", "content": "Explain what a token is"},
],
)
print(response.choices[0].message.content)
7. Llamadas desde Node.js
npm install openai
import OpenAI from "openai";
const client = new OpenAI({
apiKey: process.env.OPENAI_API_KEY,
baseURL: "https://ai.zhongshangqihang.com/v1",
});
const response = await client.chat.completions.create({
model: "gpt-5",
messages: [{ role: "user", content: "Write a JavaScript debounce function" }],
});
console.log(response.choices[0].message.content);
8. Errores comunes
| Error | Causa | Qué hacer |
|---|---|---|
401 Unauthorized |
Clave incorrecta, clave eliminada o falta Bearer | Copia la clave de nuevo y revisa las cabeceras |
404 Not Found |
Falta /v1 o ruta duplicada |
Introduce solo hasta /v1 |
model not found |
Nombre de modelo incorrecto o no habilitado | Copia el nombre de modelo de la página de precios |
insufficient quota |
Saldo insuficiente | Recarga y reintenta |
429 |
Concurrencia o límite de peticiones superado | Reduce la concurrencia y reintenta más tarde |
| Respuesta vacía | Parámetro o modelo que no admite la petición | Revisa el formato de messages y las capacidades del modelo |
9. Recomendaciones de seguridad y coste
- Una clave por persona: no compartas una única clave en un equipo; de lo contrario no podrás rastrear problemas.
- Fija cuotas: límites bajos para claves de prueba y límites basados en presupuesto para claves de producción.
- Nunca pongas claves en el código del front-end: una clave en el navegador se verá. Las llamadas del front-end deben pasar por tu propio backend.
- Usa variables de entorno o gestión de secretos en producción: no pongas claves en el código ni en Dockerfiles.
- Rota con regularidad: rota las claves importantes cada 90 días.
- Revisa los registros de uso: desglósalos por modelo, proyecto y miembro para detectar consumos anómalos.
10. ¿En qué se diferencia la API de ChatGPT Plus?
| Aspecto | ChatGPT Plus | OpenAI API |
|---|---|---|
| Cómo se usa | Chat en la web o en la app | Llamadas programáticas |
| Facturación | Suscripción fija | Pago por uso de tokens |
| Para quién | Uso diario individual | Desarrolladores, productos, equipos |
| Cuota | Límites del plan | Saldo prepago |
| ¿Se puede integrar en un producto? | No | Sí |
Si solo usas el chat para ti mismo, una suscripción es más sencilla. Si quieres conectar modelos a productos, scripts, agentes o herramientas, la API encaja mejor.
Preguntas frecuentes
¿Puedo volver a ver la clave después de crearla?
Normalmente solo se muestra completa una vez, al crearla. Si no la guardaste, elimínala y crea una nueva.
¿Puede una clave llamar a varios modelos?
Sí. Una clave es una credencial de identidad; el modelo se especifica en los parámetros de la petición. Consulta la página de precios para ver los modelos disponibles.
¿Por qué una llamada correcta no cambia mi saldo?
Puede haber un retraso, o la llamada puede haber usado créditos gratuitos o caché. Consulta los registros de uso y la factura.
¿Puedo dar la clave a un compañero?
No es recomendable. Crea una clave separada para cada compañero para poder fijar límites, auditar el uso y desactivarla.
Próximos pasos
Si aún no tienes cuenta, regístrate en ZSQH AI Gateway, crea una clave de prueba y haz tu primera petición con curl. Cuando funcione, consulta precios de modelos para elegir tu modelo principal.
Lecturas relacionadas:
