Documentación de la API compatible con OpenAI

GPT, Codex, DeepSeek y GLM con una sola API.

Model.sale ofrece una base URL compatible con OpenAI, la que ya conoces. Mantén tu clave en el servidor, elige un identificador de modelo activo e inspecciona el ID de solicitud y el uso que devuelve cada llamada.

Compatible con OpenAIUsa Responses o Chat Completions desde un SDK de OpenAI. El identificador del modelo no cambia de extremo a extremo.
CodexConecta Codex CLI, la app o VS Code con el protocolo Responses y elige un modelo activo.
DeepSeek y GLMLlama a identificadores de modelos abiertos con Chat Completions y streaming SSE opcional.
1. AutentícateEnvía Authorization: Bearer ms_live_… Las claves se muestran una sola vez y se pueden revocar en el panel.
2. Añade saldoDeposita al menos 5 US$. Los fondos se retienen antes del envío y se liquidan según el uso reportado.
3. Llama a un modeloUsa un modelo de GET /v1/models. Una solicitud nunca se redirige en silencio a otro modelo.

Endpoints

MétodoRutaFinalidad
GET/v1/modelsModelos disponibles
GET/v1/models/{id}Un modelo disponible (models.retrieve de OpenAI)
GET/v1/catalogRegistro completo con precios y estado en vivo
POST/v1/responsesResponses, JSON y SSE (GPT/Codex)
POST/v1/chat/completionsChat Completions, JSON y SSE (GPT/GLM/DeepSeek)

Autenticación

Envía la clave como Authorization: Bearer ms_live_… (SDK de OpenAI, Codex) o x-api-key: ms_live_… (SDK de Anthropic). Las apps de navegador pueden llamar a la API directamente: CORS está habilitado para /v1/* sin cookies; entrega una clave solo a un navegador que controles.

Solicitud mínima

Sustituye el modelo por un identificador devuelto por GET /v1/models.

curl https://api.model.sale/v1/responses \
  -H "Authorization: Bearer $MODEL_SALE_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"model":"gpt-5.5","input":"Reply exactly OK"}'

Streaming

Define stream: true. Los streams de Responses terminan con un evento de respuesta final; los de Chat Completions terminan con [DONE]. Cada respuesta incluye el encabezado x-model-sale-request-id.

Errores y límites

Los errores usan el formato de OpenAI {error:{message,type,param,code}}. type es la categoría y code el motivo concreto.

Estadotypecode habitualQué hacer
400invalid_request_errorinvalid_json, model_requiredCorrige el cuerpo de la solicitud; el mensaje indica el problema.
401authentication_errorinvalid_api_keyRevisa la clave o crea una nueva en el panel.
402insufficient_quotainsufficient_balanceRecarga en Facturación y vuelve a intentarlo.
403permission_errormodel_not_allowed, ip_not_allowedAjusta las restricciones de modelo o IP de la clave.
404not_found_errormodel_not_foundUsa un identificador de GET /v1/models.
429rate_limit_errorrate_limit_exceededEspera los segundos de Retry-After o sube los límites de la clave.
502/503server_errorupstream_error, model_unavailableReintenta con retroceso; las solicitudes fallidas no se cobran.

Todos los modelos →

Tu primera solicitud en menos de un minuto.

Crea una clave, recarga desde 5 US$ y cambia la base URL. Sin suscripción ni cargos ocultos.

Obtén tu API keyLeer la documentación