Tout ce qu’il faut pour appeler des modèles de texte, d’image et de vidéo avec une seule clé : mise en route, points d’accès, référence par fournisseur, facturation et dépannage.
Afri Nexus AI vous donne une seule clé API et un seul solde prépayé pour des modèles de texte, d’image et de vidéo d’OpenAI, Anthropic, Google, DeepSeek, Zhipu AI, Moonshot, MiniMax, Alibaba, xAI, ByteDance et Kuaishou. L’API suit le format OpenAI : les SDK officiels d’OpenAI et tout outil acceptant une URL de base personnalisée fonctionnent sans modification. Les modèles Claude acceptent en plus l’API Messages native d’Anthropic.
Ce manuel couvre tout le parcours : créer une clé, appeler les modèles de chat, d’image et de vidéo, les particularités des modèles de chaque fournisseur (avec les liens vers son propre manuel), la facturation et le dépannage. https://afri-nexus.io/v1 est aussi accepté comme URL de base ; https://api.afri-nexus.io/v1 est celle recommandée.
Ajoutez du crédit. Ouvrez Portefeuille → Recharge. Votre solde est affiché en dollars US ; les codes de recharge se saisissent sur la même page.
Créez une clé API. Allez dans Clés API → Créer une clé API. Donnez-lui un nom et, surtout, choisissez son groupe : c’est lui qui décide quelle famille de modèles la clé peut appeler (voir Groupes de clés). Vous pouvez aussi fixer un plafond de dépense, une date d’expiration et des restrictions d’IP ou de modèles. Copiez la clé (elle commence par sk-) et gardez-la secrète.
Choisissez un modèle. La Place des modèles liste tous les modèles disponibles avec leur prix ; utilisez l’identifiant exactement tel qu’il est écrit.
Envoyez une requête. L’exemple ci-dessous appelle Claude Sonnet 5.5 avec une clé du groupe claude-special.
curl https://api.afri-nexus.io/v1/chat/completions \
-H "Authorization: Bearer $AFRI_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"model": "claude-sonnet-5-5",
"messages": [
{"role": "user", "content": "Explique en trois phrases courtes comment fonctionne une API de paiement mobile money."}
]
}'
from openai import OpenAI
client = OpenAI(
base_url="https://api.afri-nexus.io/v1",
api_key="sk-...",
)
response = client.chat.completions.create(
model="claude-sonnet-5-5",
messages=[{"role": "user", "content": "Explique en trois phrases courtes comment fonctionne une API de paiement mobile money."}],
)
print(response.choices[0].message.content)
print(response.usage)
import OpenAI from "openai";
const client = new OpenAI({
baseURL: "https://api.afri-nexus.io/v1",
apiKey: process.env.AFRI_API_KEY,
});
const response = await client.chat.completions.create({
model: "claude-sonnet-5-5",
messages: [{ role: "user", content: "Explique en trois phrases courtes comment fonctionne une API de paiement mobile money." }],
});
console.log(response.choices[0].message.content);
console.log(response.usage);
Une clé appartient à un seul groupe. Une clé créée dans le Groupe par défaut ne peut appeler aucun modèle. Pour utiliser deux familles de modèles (par exemple Claude et GPT Image), créez une clé par groupe. Les groupes sont listés dans la section suivante.
Groupes de clés et modèles
Chaque groupe correspond à une gamme de fournisseur et à un niveau de remise, déjà intégré aux prix affichés dans la Place des modèles. À la création d’une clé, vous choisissez son groupe dans le champ Groupe ; le tableau des clés API indique le groupe de chaque clé existante, et GET /v1/models avec cette clé renvoie exactement les modèles qu’elle peut appeler.
Groupe
Ce qu’il débloque
Modèles
claude-official
Claude officiel stable · 70 % du tarif officiel · canal 15
Envoyez votre clé dans l’en-tête Authorization de chaque requête. Le point d’accès natif d’Anthropic accepte aussi l’en-tête x-api-key utilisé par les SDK Anthropic.
x-api-key: sk-… ou Authorization: Bearer sk-…, plus anthropic-version: 2023-06-01
Gardez vos clés côté serveur ou dans un gestionnaire de secrets ; ne les intégrez jamais à une application mobile ou à une page web publique. Créez une clé par projet ou par environnement pour pouvoir en révoquer une sans toucher aux autres.
Utilisez le plafond de dépense, la date d’expiration et la liste d’IP autorisées de chaque clé dans la console pour limiter les dégâts en cas de fuite.
Une clé supprimée ou désactivée est refusée immédiatement avec un code HTTP 401.
Chat completions (modèles de texte)
POST https://api.afri-nexus.io/v1/chat/completions sert tous les modèles de texte : GPT-6, Claude, Gemini, DeepSeek, GLM, Kimi, MiniMax, Qwen et Grok. La requête et la réponse sont les objets Chat Completions standard d’OpenAI.
Champs de la requête
Champ
Signification
model
Un identifiant de modèle du tableau ci-dessus, dans le groupe de votre clé.
messages
La conversation : tours system, user et assistant. content est une chaîne ou un tableau de parties (texte, image_url).
stream
true pour recevoir la réponse token par token (Server-Sent Events). Ajoutez stream_options: {"include_usage": true} pour obtenir le décompte de tokens dans le dernier fragment.
max_tokens, temperature, top_p, stop
Réglages standard d’échantillonnage et de longueur ; les valeurs acceptées dépendent du modèle.
tools, tool_choice
Appel de fonctions au format OpenAI.
response_format
{"type": "json_object"} (ou json_schema quand le modèle le prend en charge) pour des réponses JSON.
usage est ce qui vous est facturé : prompt_tokens (entrée, dont cached_tokens au tarif lecture de cache) et completion_tokens (sortie, qui inclut les éventuels reasoning_tokens).
Streaming
curl https://api.afri-nexus.io/v1/chat/completions \
-H "Authorization: Bearer $AFRI_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"model": "deepseek-v4.1-flash",
"stream": true,
"stream_options": {"include_usage": true},
"messages": [{"role": "user", "content": "Explique en trois phrases courtes comment fonctionne une API de paiement mobile money."}]
}'
stream = client.chat.completions.create(
model="deepseek-v4.1-flash",
messages=[{"role": "user", "content": "Explique en trois phrases courtes comment fonctionne une API de paiement mobile money."}],
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)
if chunk.usage:
print("\n", chunk.usage)
const stream = await client.chat.completions.create({
model: "deepseek-v4.1-flash",
messages: [{ role: "user", content: "Explique en trois phrases courtes comment fonctionne une API de paiement mobile money." }],
stream: true,
stream_options: { include_usage: true },
});
for await (const chunk of stream) {
process.stdout.write(chunk.choices[0]?.delta?.content ?? "");
if (chunk.usage) console.log("\n", chunk.usage);
}
Chaque fragment arrive sur une ligne data: contenant un objet chat.completion.chunk ; le flux se termine par data: [DONE]. Utilisez le streaming pour les réponses longues : il montre la progression à vos utilisateurs et évite la limite de 100 secondes par requête décrite dans Erreurs et limites.
Images dans le prompt (vision)
Les modèles multimodaux (par exemple GPT-6, Claude, Gemini, Kimi K3.1 Pro, Qwen 3.8) acceptent des parties image à côté du texte. Passez une URL HTTPS publique ou un URI data:image/jpeg;base64,….
{
"model": "gemini-3.8-flash",
"messages": [
{
"role": "user",
"content": [
{"type": "text", "text": "What is written on this receipt? Return the total."},
{"type": "image_url", "image_url": {"url": "https://example.com/receipt.jpg"}}
]
}
]
}
Outils (appel de fonctions)
{
"model": "gpt-6-astra",
"messages": [{"role": "user", "content": "What is the weather in Antananarivo?"}],
"tools": [
{
"type": "function",
"function": {
"name": "get_weather",
"description": "Get the current weather for a city",
"parameters": {
"type": "object",
"properties": {"city": {"type": "string"}},
"required": ["city"]
}
}
}
],
"tool_choice": "auto"
}
Quand le modèle décide d’appeler un outil, la réponse contient tool_calls avec le nom de la fonction et ses arguments JSON ; exécutez la fonction, renvoyez le résultat dans un message tool et rappelez l’API.
Réponses JSON
{
"model": "qwen3.8-max",
"response_format": {"type": "json_object"},
"messages": [
{"role": "system", "content": "Answer with a JSON object: {\"city\": string, \"country\": string}."},
{"role": "user", "content": "Where is the Avenue of the Baobabs?"}
]
}
Modèles de raisonnement
Plusieurs modèles réfléchissent avant de répondre. Les tokens de raisonnement sont facturés comme des tokens de sortie et apparaissent dans usage.completion_tokens_details.reasoning_tokens. Chaque fournisseur pilote le raisonnement avec son propre paramètre, que la passerelle transmet tel quel :
Modèles
Paramètre
Comportement
GPT-6 (OpenAI)
reasoning_effort
Comme dans le guide « reasoning » d’OpenAI.
Claude (Anthropic)
thinking, effort
Raisonnement adaptatif par défaut ; utilisez l’API Messages native pour un contrôle complet.
Gemini (Google)
reasoning_effort (low / medium / high)
Le raisonnement est activé par défaut et ne peut pas être totalement désactivé sur cette génération.
DeepSeek V4.1 Flash
—
Raisonnement activé ; la réflexion est renvoyée dans message.reasoning_content.
GLM 5.x (Zhipu AI)
thinking: {"type": "enabled" | "disabled"}
glm-5.3-flash raisonne par défaut.
Kimi K3.1 Pro / K3 (Moonshot)
reasoning_effort (low / high / max)
Par défaut max.
Qwen 3.8 (Alibaba)
enable_thinking, thinking_budget
Les modèles hybrides raisonnent par défaut ; la réflexion est dans reasoning_content.
# Qwen: turn thinking off for a short, cheap answer
client.chat.completions.create(
model="qwen3.8-flash",
messages=[{"role": "user", "content": "2 + 2 ?"}],
extra_body={"enable_thinking": False},
)
# Kimi K3.1 Pro: choose the reasoning depth
client.chat.completions.create(
model="kimi-k3.1-pro",
messages=[{"role": "user", "content": "..."}],
reasoning_effort="low",
)
# DeepSeek: read the reasoning separately from the answer
r = client.chat.completions.create(
model="deepseek-v4.1-flash",
messages=[{"role": "user", "content": "..."}],
)
print(r.choices[0].message.reasoning_content)
print(r.choices[0].message.content)
Claude : API Messages native
Tous les modèles claude-* acceptent aussi le format propre à Anthropic sur POST https://api.afri-nexus.io/v1/messages. Utilisez-le quand vous avez besoin de fonctions spécifiques à Claude : raisonnement étendu, cache de prompt, appels d’outils au schéma Anthropic, ou une intégration existante du SDK Anthropic (changez seulement base_url et la clé).
curl https://api.afri-nexus.io/v1/messages \
-H "x-api-key: $AFRI_API_KEY" \
-H "anthropic-version: 2023-06-01" \
-H "Content-Type: application/json" \
-d '{
"model": "claude-opus-5-5",
"max_tokens": 4096,
"thinking": {"type": "adaptive"},
"messages": [{"role": "user", "content": "Explique en trois phrases courtes comment fonctionne une API de paiement mobile money."}]
}'
import anthropic
client = anthropic.Anthropic(
base_url="https://api.afri-nexus.io",
api_key="sk-...",
)
message = client.messages.create(
model="claude-opus-5-5",
max_tokens=4096,
thinking={"type": "adaptive"},
messages=[{"role": "user", "content": "Explique en trois phrases courtes comment fonctionne une API de paiement mobile money."}],
)
print(next(b.text for b in message.content if b.type == "text"))
print(message.usage)
import Anthropic from "@anthropic-ai/sdk";
const client = new Anthropic({
baseURL: "https://api.afri-nexus.io",
apiKey: process.env.AFRI_API_KEY,
});
const message = await client.messages.create({
model: "claude-opus-5-5",
max_tokens: 4096,
thinking: { type: "adaptive" },
messages: [{ role: "user", content: "Explique en trois phrases courtes comment fonctionne une API de paiement mobile money." }],
});
console.log(message.content.find((b) => b.type === "text")?.text);
console.log(message.usage);
Raisonnement (thinking). Sur la génération actuelle (Opus 5.5, Sonnet 5.5, Fable 5.1, Haiku 5.5) le raisonnement est adaptatif par défaut ; envoyez "thinking": {"type": "adaptive"} explicitement si vous le souhaitez. L’ancienne forme budget_tokens est refusée par ces modèles. La profondeur de raisonnement se règle avec output_config.effort, comme décrit dans le guide « extended thinking » d’Anthropic.
Cache de prompt. Marquez le préfixe stable (prompt système, documents de référence, définitions d’outils) avec cache_control ; les requêtes répétées sont facturées au tarif lecture de cache affiché dans la Place des modèles. Les écritures de cache sont facturées au tarif écriture de cache.
Streaming."stream": true renvoie le flux d’événements standard d’Anthropic (message_start, content_block_delta, …).
Deux gammes, un format.claude-opus-5-5 (groupe claude-special) et claude-opus-5-5-official (groupe claude-official) sont le même modèle derrière deux routes et deux prix ; choisissez la gamme qui correspond à votre clé.
Claude Code et les outils basés sur le SDK Anthropic
Tout outil construit sur le SDK Anthropic peut pointer vers Afri Nexus grâce aux variables d’environnement standard :
export ANTHROPIC_BASE_URL="https://api.afri-nexus.io"
export ANTHROPIC_API_KEY="sk-..."
export ANTHROPIC_MODEL="claude-opus-5-5"
claude
Génération d’images
POST https://api.afri-nexus.io/v1/images/generations suit l’API Images d’OpenAI. Deux familles sont disponibles : GPT Image (gpt-image-2, gpt-image-2.5-flare et leurs variantes -2k / -4k, groupe de clé image-gpt-image) et Nano Banana (nano-banana-2, nano-banana-pro, les modèles d’image Gemini de Google, groupe image-nano-banana).
curl https://api.afri-nexus.io/v1/images/generations \
-H "Authorization: Bearer $AFRI_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"model": "nano-banana-2",
"prompt": "Un étal de marché à Antananarivo au lever du soleil, lumière chaude, style photo",
"size": "1024x1024",
"response_format": "b64_json"
}'
import base64
result = client.images.generate(
model="gpt-image-2",
prompt="Un étal de marché à Antananarivo au lever du soleil, lumière chaude, style photo",
size="1024x1024",
output_format="png",
response_format="b64_json",
)
with open("image.png", "wb") as f:
f.write(base64.b64decode(result.data[0].b64_json))
import fs from "node:fs";
const result = await client.images.generate({
model: "gpt-image-2",
prompt: "Un étal de marché à Antananarivo au lever du soleil, lumière chaude, style photo",
size: "1024x1024",
output_format: "png",
response_format: "b64_json",
});
fs.writeFileSync("image.png", Buffer.from(result.data[0].b64_json, "base64"));
Ce qu’il faut dessiner. Nano Banana excelle sur le texte lisible et les mises en page précises ; GPT Image sur les retouches fidèles et le style constant.
size
LARGEURxHAUTEUR. La taille choisit le palier de résolution facturé (voir ci-dessous). Omettez-la ou envoyez un ratio comme 16:9 pour obtenir le palier 1K.
quality
low / medium / high / auto ; sans effet sur le prix.
output_format
png, jpeg (par défaut) ou webp.
response_format
Envoyez b64_json pour recevoir les octets de l’image dans la réponse. Les modèles GPT Image renvoient toujours b64_json ; Nano Banana renvoie une URL temporaire sauf si vous demandez b64_json. Téléchargez ou stockez l’image de votre côté.
Les images sont facturées à l’unité au prix du palier (Place des modèles → modèle → Détails). Les noms de modèles -2k et -4k sont facturés à leur palier quelle que soit la taille envoyée : associez-les à une size 2K ou 4K correspondante. Une image 1K prend généralement 15 à 60 secondes ; une image 4K peut prendre plus longtemps, gardez donc le 1K pour l’usage interactif et générez les grandes tailles en arrière-plan.
Retoucher une image
POST https://api.afri-nexus.io/v1/images/edits (formulaire multipart : image, prompt, model, mask optionnel) suit le format OpenAI pour les modèles GPT Image et Nano Banana.
Génération de vidéos
La vidéo est asynchrone : vous soumettez une tâche, vous interrogez son état, puis vous téléchargez le clip. Les modèles vidéo sont répartis par fournisseur en trois groupes de clé : seedance-official (Seedance 2.0, 2.5, 2.0 Fast et 2.0 Mini), wan (Wan 3.0) et kling (Kling 3.0) ; une clé n’appelle que les modèles de son propre groupe.
1. Soumettre
curl https://api.afri-nexus.io/v1/videos \
-H "Authorization: Bearer $AFRI_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"model": "seedance-2.0-fast",
"prompt": "Un bateau de pêche quitte un port malgache à l’aube, cinématographique, lent travelling avant",
"seconds": 5,
"resolution": "480p"
}'
L’état passe par queued → in_progress → completed (ou failed, avec un objet error). Interrogez toutes les 10 à 15 secondes ; un clip prend généralement 1 à 5 minutes selon le modèle, la durée et la résolution.
Champs de la requête
Champ
Signification
model
Un des identifiants de modèles vidéo ci-dessous.
prompt
Description du clip. Obligatoire sauf si une image de référence est fournie.
seconds (ou duration)
Durée du clip en secondes, dans la plage du modèle. Wan 3.0 accepte aussi -1 pour laisser le modèle choisir.
resolution (ou size)
Palier de sortie, p. ex. 480p, 720p, 1080p, 4k (Wan utilise 480P / 720P / 1080P). Indiquez-le toujours : il détermine le prix.
images (ou input_reference)
Tableau d’URL d’images publiques servant de première image / référence (image vers vidéo). Les fichiers téléversés ne sont pas acceptés ; hébergez l’image et passez son URL.
ratio
Format d’image comme 16:9 ou 9:16 (Wan, Kling). Pour Seedance, passez-le dans metadata : "metadata": {"ratio": "16:9"}.
generate_audio
true pour produire un audio natif avec Kling (facturé au tarif « avec audio »).
negative_prompt, seed, watermark, metadata
Options facultatives du fournisseur, transmises telles quelles.
Modèles
Modèle
Fournisseur
Résolutions
Durée
Facturation
seedance-2.0
ByteDance (Volcengine)
720p, 1080p, 4k
4–15 s
au million de tokens vidéo (≈ largeur × hauteur × images ÷ 1024), moins cher avec une vidéo de référence
seedance-2.5
ByteDance (Volcengine)
480p, 720p, 1080p
4–30 s
au million de tokens vidéo
seedance-2.0-fast, seedance-2.0-mini
ByteDance (Volcengine)
480p, 720p
4–15 s
au million de tokens vidéo
wan3.0-video, wan3.0-video-prime
Alibaba
480P, 720P, 1080P
4–30 s, ou -1
à la seconde (secondes de référence en entrée + secondes produites)
kling-V3
Kuaishou
720p, 1080p, 4k
4–15 s
à la seconde, tarif plus élevé avec generate_audio
À la soumission, le coût estimé est réservé sur votre solde ; à la fin de la tâche il est ajusté sur la consommation rapportée par le fournisseur, et une tâche en échec libère la réservation. Les tarifs à la seconde et au token sont dans la Place des modèles ; les journaux d’usage montrent une ligne à la soumission et une au règlement.
Image vers vidéo en Python
import time, requests
API = "https://api.afri-nexus.io/v1"
H = {"Authorization": "Bearer sk-..."}
task = requests.post(f"{API}/videos", headers=H, json={
"model": "wan3.0-video",
"prompt": "Un bateau de pêche quitte un port malgache à l’aube, cinématographique, lent travelling avant",
"images": ["https://example.com/first-frame.jpg"],
"seconds": 5,
"resolution": "720P",
}).json()
while True:
status = requests.get(f"{API}/videos/{task['id']}", headers=H).json()
if status["status"] in ("completed", "failed"):
break
time.sleep(10)
if status["status"] == "completed":
mp4 = requests.get(f"{API}/videos/{task['id']}/content", headers=H)
open("video.mp4", "wb").write(mp4.content)
else:
print(status.get("error"))
Afri Nexus relaie chaque requête au fournisseur du modèle : le manuel du fournisseur reste la référence pour les formats de prompt, les paramètres, les fenêtres de contexte et le comportement. Les cartes ci-dessous listent ce que nous servons de chaque fournisseur, ce qu’il faut savoir sur notre passerelle et la documentation officielle à consulter. Prix : les cartes de la Place des modèles affichent le tarif officiel du fournisseur ; ouvrez les Détails d’un modèle pour voir le prix Afri Nexus et la remise.
OpenAI
La famille GPT-6 pour le chat, le code, les outils et les sorties structurées, plus les modèles GPT Image. Les modèles de chat utilisent le format Chat Completions d’OpenAI tel quel ; reasoning_effort est transmis comme décrit dans le guide « reasoning » d’OpenAI. Comme sur la grille d’OpenAI, les prix sont par palier de longueur de prompt (≤ 272K tokens ou au-delà).
Les modèles Claude existent en deux gammes : les noms simples (groupe de clé claude-special) et les noms -official (groupe claude-official, la gamme « officielle stable » acheminée par l’infrastructure d’Anthropic). Les deux acceptent /v1/chat/completions (compatible OpenAI) et l’API native /v1/messages d’Anthropic. Le raisonnement (thinking) est adaptatif par défaut sur la génération actuelle ; le cache de prompt avec cache_control est facturé aux tarifs lecture / écriture de cache affichés dans la Place des modèles. Claude Haiku 5.5 n’est proposé que dans la gamme officielle.
Gemini 4 Argon et les modèles Gemini Flash, plus rapides, pour le chat multimodal (le raisonnement est activé par défaut et facturé en tokens de sortie), ainsi que les modèles d’image Nano Banana (génération d’images Gemini). Utilisez reasoning_effort comme dans le guide de compatibilité OpenAI de Google. Les tailles d’image suivent les paliers 1K / 2K / 4K décrits dans la section images.
DeepSeek V4.1 Flash, un modèle de raisonnement et de code très rentable. Sur Afri Nexus il fonctionne en mode raisonnement : la réflexion est renvoyée dans reasoning_content et comptée en tokens de sortie. Format et paramètres suivent l’API compatible OpenAI de DeepSeek.
Les modèles GLM 5.x de Z.ai : des généralistes bilingues solides en agents et en code. glm-5.3-flash raisonne par défaut (les tokens de raisonnement sont facturés en sortie). Le raisonnement se pilote avec le paramètre thinking décrit dans le guide « thinking mode » de Z.ai.
Kimi K3.1 Pro (modèle phare, contexte de 1M tokens, vision), Kimi K3.1 Pro Highspeed (même modèle, sortie 2 à 3× plus rapide) et Kimi K3. Le raisonnement est activé par défaut ; sa profondeur se règle avec reasoning_effort (low / high / max). Les requêtes suivent le format Chat Completions d’OpenAI.
Les modèles texte MiniMax série M3 (M3.1 Flash Preview, M3, M2.7). Les requêtes suivent l’API compatible OpenAI de MiniMax ; comme sur la grille de MiniMax, le prix augmente pour les très longues entrées (au-delà de 512K tokens).
Les modèles texte Qwen 3.8 (Max, 27B, Flash) et les modèles vidéo Wan 3.0. Les modèles hybrides Qwen raisonnent par défaut ; désactivez-le avec enable_thinking: false (et plafonnez-le avec thinking_budget) comme dans le guide « deep thinking » d’Alibaba Cloud Model Studio ; la réflexion arrive dans reasoning_content. Wan 3.0 est facturé à la seconde de vidéo (secondes de référence en entrée plus secondes produites) en 480P / 720P / 1080P.
Les modèles de chat Grok 4.7 et Grok 4.6 au format Chat Completions d’OpenAI. Comme sur la grille de xAI, le prix double pour les prompts de 200K tokens ou plus.
Les modèles vidéo Seedance de ByteDance (servis via Volcengine / BytePlus ModelArk) : Seedance 2.0 (720p / 1080p / 4K, 4–15 s), Seedance 2.5 (480p–1080p, 4–30 s), Seedance 2.0 Fast et Mini (480p / 720p). Facturation au million de tokens vidéo, où tokens ≈ largeur × hauteur × images ÷ 1024, avec un tarif réduit lorsqu’une vidéo de référence est fournie.
Génération vidéo Kling 3.0 (kling-V3) : 720p / 1080p / 4K, 4 à 15 secondes, audio natif optionnel (generate_audio: true, facturé au tarif « avec audio »). Facturation à la seconde de vidéo produite.
SDK OpenAI (Python, Node.js, Go, Java, .NET, PHP…) : réglez l’URL de base sur https://api.afri-nexus.io/v1 et la clé API sur votre clé Afri. Tout ce qui est décrit dans Chat completions et Génération d’images fonctionne à travers eux.
SDK Anthropic (Python, TypeScript, Java, Go…) : réglez base_url sur https://api.afri-nexus.io ; voir Claude : API Messages native.
LangChain, LlamaIndex, Vercel AI SDK et frameworks similaires : utilisez leur fournisseur compatible OpenAI avec la même URL de base et la même clé.
Assistants de code
Tout éditeur ou agent acceptant une URL de base compatible OpenAI fonctionne sur votre solde Afri : Cursor, Cline, Roo Code, Continue, Zed, opencode, aider, Kilo Code… Dans les réglages du fournisseur de l’outil, choisissez « OpenAI compatible », saisissez https://api.afri-nexus.io/v1, votre clé et un identifiant de modèle du groupe de votre clé (par exemple claude-sonnet-5-5, gpt-6-astra, kimi-k3.1-pro). Les outils construits sur le SDK Anthropic, comme Claude Code, utilisent les variables d’environnement indiquées dans la section Claude.
Automatisation sans code (n8n, Make, Zapier)
Utilisez un nœud de requête HTTP avec le corps JSON ci-dessous, ou le nœud OpenAI de l’outil avec une URL de base personnalisée. Du JSON simple en entrée comme en sortie :
POST https://api.afri-nexus.io/v1/chat/completions
Authorization: Bearer sk-...
Content-Type: application/json
{
"model": "gemini-3.8-flash",
"messages": [
{"role": "system", "content": "Reply in the customer's language."},
{"role": "user", "content": "{{ $json.message }}"}
]
}
Clients de chat de bureau
La page Clés API propose une configuration en un clic pour des clients de chat comme Cherry Studio et d’autres ; le Playground permet d’essayer n’importe quel modèle dans le navigateur sans écrire de code.
Facturation et usage
Prépayé, à l’usage. Vous rechargez un solde en dollars US et chaque requête en est déduite ; il n’y a pas d’abonnement. Recharges et codes se trouvent dans Portefeuille.
Prix. La Place des modèles (sans compte) affiche, pour chaque modèle, le prix Afri Nexus à côté du tarif officiel du fournisseur et la remise du groupe de clé du modèle ; Détails liste tous les paliers de prix, les points d’accès et une requête prête à l’emploi. Les descriptions des groupes (par exemple « Claude · 29 % du tarif officiel ») résument la même remise.
Modèles de texte : facturés au token — tokens d’entrée, tokens de sortie (y compris le raisonnement) et, lorsque le fournisseur prend en charge le cache, entrée en cache au tarif lecture de cache et écritures de cache au tarif écriture. Les décomptes viennent de la réponse du fournisseur et peuvent inclure des tokens système ajoutés côté fournisseur, visibles comme tokens d’entrée (le plus souvent en cache) dans vos journaux. Certains fournisseurs facturent plus cher les longs prompts (OpenAI au-delà de 272K tokens, xAI à partir de 200K, MiniMax au-delà de 512K, Haiku 5.5 au-delà de 100K), exactement comme sur leurs propres grilles.
Modèles d’image : facturés à l’image, par palier de résolution (1K / 2K / 4K).
Modèles vidéo : facturés à la seconde (Wan, Kling) ou au million de tokens vidéo (Seedance), avec une réservation à la soumission et un règlement à la fin.
Journaux d’usage. Les journaux d’usage listent chaque requête avec son modèle, ses tokens et son coût ; filtrez par clé pour attribuer les dépenses à un projet. Le tableau de bord trace les dépenses dans le temps.
Limites par clé. Une clé peut porter son propre plafond de dépense et sa date d’expiration ; quand le plafond ou votre solde est épuisé, les requêtes échouent avec un code HTTP 403 jusqu’à la prochaine recharge.
Erreurs et limites
Les erreurs utilisent l’enveloppe d’erreur d’OpenAI :
Requête invalide : champ inconnu, mauvais type, valeur hors des limites du modèle (p. ex. durée vidéo, taille d’image, n > 1).
Lisez le message ; comparez avec le manuel du fournisseur.
401
Clé absente, mal formée, désactivée ou supprimée.
Vérifiez l’en-tête Authorization et la clé dans la console.
403
Solde insuffisant, plafond de la clé atteint, clé expirée, IP ou modèle non autorisé pour cette clé.
Rechargez ou ajustez les réglages de la clé.
404
Point d’accès ou identifiant de tâche inconnu.
Vérifiez le chemin (/v1/…) et l’identifiant.
429
Trop de requêtes, chez Afri Nexus ou chez le fournisseur.
Réessayez avec un délai exponentiel.
503 / 502 / 500
« No available channel for model … under group … » : le modèle n’est pas dans le groupe de votre clé, ou le fournisseur est temporairement indisponible.
Vérifiez l’identifiant du modèle et le groupe de la clé ; sinon réessayez plus tard.
524
La requête a dépassé 100 secondes et la connexion a été fermée par notre réseau de bordure.
Utilisez stream: true pour les longues générations de texte ; utilisez le flux vidéo asynchrone ; gardez les images en 1K pour l’usage interactif.
Limites
100 secondes par requête HTTP sans streaming. Les réponses en streaming ne sont pas concernées tant que des données circulent.
Images : une image par requête (n = 1).
Vidéo : durées et résolutions par modèle comme indiqué dans Génération de vidéos ; les images et vidéos de référence doivent être des URL publiques.
Fenêtres de contexte et limites de sortie : celles du fournisseur ; voir la référence par fournisseur.
FAQ et assistance
Mon code OpenAI actuel va-t-il fonctionner ?
Oui. Réglez l’URL de base sur https://api.afri-nexus.io/v1, utilisez votre clé Afri et choisissez un modèle du groupe de votre clé. Les SDK officiels d’OpenAI et la plupart des frameworks acceptant une URL de base personnalisée fonctionnent sans modification.
Pourquoi ma clé reçoit-elle « no available channel for model … » ?
Le modèle n’est pas dans le groupe de la clé. Comparez le groupe indiqué dans le tableau des clés API avec le tableau des groupes et créez une clé dans le bon groupe si nécessaire. Les clés du Groupe par défaut ne peuvent appeler aucun modèle.
Une seule clé peut-elle utiliser Claude et GPT Image ?
Non : une clé, un groupe. Créez une clé par famille de modèles ; elles partagent le même solde.
Comment les prix sont-ils fixés ?
Chaque groupe achète sa famille de modèles à un pourcentage fixe du tarif officiel du fournisseur (le pourcentage figure dans la description du groupe). La carte de la Place des modèles affiche le tarif officiel ; le volet Détails montre le prix Afri Nexus et la remise.
Quels modèles puis-je utiliser ?
Tout ce qui figure dans le tableau des modèles : GPT-6, Claude, Gemini, DeepSeek, GLM, Kimi, MiniMax, Qwen et Grok pour le texte ; GPT Image et Nano Banana pour les images ; Seedance, Wan 3.0 et Kling 3.0 pour la vidéo. La Place des modèles indique toujours ce qui est disponible.
Comment recharger et obtenir de l’aide ?
Les moyens de recharge sont indiqués dans Portefeuille. Pour toute aide, écrivez-nous sur notre page Facebook ; nous répondons en français ou en anglais.
Êtes-vous affiliés aux fournisseurs de modèles ?
Non. Afri Nexus AI est une passerelle indépendante. Les noms de modèles et les marques appartiennent à leurs propriétaires respectifs, et les politiques d’utilisation de chaque fournisseur s’appliquent à vos requêtes.