Démarrage rapide
AI Station est une passerelle de modèles unifiée construite sur NewAPI. L'API est compatible avec OpenAI et prend en charge Anthropic, Gemini, Midjourney ainsi qu'un éventail de tâches de plugins vidéo/audio.
Point d'accès
| Élément | Valeur |
|---|---|
| URL de base | https://test.kailin.com.cn |
| Authentification | Authorization: Bearer sk-xxxx (en-tête de requête) |
| Protocole | HTTPS — REST, streaming SSE et WebSocket (Realtime) |
Obtenir une clé API
- Connectez-vous à la Console.
- Créez un nouveau token sur la page Tokens / API Keys. Les tokens ressemblent à
sk-xxxxxxxx. - Conservez votre token en lieu sûr. Ne le commitez jamais dans un dépôt et ne l'exposez pas dans du code côté client.
Votre première requête
Chaque point de terminaison est authentifié via l'en-tête Authorization: Bearer <votre token>. Exemple de complétion de chat :
curl https://test.kailin.com.cn/v1/chat/completions \
-H "Content-Type: application/json" \
-H "Authorization: Bearer sk-your-token" \
-d '{
"model": "deepseek-v4-1-flash-261017",
"messages": [
{ "role": "user", "content": "Hello, introduce yourself" }
]
}'
https://test.kailin.com.cn/v1/chat/completionsSDK officiels
L'API étant compatible avec OpenAI, les SDK officiels fonctionnent sans configuration — il suffit de pointer base_url vers ce site :
from openai import OpenAI
client = OpenAI(
api_key="sk-your-token",
base_url="https://test.kailin.com.cn/v1",
)
resp = client.chat.completions.create(
model="deepseek-v4-1-flash-261017",
messages=[{"role": "user", "content": "Hello"}],
)
print(resp.choices[0].message.content)
import OpenAI from 'openai';
const client = new OpenAI({
apiKey: 'sk-your-token',
baseURL: 'https://test.kailin.com.cn/v1',
});
const resp = await client.chat.completions.create({
model: 'deepseek-v4-1-flash-261017',
messages: [{ role: 'user', content: 'Hello' }],
});
console.log(resp.choices[0].message.content);
Le SDK Anthropic fonctionne également (pointez base_url vers ce site). Voir Anthropic Messages.
Streaming
La plupart des points de terminaison de texte acceptent "stream": true et répondent en SSE (Server-Sent Events) — text/event-stream, chaque événement préfixé par data: , terminé par data: [DONE] :
data: {"id":"chatcmpl-xxx","choices":[{"delta":{"content":"Hi"},"index":0}]}
data: {"id":"chatcmpl-xxx","choices":[{"delta":{"content":" there"},"index":0}]}
data: [DONE]
Définissez stream=True (Python) ou stream: true (Node.js) dans le SDK, et il gère le parsing pour vous.
Format des erreurs
Les erreurs sont renvoyées en JSON. type vaut généralement new_api_error (au niveau de la passerelle) ou une erreur amont telle que invalid_request_error :
{
"error": {
"message": "Invalid token (request id: 2026xxxx)",
"type": "new_api_error",
"code": ""
}
}
| Statut HTTP | Signification | Causes fréquentes |
|---|---|---|
| 401 | Échec d'authentification | Token invalide, supprimé ou en-tête Authorization manquant |
| 403 | Accès interdit | Le token n'a pas accès au modèle, groupe incompatible ou restriction IP |
| 404 | Introuvable | Nom de modèle ou ID de tâche erroné |
| 429 | Limitation de débit | Limite RPM/TPM atteinte — réessayez plus tard |
| 5xx | Erreur serveur | Problème de canal amont — réessayez ou changez de modèle |
Le request id figurant dans un message d'erreur est la clé du dépannage. Joignez-le lorsque vous signalez un problème.
Lister les modèles disponibles
Appelez Lister les modèles pour savoir quels modèles votre token peut utiliser :
curl https://test.kailin.com.cn/v1/models \
-H "Authorization: Bearer sk-your-token"
Vue d'ensemble de l'API
| Catégorie | Point de terminaison | Description |
|---|---|---|
| Modèles | GET /v1/models | Lister les modèles disponibles |
| Texte | POST /v1/chat/completions | Complétion de chat (multimodal / outils / raisonnement) |
| Texte | POST /v1/completions | Complétion de texte (historique) |
| Texte | POST /v1/responses | API Responses |
| Texte | POST /v1/messages | Format Anthropic |
| Embeddings | POST /v1/embeddings | Embeddings de texte |
| Images | POST /v1/images/generations | Génération d'images |
| Audio | POST /v1/audio/transcriptions etc. | Transcription / traduction / TTS |
| Realtime | WS /v1/realtime | Conversation vocale en temps réel |
| Classement | POST /v1/rerank | Réordonnancement de texte |
| Sécurité | POST /v1/moderations | Modération de contenu |
| Vidéo | POST /v1/video/generations | Tâche de génération vidéo |
| Images | /mj/* | Proxy Midjourney |
| Tâches | POST /v1/tasks | Tâches de plugins génériques (Suno/Kling etc.) |