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

Chat compatible OpenAI

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

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" }
    ]
  }'
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" }],
});

Claude, Gemini et formats natifs

ChinaAPI peut transférer le trafic au format OpenAI et le trafic propre aux fournisseurs. Conservez des routes distinctes pour les clients qui nécessitent l’API Claude Messages ou des charges utiles compatibles Gemini.

OpenAI

/v1/chat/completions

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

Claude

/v1/messages

Acheminez les charges utiles de messages au format Claude tout en conservant la même clé de passerelle et les mêmes contrôles de quota.

Gemini

/gemini

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

Génération vidéo

Les modèles vidéo répondent sous forme de tâches et non par une réponse unique. POST /v1/videos renvoie un identifiant de tâche avec "status": "queued", et GET /v1/videos/{task_id} indique la progression jusqu’à ce que la tâche atteigne completed ou failed. À la fin, le fichier produit est l’URL signée située dans metadata.url ; elle contient un paramètre Expires, téléchargez donc le fichier au lieu de conserver le lien. Une tâche en échec porte le code et le message du fournisseur dans error.code et error.message, ce qui suffit généralement à repérer le champ manquant. POST /v1/video/generations atteint le même gestionnaire, pour les clients déjà écrits pour ce chemin.

POST /v1/videos
curl https://api.chinaapi.ai/v1/videos \
  -H "Authorization: Bearer $CHINAAPI_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "model": "wan2.7-i2v",
    "prompt": "the cat turns and walks toward the camera",
    "input_reference": "https://example.com/first-frame.jpg",
    "size": "1280*720",
    "duration": 5
  }'

# {"id":"task_9f2c...","task_id":"task_9f2c...","object":"video",
#  "model":"wan2.7-i2v","status":"queued","progress":0}
GET /v1/videos/{task_id}
curl https://api.chinaapi.ai/v1/videos/task_9f2c... \
  -H "Authorization: Bearer $CHINAAPI_KEY"

# {"id":"task_9f2c...","object":"video","model":"wan2.7-i2v",
#  "status":"completed","progress":100,
#  "metadata":{"url":"https://.../output.mp4?Expires=..."}}
Texte vers vidéo

wan2.7-t2v

Seuls model et prompt sont obligatoires. Sans size ni duration, la passerelle soumet 1280*720 pendant cinq secondes.

Image vers vidéo

wan2.7-i2v

Animez une image fixe. input_reference attend l’URL d’une image accessible publiquement, qui devient la première image ; envoyez size et duration avec elle.

Référence vers vidéo

wan2.7-r2v

Construit une vidéo à partir de matériaux de référence. input_reference accepte une image de référence ; pour en envoyer plusieurs, utilisez images à la place, et video_url ajoute une vidéo de référence — les références se comptent ensemble, cinq au maximum. N’envoyez pas input_reference et images ensemble, car la passerelle ne garde que input_reference.

Montage vidéo

wan2.7-videoedit

Modifiez un clip existant à partir d’un prompt. video_url attend la vidéo source, qui doit faire de 2 à 10 secondes en MP4 ou MOV, et size définit la sortie.

Vidéo de 30 secondes

doubao-seedance-2-5-260628

Les images de référence vont dans images, car cette famille ignore input_reference. La durée va dans seconds, et les paramètres du fournisseur vont dans metadata, où resolution vaut soit 480p soit 720p.

Conseil Écrivez size comme la largeur et la hauteur reliées par une astérisque, par exemple 1280*720. La lettre x n’est pas acceptée : 832x480 renvoie invalid size: 832x480, example: 1920*1080. duration est un nombre entier de secondes. Pour wan2.7-i2v, wan2.7-r2v et wan2.7-videoedit, la passerelle replie size en un palier de résolution et l’amont n’en a que deux : envoyez 1280*720 pour 720P ou 1920*1080 pour 1080P ; une taille 480P comme 832*480 est refusée. wan2.7-t2v prend la valeur telle quelle.
doubao-seedance-2-5-260628 · first frame
curl https://api.chinaapi.ai/v1/videos \
  -H "Authorization: Bearer $CHINAAPI_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "model": "doubao-seedance-2-5-260628",
    "prompt": "the subject slowly turns toward the camera",
    "images": ["https://example.com/first-frame.jpg"],
    "seconds": "5",
    "metadata": {"resolution": "480p"}
  }'
doubao-seedance-2-5-260628 · reference mode
curl https://api.chinaapi.ai/v1/videos \
  -H "Authorization: Bearer $CHINAAPI_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "model": "doubao-seedance-2-5-260628",
    "prompt": "keep the subject from the reference image",
    "seconds": "5",
    "metadata": {
      "resolution": "480p",
      "ratio": "16:9",
      "content": [
        {
          "type": "image_url",
          "image_url": {"url": "https://example.com/reference.jpg"},
          "role": "reference_image"
        }
      ]
    }
  }'
Conseil Une image sans role est lue comme première image et non comme référence : la sortie suit le rapport d’aspect de cette image, envoyer ratio avec elle est refusé par InvalidParameter.TaskTypeConstraint, et un seconds de 2 y est également refusé alors que 5 fonctionne. generate_audio vaut true par défaut en amont, donc le fichier revient avec une piste audio sauf si vous le passez à false dans metadata. Marquez chaque élément de metadata.content avec un role pour atteindre le mode référence complet — jusqu’à 30 images, 10 vidéos et 10 extraits audio, entrée uniquement audio, et 30 secondes d’un seul tenant — où ratio est accepté.

Familles de modèles

Publiez les alias de modèles que votre équipe doit utiliser, puis associez-les aux canaux en amont, pools de secours, tarifs et groupes dans le tableau de bord.

DeepSeek Qwen GLM Kimi Doubao MiniMax Embeddings Rerank Image Video

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.