Votre premier appel API
L'API CloudZIR donne accès aux modèles Mina via deux surfaces compatibles : le format OpenAI et le format Anthropic. Vos SDK, vos agents et vos outils existants fonctionnent avec les points d'accès et les paramètres documentés ici : il suffit d'adapter trois réglages, l'URL de base, la clé API et le nom du modèle.
1. Obtenir une clé API#
Créez votre clé sur plateforme.cloudzir.com (même compte que le chat ai.cloudzir.com). Une clé ressemble à :
zir_ai_exemple_0000000000000000000000000000000000000000
Cet exemple est volontairement reconnaissable comme tel. Une documentation qui montre une chaîne indiscernable d'une vraie clé apprend aux outils de détection à l'ignorer, et le jour où une vraie clé fuite, plus personne ne la voit passer.
Le secret complet n'est affiché qu'une seule fois, à la création. Nous n'en conservons qu'une empreinte : personne, pas même le support CloudZIR, ne peut vous le redonner. Perdu ? Révoquez la clé et créez-en une autre.
2. Créditer votre compte#
L'API est prépayée : chaque requête débite votre portefeuille. Rechargez en dinars depuis Top up :
- Les moyens de paiement proposés apparaissent sur la page Top up de la plateforme.
Sans solde, l'API répond 402 insufficient_balance.
3. Votre premier appel#
URL de base (format OpenAI) : https://api.cloudzir.com/v1
curl https://api.cloudzir.com/v1/chat/completions \
-H "Content-Type: application/json" \
-H "Authorization: Bearer $CLOUDZIR_API_KEY" \
-d '{
"model": "mina-low",
"messages": [
{"role": "system", "content": "Tu es un assistant utile."},
{"role": "user", "content": "Bonjour !"}
]
}'# pip install openai
from openai import OpenAI
client = OpenAI(
api_key="zir_ai_...",
base_url="https://api.cloudzir.com/v1",
)
response = client.chat.completions.create(
model="mina-low",
messages=[
{"role": "system", "content": "Tu es un assistant utile."},
{"role": "user", "content": "Bonjour !"},
],
)
print(response.choices[0].message.content)// npm install openai
import OpenAI from "openai";
const client = new OpenAI({
apiKey: process.env.CLOUDZIR_API_KEY,
baseURL: "https://api.cloudzir.com/v1",
});
const response = await client.chat.completions.create({
model: "mina-low",
messages: [
{ role: "system", content: "Tu es un assistant utile." },
{ role: "user", content: "Bonjour !" },
],
});
console.log(response.choices[0].message.content);Réponse#
{
"id": "chatcmpl-4334a6f158894999",
"object": "chat.completion",
"created": 1766400000,
"model": "mina-low",
"choices": [
{
"index": 0,
"message": { "role": "assistant", "content": "Bonjour ! Comment puis-je vous aider ?" },
"finish_reason": "stop"
}
],
"usage": { "prompt_tokens": 21, "completion_tokens": 12, "total_tokens": 33 }
}
4. En streaming#
Ajoutez "stream": true pour recevoir la réponse jeton par jeton
(Server-Sent Events). Détails : guide Streaming.
curl https://api.cloudzir.com/v1/chat/completions \
-H "Authorization: Bearer $CLOUDZIR_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"model": "mina-flash",
"messages": [{"role": "user", "content": "Raconte une histoire courte."}],
"stream": true,
"stream_options": {"include_usage": true}
}'stream = client.chat.completions.create(
model="mina-flash",
messages=[{"role": "user", "content": "Raconte une histoire courte."}],
stream=True,
stream_options={"include_usage": True},
)
for chunk in stream:
if chunk.choices and chunk.choices[0].delta.content:
print(chunk.choices[0].delta.content, end="", flush=True)5. Format Anthropic#
La même clé fonctionne sur la surface Anthropic :
https://api.cloudzir.com/anthropic. Choisissez un identifiant Mina, comme
mina-flash, mina-low ou mina-full. La liste activée
pour votre clé est renvoyée par GET /anthropic/v1/models.
# pip install anthropic
import anthropic
client = anthropic.Anthropic(
api_key="zir_ai_...",
base_url="https://api.cloudzir.com/anthropic",
)
message = client.messages.create(
model="mina-full",
max_tokens=1000,
system="Tu es un assistant utile.",
messages=[{"role": "user", "content": "Bonjour !"}],
)
print(message.content[0].text)curl https://api.cloudzir.com/anthropic/v1/messages \
-H "x-api-key: $CLOUDZIR_API_KEY" \
-H "content-type: application/json" \
-d '{
"model": "mina-full",
"max_tokens": 1000,
"messages": [{"role": "user", "content": "Bonjour !"}]
}'