Une passerelle pour le trafic IA de production

Utilisez une seule Base URL pour les modèles IA chinois.

ChinaAPI offre à votre application un point de terminaison unique compatible OpenAI pour DeepSeek, Qwen, GLM, Kimi, Doubao, ainsi que les modèles d’image, vidéo, embedding et rerank. Conservez vos SDK, remplacez le point de terminaison et gérez l’utilisation depuis un seul tableau de bord.

Connexion

https://api.chinaapi.ai
1 Clé API
OpenAI compatible
40+ fournisseurs
Conseil Définissez l’URL de base de votre SDK sur https://api.chinaapi.ai/v1 et utilisez votre jeton ChinaAPI comme clé bearer.

Authentification

Toutes les requêtes API utilisent l’authentification par jeton bearer. Créez un jeton dans le tableau de bord, puis envoyez-le dans l’en-tête Authorization.

HTTP headers
Authorization: Bearer $CHINAAPI_KEY
Content-Type: application/json

Protocoles pris en charge

Choisissez le format de requête déjà utilisé par votre application. Une clé ChinaAPI et une Base URL fonctionnent avec les trois familles de protocoles.

OpenAI

/v1/chat/completions

Utilisez-le avec les SDK OpenAI, Cherry Studio, Cline, Open WebUI et la plupart des clients d’outils.

Gemini

/v1beta/models/{model}:generateContent

Utilisez des clients compatibles Gemini lorsque votre application dépend de la structure de requête Gemini.

Claude

/v1/messages

Acheminez les payloads de l’API Claude Messages tout en conservant la même clé de passerelle et les mêmes contrôles de quota.

Fournisseurs de modèles pris en charge

ChinaAPI unifie les fournisseurs de modèles chinois déjà publiés dans le catalogue. La disponibilité, les alias et les prix sont affichés dans le tableau de bord de votre compte.

DeepSeek Qwen GLM Kimi Doubao MiniMax

Types de modèles pris en charge

Commencez par le type de modèle, puis choisissez un alias disponible dans le tableau de bord. Chaque type possède son propre format de requête et ses propres dimensions de facturation.

LLM

Raisonnement et chat

Génération de texte, appels d’outils, sortie structurée et contrôles de raisonnement facultatifs.

Image

Génération d’images

Requêtes texte-vers-image avec options de taille et de qualité propres au modèle.

Video

Génération vidéo

Génération asynchrone avec durée, résolution et réglages de qualité propres au modèle.

Audio

ASR et TTS

Téléversez un audio pour le transcrire ou générez une voix à partir de texte.

Embedding

Recherche et récupération

Créez des vecteurs pour la recherche et réordonnez les documents candidats.

Intégration LLM

La plupart des clients OpenAI fonctionnent après avoir modifié baseURL. Utilisez le nom du modèle publié dans votre tableau de bord ChinaAPI.

Paramètres clés : model et messages sont requis. Utilisez temperature, top_p, max_tokens et stream pour le comportement de génération. reasoning_effort peut être low, medium, high ou une valeur propre au modèle lorsque le modèle de raisonnement sélectionné le prend en charge.

curl
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
  }'
Node.js
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" }],
});

Intégration des agents de code

Les agents de code atteignent la passerelle via le protocole qu'ils parlent déjà : /v1/messages pour les agents de type Claude, /v1/responses pour Codex et /v1/chat/completions pour les autres. Pointez l'outil vers ChinaAPI et ses requêtes conservent la même clé, le même quota, les mêmes journaux et la même facturation que votre propre trafic API.

Forme de la Base URL Claude Code ajoute lui-même /v1/messages à ce que vous lui donnez : indiquez donc uniquement l'hôte, https://api.chinaapi.ai. Tous les autres outils de cette page attendent le suffixe /v1 écrit explicitement. Un /v1 en double ou manquant est ici la première cause d'erreurs 404.

Hermes Agent

POST /v1/chat/completions

Faites pointer le bloc model de ~/.hermes/config.yaml vers la passerelle, ou lancez hermes model et choisissez Custom endpoint en mode interactif. base_url inclut le suffixe /v1 ; Hermes ajoute lui-même /chat/completions.

yaml · ~/.hermes/config.yaml
model:
  default: kimi-k2.7-code
  provider: custom
  base_url: https://api.chinaapi.ai/v1
  api_key: <your ChinaAPI key>

Claude Code

POST /v1/messages

Exportez les trois variables d'environnement puis lancez claude comme d'habitude. Les variables ANTHROPIC_DEFAULT_*_MODEL associent les niveaux de modèles internes de Claude Code à des modèles ChinaAPI : c'est ce qui permet d'exécuter des modèles chinois dans un Claude Code non modifié.

shell · Claude Code
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

Codex

POST /v1/responses

Codex parle le protocole Responses : wire_api doit donc valoir responses, sinon les appels d'outils sont cassés. Placez votre clé dans la variable d'environnement désignée par env_key.

toml · ~/.codex/config.toml
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"

Cline, Roo Code, Kilo Code

POST /v1/chat/completions

Les trois utilisent le même formulaire de fournisseur OpenAI Compatible, champ pour champ. Saisissez l'ID du modèle exactement tel qu'il apparaît dans Console → Modèles : ces outils ne récupèrent pas la liste des modèles pour un fournisseur personnalisé.

Settings → API Provider → OpenAI Compatible
Base URL   https://api.chinaapi.ai/v1
API Key    <your ChinaAPI key>
Model ID   glm-5.2

Cursor

POST /v1/chat/completions

Remplacez la base URL dans Settings → Models → OpenAI API Key. Ajoutez d'abord le nom du modèle ChinaAPI via Add model, puis ne laissez actifs que les modèles ChinaAPI, sans quoi Cursor enverra ses noms de modèles intégrés à votre URL de remplacement.

Settings → Models → Override Base URL
Base URL   https://api.chinaapi.ai/v1
API Key    <your ChinaAPI key>
Model      deepseek-v4-pro

OpenClaw

POST /v1/messages

Déclarez ChinaAPI comme fournisseur avec "api": "anthropic-messages" et listez les modèles que vous voulez voir proposés dans le sélecteur de session.

json · ~/.openclaw/openclaw.json
{
  "models": {
    "providers": {
      "chinaapi": {
        "baseUrl": "https://api.chinaapi.ai",
        "apiKey": "<your ChinaAPI key>",
        "api": "anthropic-messages",
        "models": ["kimi-k3", "glm-5.2"]
      }
    }
  }
}

Aider

POST /v1/chat/completions

Aider route selon le préfixe du modèle : conservez donc le préfixe openai/ sur le nom du modèle, même si le modèle lui-même est chinois.

shell · Aider
export OPENAI_API_BASE=https://api.chinaapi.ai/v1
export OPENAI_API_KEY=$CHINAAPI_KEY

aider --model openai/deepseek-v4-pro

Choisir les modèles : les noms ci-dessus sont des exemples fonctionnels, pas une liste figée. Ouvrez Console → Modèles pour voir les alias activés sur votre compte. Pour un usage agent, placez un modèle spécialisé code sur le niveau que l'agent sollicite le plus et un modèle rapide et bon marché sur son niveau léger : Claude Code envoie par exemple ses résumés d'arrière-plan au niveau Haiku, si bien que mapper ce niveau sur un petit modèle est ce qui économise le plus de quota.

Intégration image, audio, vidéo et recherche

Ces fonctions utilisent la même Base URL et la même clé bearer que le chat, mais chacune possède son propre endpoint et son propre payload. Les ID de modèles ci-dessous sont des exemples fonctionnels ; vérifiez Console → Modèles pour obtenir le catalogue à jour avant la mise en production.

Génération d’images

POST /v1/images/generations

Envoyez un prompt JSON. Récupérez le résultat dans data[0].url, ou dans data[0].b64_json lorsque le modèle sélectionné renvoie du base64.

Paramètres clés : prompt et model sont requis. Utilisez size pour la résolution, n pour le nombre d’images et response_format pour url ou b64_json. quality et style dépendent du modèle ; les valeurs courantes incluent standard, hd ou auto.

curl · image
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
  }'

Génération d’images Gemini

POST /v1/chat/completions

Les modèles d’image Gemini utilisent le format OpenAI Chat Completions. L’image Markdown générée se trouve dans choices[0].message.content et utilise une URL data:image/....

Paramètres clés : utilisez dans model l’ID visible dans le catalogue après connexion et placez le prompt d’image dans messages. N’envoyez pas ce modèle à /v1/images/generations.

curl · Gemini image chat
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
  }'

Transcription audio

POST /v1/audio/transcriptions

Envoyez le fichier audio en multipart form data ; ne définissez pas manuellement l’en-tête Content-Type. Le texte reconnu est renvoyé dans le champ text.

Paramètres clés : envoyez model et file sous forme de champs multipart. Utilisez response_format avec json, text ou verbose_json lorsque le modèle sélectionné le prend en charge.

curl · transcription
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"

Synthèse vocale

POST /v1/audio/speech

Le corps de la réponse contient des données audio binaires : enregistrez-le dans un fichier. alloy sélectionne la voix par défaut du modèle ; certains modèles publient aussi des ID de voix propres au fournisseur.

Paramètres clés : utilisez input, model et voice. Choisissez une sortie avec response_format, par exemple mp3 ou wav ; speed et instructions sont disponibles lorsque le modèle sélectionné les prend en charge.

curl · speech
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

Génération vidéo

POST /v1/video/generations

La génération vidéo est asynchrone. Envoyez la requête une seule fois, conservez le task_id renvoyé, puis interrogez GET /v1/video/generations/{task_id} jusqu’à la réussite ou l’échec. La création d’une tâche peut consommer du quota.

Paramètres clés : prompt et model démarrent la tâche. Utilisez duration, width, height, fps et n lorsqu’ils sont pris en charge. La résolution est le réglage habituel de la netteté. Ajoutez les contrôles propres au fournisseur, tels que quality, quality_level, negative_prompt ou les réglages de caméra, dans metadata uniquement lorsqu’ils sont publiés pour ce modèle.

curl · video
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"

Embeddings

POST /v1/embeddings

Envoyez une chaîne ou un tableau de chaînes. Les vecteurs sont renvoyés dans data[].embedding, dans le même ordre que les entrées.

Paramètres clés : input accepte une chaîne ou un lot. Utilisez dimensions et encoding_format uniquement lorsque le modèle d’embedding sélectionné les prend en charge.

curl · embeddings
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."]
  }'

Rerank

POST /v1/rerank

Classez des documents candidats par rapport à une requête. Les résultats ordonnés et leurs scores de pertinence se trouvent dans results.

Paramètres clés : envoyez une query et des documents ; utilisez top_n pour limiter le nombre de candidats classés renvoyés.

curl · rerank
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
  }'

Exploiter depuis le tableau de bord

ChinaAPI n’est pas seulement un point de terminaison de transfert. Il propose clés, utilisateurs, groupes, santé des canaux, journaux, quotas et contrôles de facturation pour le trafic de production.

Clés

Jetons API à portée limitée

Créez et renouvelez des jetons, attribuez des groupes et isolez le trafic utilisateur.

Routage

Basculement fournisseur

Configurez plusieurs canaux en amont afin qu’un alias de modèle reste disponible lors des défaillances de fournisseur.

Journaux

Utilisation et coût

Suivez l’état des requêtes, l’utilisation des jetons, la consommation de quota et les erreurs au même endroit.