Aller au contenu principal

Interfaces et fonctionnalités

Les interfaces répertoriées dans ce document sont situées à https://api.ourzai.com/v1/ et prennent en charge à la fois les formats compatibles OpenAI et Anthropic. Consultez Démarrage rapide de l'API pour les détails d'authentification.

Quelles interfaces un modèle peut-il utiliser ?​

Différents modèles prennent en charge différentes interfaces : un modèle de chat ne peut pas générer d'images et un modèle de génération vidéo ne peut pas discuter. La page Tarification de la console indique les interfaces prises en charge par chaque modèle, vérifiez donc cela avant d'effectuer un appel. L'utilisation d'une interface non prise en charge par un modèle, ou l'appel d'un modèle que votre compte ne peut pas utiliser, renverra une erreur 404.

Authentification​

Transmettez votre clé API en utilisant l'une des méthodes suivantes :

  • Authorization: Bearer <YOUR_API_KEY> (recommandé ; à utiliser pour toutes les interfaces compatibles OpenAI) ;
  • x-api-key: <YOUR_API_KEY> (la méthode du SDK Anthropic) ;
  • x-goog-api-key: <YOUR_API_KEY> (peut également être utilisé pour transmettre la clé ; cela n'implique pas la prise en charge de l'interface native Gemini).

Ne placez pas la clé dans les paramètres de requête de l'URL (par exemple, ?api_key=) ; ces requêtes seront rejetées.

Texte​

Méthode et cheminObjectif
POST /v1/chat/completionsComplétions de chat, compatibles OpenAI, prend en charge le streaming via stream
POST /v1/responsesInterface OpenAI Responses
POST /v1/messagesCompatible avec les messages Anthropic
POST /v1/messages/count_tokensCalculer le nombre de jetons pour les requêtes au format Anthropic
POST /v1/embeddingsVecteurs de texte ; pris en charge uniquement par certains modèles
GET /v1/modelsListe des modèles

Images​

Méthode et cheminObjectif
POST /v1/images/generationsTexte vers image, compatible OpenAI
POST /v1/images/editsImage vers image et retouche d'image, compatible OpenAI

Les interfaces d'image renvoient les résultats de manière synchrone.

Audio​

Méthode et cheminObjectif
POST /v1/audio/speechSynthèse vocale, compatible OpenAI
POST /v1/audio/transcriptionsReconnaissance vocale, compatible OpenAI

Les réponses peuvent inclure X-Zai-Audio-Duration-Ms (durée audio en millisecondes) ou X-Zai-Audio-Confidence (confiance de transcription), selon le modèle utilisé.

Génération vidéo​

La génération vidéo est asynchrone : soumettez d'abord une tâche pour recevoir un request_id, puis interrogez le statut et téléchargez le résultat une fois la vidéo prête.

Méthode et cheminObjectif
POST /v1/videos/generationsSoumettre une tâche vidéo ; renvoie request_id
GET /v1/videos/generations/{request_id}Interroger le statut de la tâche
GET /v1/videos/generations/{request_id}/contentTélécharger la vidéo générée

/v1/videos et /v1/videos/{request_id} sont des chemins abrégés équivalents.

Soumettre une tâche​

Champs du corps de la requête :

ChampDescription
modelObligatoire ; le nom du modèle vidéo
promptDescription des éléments visuels et du mouvement
durationDurée (secondes)
aspect_ratioFormat d'image
resolutionRésolution
generate_audioIndique s'il faut générer une piste audio
seedGraine aléatoire
watermarkIndique s'il faut ajouter un filigrane
imageImage de la première image
last_frameImage de la dernière image
reference_imagesListe des images de référence
reference_audiosListe des clips audio de référence

Les champs et valeurs pris en charge varient selon le modèle. Utilisez la page Tarification pour confirmer l'interface vidéo et la tarification ; renseignez les paramètres spécifiques en fonction des capacités du modèle que vous avez sélectionné. Si la validation des paramètres échoue, la réponse peut renvoyer une erreur 400 avec video_input_unsupported et indiquer dans field quels champs doivent être ajustés.

curl https://api.ourzai.com/v1/videos/generations \
-H "Authorization: Bearer $ZAI_API_KEY" \
-H "Content-Type: application/json" \
-d '{"model": "<VIDEO_MODEL_ID>", "prompt": "Sunset by the sea, with a slow camera push-in", "duration": 5}'

Interroger le statut et récupérer les résultats​

La requête renvoie request_id et status. Lorsque la vidéo est prête, elle inclut video.url (avec la durée, la résolution, etc.) ; en cas d'échec, elle inclut error.code et error.message. Valeurs possibles pour status :

StatutSignification
pendingGénération en cours ; réessayez plus tard
doneTerminé ; prêt à être téléchargé
failedÉchec de la génération ; consultez error
expiredTâche expirée

Télécharger la vidéo​

Après done, demandez /content pour récupérer le fichier vidéo. Si la vidéo n'est pas encore prête, la requête renvoie 409 video_not_ready ; réessayez simplement plus tard.

La génération vidéo n'est facturée qu'une seule fois en cas de réussite ; les interrogations répétées n'entraînent aucun frais supplémentaire.

Appeler les modèles Gemini​

L'interface native Gemini sous /v1beta/ n'est actuellement pas disponible. Pour appeler les modèles Gemini, vérifiez d'abord la page Tarification pour confirmer l'interface compatible prise en charge par le modèle, puis utilisez le chemin /v1/ correspondant.

Intégration par modèle​

Catalogue et intégration des modèles — Choisissez un modèle pour consulter ses interfaces et des exemples complets. Utilisez son identifiant exact : les modèles d’un même fournisseur ne prennent pas nécessairement en charge les mêmes interfaces.