/v1/chat/completions
Úselo con los SDK de OpenAI, Cherry Studio, Cline, Open WebUI y la mayoría de los clientes de herramientas.
ChinaAPI ofrece a su aplicación un único endpoint compatible con OpenAI para los modelos DeepSeek, Qwen, GLM, Kimi, Doubao, además de modelos de imagen, vídeo, embedding y rerank. Conserve sus SDK, cambie solo el endpoint y gestione el uso desde un único panel.
Conexión
https://api.chinaapi.ai
https://api.chinaapi.ai/v1 y use su token de ChinaAPI como clave bearer.
Todas las solicitudes de la API usan autenticación mediante bearer token. Cree un token en el panel y envíelo en el encabezado Authorization.
Authorization: Bearer $CHINAAPI_KEY
Content-Type: application/json
Elija el formato de solicitud que ya usa su aplicación. Una única clave de ChinaAPI y Base URL funcionan con las tres familias de protocolos.
Úselo con los SDK de OpenAI, Cherry Studio, Cline, Open WebUI y la mayoría de los clientes de herramientas.
Use clientes compatibles con Gemini cuando su aplicación dependa de la estructura de solicitud de Gemini.
Enrute payloads de la Claude Messages API conservando la misma clave de gateway y los mismos controles de cuota.
ChinaAPI unifica los proveedores de modelos chinos ya publicados en el catálogo. La disponibilidad, los alias y los precios se muestran en el panel de su cuenta.
Empiece eligiendo el tipo de modelo y luego seleccione un alias de modelo disponible en el panel. Cada tipo tiene su propio formato de solicitud y sus propias dimensiones de facturación.
Generación de texto, llamadas a herramientas, salida estructurada y controles de razonamiento opcionales.
Solicitudes de texto a imagen con opciones de tamaño y calidad específicas de cada modelo.
Generación asíncrona con duración, resolución y ajustes de calidad específicos de cada modelo.
Suba audio para transcribirlo o genere voz a partir de texto.
Cree vectores para la recuperación y reordene (rerank) documentos candidatos.
La mayoría de los clientes de OpenAI funcionan tras cambiar baseURL. Use el nombre de modelo publicado en su panel de ChinaAPI.
Parámetros clave: model y messages son obligatorios. Use temperature, top_p, max_tokens y stream para controlar el comportamiento de generación. reasoning_effort puede ser low, medium, high o un valor específico del modelo, cuando el modelo de razonamiento seleccionado lo admita.
curl https://api.chinaapi.ai/v1/chat/completions \
-H "Authorization: Bearer $CHINAAPI_KEY" \
-H "Content-Type: application/json" \
-d '{
"model": "deepseek-chat",
"messages": [
{ "role": "user", "content": "Hello" }
],
"temperature": 0.7,
"max_tokens": 1024
}'
import OpenAI from "openai";
const client = new OpenAI({
apiKey: process.env.CHINAAPI_KEY,
baseURL: "https://api.chinaapi.ai/v1",
});
const result = await client.chat.completions.create({
model: "deepseek-chat",
messages: [{ role: "user", content: "Hello" }],
});
Los agentes de código acceden al gateway mediante el protocolo que ya utilizan: /v1/messages para agentes de estilo Claude, /v1/responses para Codex y /v1/chat/completions para el resto. Apunte la herramienta a ChinaAPI y sus solicitudes seguirán usando la misma clave, cuota, registros y facturación que su propio tráfico de API.
/v1/messages automáticamente a lo que usted indique, así que basta con indicar el host desnudo https://api.chinaapi.ai. El resto de herramientas de esta página esperan el sufijo /v1 escrito explícitamente. Un /v1 duplicado o ausente es la causa más común de errores 404 aquí.
POST /v1/chat/completions
Apunte el bloque model de ~/.hermes/config.yaml al gateway, o ejecute hermes model y elija Custom endpoint de forma interactiva. base_url incluye el sufijo /v1; Hermes añade /chat/completions por su cuenta.
model:
default: kimi-k2.7-code
provider: custom
base_url: https://api.chinaapi.ai/v1
api_key: <your ChinaAPI key>
POST /v1/messages
Exporte las tres variables de entorno e inicie claude como de costumbre. Las variables ANTHROPIC_DEFAULT_*_MODEL asignan los niveles internos de modelo de Claude Code a modelos de ChinaAPI, lo que permite ejecutar modelos chinos dentro de un Claude Code sin modificar.
export ANTHROPIC_BASE_URL=https://api.chinaapi.ai
export ANTHROPIC_AUTH_TOKEN=$CHINAAPI_KEY
export ANTHROPIC_DEFAULT_OPUS_MODEL=kimi-k3
export ANTHROPIC_DEFAULT_SONNET_MODEL=kimi-k2.7-code
export ANTHROPIC_DEFAULT_HAIKU_MODEL=glm-5-turbo
claude
POST /v1/responses
Codex habla el protocolo Responses, por lo que wire_api debe ser responses; dejarlo en el formato chat rompe las llamadas a herramientas. Coloque su clave en la variable de entorno indicada por env_key.
model = "deepseek-v4-flash"
model_provider = "chinaapi"
[model_providers.chinaapi]
name = "ChinaAPI"
base_url = "https://api.chinaapi.ai/v1"
wire_api = "responses"
env_key = "CHINAAPI_KEY"
POST /v1/chat/completions
Los tres usan el mismo formulario de proveedor OpenAI Compatible, campo por campo. Introduzca el ID de modelo exactamente como aparece en Consola → Modelos; estas herramientas no obtienen automáticamente la lista de modelos para proveedores personalizados.
Base URL https://api.chinaapi.ai/v1
API Key <your ChinaAPI key>
Model ID glm-5.2
POST /v1/chat/completions
Sustituya el base URL en Settings → Models → OpenAI API Key. Primero añada el nombre del modelo de ChinaAPI con Add model, y deje activados solo los modelos de ChinaAPI, porque de lo contrario Cursor enviará sus nombres de modelo integrados a la URL sustituida.
Base URL https://api.chinaapi.ai/v1
API Key <your ChinaAPI key>
Model deepseek-v4-pro
POST /v1/messages
Declare ChinaAPI como proveedor con "api": "anthropic-messages" y enumere los modelos que desee que aparezcan en el selector de sesión.
{
"models": {
"providers": {
"chinaapi": {
"baseUrl": "https://api.chinaapi.ai",
"apiKey": "<your ChinaAPI key>",
"api": "anthropic-messages",
"models": ["kimi-k3", "glm-5.2"]
}
}
}
}
POST /v1/chat/completions
Aider enruta según el prefijo del nombre del modelo, así que conserve el prefijo openai/ en el nombre del modelo aunque el modelo en sí sea chino.
export OPENAI_API_BASE=https://api.chinaapi.ai/v1
export OPENAI_API_KEY=$CHINAAPI_KEY
aider --model openai/deepseek-v4-pro
Elegir modelos: los nombres de modelo anteriores son ejemplos funcionales, no una lista fija. Abra Consola → Modelos para ver los alias habilitados en su cuenta. Para tareas de agentes, es mejor usar un modelo especializado en código en el nivel que el agente use con más frecuencia, y un modelo rápido y económico en su nivel ligero; Claude Code, por ejemplo, envía los resúmenes en segundo plano a su nivel Haiku, así que asignar ese nivel a un modelo pequeño es lo que más cuota ahorra.
Estas capacidades usan la misma Base URL y clave bearer que el chat, pero cada una tiene su propio endpoint y payload. Los ID de modelo siguientes son ejemplos funcionales; consulte Consola → Modelos para ver el catálogo de modelos más reciente antes de pasar a producción.
POST /v1/images/generations
Envíe un prompt en JSON. Lea el recurso generado desde data[0].url, o desde data[0].b64_json cuando el modelo seleccionado devuelva base64.
Parámetros clave: prompt y model son obligatorios. Use size para la resolución, n para el número de imágenes y response_format para url o b64_json. quality y style son específicos de cada modelo; los valores habituales incluyen standard, hd o auto.
curl https://api.chinaapi.ai/v1/images/generations \
-H "Authorization: Bearer $CHINAAPI_KEY" \
-H "Content-Type: application/json" \
-d '{
"model": "doubao-seedream-4-5-251128",
"prompt": "A cinematic skyline at blue hour",
"size": "1024x1024",
"response_format": "url",
"n": 1
}'
POST /v1/chat/completions
Los modelos de imagen de Gemini usan el formato de solicitud de OpenAI Chat Completions. Lea la imagen en Markdown generada desde choices[0].message.content; el payload de la imagen es una URL data:image/....
Parámetros clave: envíe el ID de modelo del catálogo, visible tras iniciar sesión, en model y el prompt de imagen en messages. No envíe este modelo a /v1/images/generations.
curl https://api.chinaapi.ai/v1/chat/completions \
-H "Authorization: Bearer $CHINAAPI_KEY" \
-H "Content-Type: application/json" \
-d '{
"model": "<GEMINI_IMAGE_MODEL>",
"messages": [
{
"role": "user",
"content": "Generate a cinematic skyline at blue hour"
}
],
"stream": false
}'
POST /v1/audio/transcriptions
Suba el audio como multipart form data; no configure manualmente el encabezado Content-Type. El texto reconocido se devuelve en el campo text.
Parámetros clave: envíe model y file como campos multipart. Use response_format con json, text o verbose_json cuando el modelo seleccionado lo admita.
curl https://api.chinaapi.ai/v1/audio/transcriptions \
-H "Authorization: Bearer $CHINAAPI_KEY" \
-F "model=qwen3-asr-flash" \
-F "file=@speech.wav" \
-F "response_format=json"
POST /v1/audio/speech
El cuerpo de la respuesta es audio binario, así que guárdelo en un archivo. alloy selecciona la voz predeterminada del modelo; un modelo también puede publicar ID de voz propios del proveedor.
Parámetros clave: use input, model y voice. Elija una salida con response_format, como mp3 o wav; speed e instructions están disponibles cuando el modelo seleccionado lo admita.
curl https://api.chinaapi.ai/v1/audio/speech \
-H "Authorization: Bearer $CHINAAPI_KEY" \
-H "Content-Type: application/json" \
-d '{
"model": "mimo-v2.5-tts",
"input": "Hello from ChinaAPI.",
"voice": "alloy",
"response_format": "mp3"
}' \
--output speech.mp3
POST /v1/video/generations
La generación de vídeo es asíncrona. Envíe la solicitud una sola vez, guarde el task_id devuelto y luego consulte GET /v1/video/generations/{task_id} hasta que la tarea tenga éxito o falle. Crear una tarea puede consumir cuota.
Parámetros clave: prompt y model inician la tarea. Use duration, width, height, fps y n cuando estén disponibles. La resolución es el control de nitidez habitual. Coloque controles específicos del proveedor, como quality, quality_level, negative_prompt o ajustes de cámara, en metadata solo cuando estén indicados para ese modelo.
curl https://api.chinaapi.ai/v1/video/generations \
-H "Authorization: Bearer $CHINAAPI_KEY" \
-H "Content-Type: application/json" \
-d '{
"model": "happyhorse-1.1-t2v",
"prompt": "A paper boat crossing a moonlit lake",
"duration": 5,
"width": 1280,
"height": 720
}'
curl https://api.chinaapi.ai/v1/video/generations/$TASK_ID \
-H "Authorization: Bearer $CHINAAPI_KEY"
POST /v1/embeddings
Envíe una cadena o un array de cadenas. Los vectores se devuelven en data[].embedding en el mismo orden que las entradas.
Parámetros clave: input acepta una única cadena o un lote. Use dimensions y encoding_format solo cuando el modelo de embedding seleccionado lo admita.
curl https://api.chinaapi.ai/v1/embeddings \
-H "Authorization: Bearer $CHINAAPI_KEY" \
-H "Content-Type: application/json" \
-d '{
"model": "text-embedding-v4",
"input": ["ChinaAPI connects Chinese AI models."]
}'
POST /v1/rerank
Clasifique documentos candidatos frente a una consulta. Lea los resultados ordenados y las puntuaciones de relevancia en results.
Parámetros clave: envíe query y documents; use top_n para limitar el número de candidatos clasificados devueltos.
curl https://api.chinaapi.ai/v1/rerank \
-H "Authorization: Bearer $CHINAAPI_KEY" \
-H "Content-Type: application/json" \
-d '{
"model": "gte-rerank-v2",
"query": "How do I call Chinese AI models?",
"documents": [
"Use one ChinaAPI Base URL and API key.",
"Install a local database."
],
"top_n": 2
}'
ChinaAPI no es solo un endpoint de reenvío. Incluye claves, usuarios, grupos, estado de los canales, registros, cuota y controles de facturación para tráfico real de producción.
Cree y rote tokens, asigne grupos y mantenga aislado el tráfico de los usuarios.
Configure varios canales upstream para que un alias de modelo siga funcionando aunque falle un proveedor.
Consulte en un solo lugar el estado de las solicitudes, el uso de tokens, el consumo de cuota y los detalles de los errores.