Démarrage rapide
Le point de terminaison image natif est synchrone par défaut. Définissez le booléenasync sur true pour créer une tâche en arrière-plan. Cet exemple utilise qwen-image-2.0.
Comment découvrir les modèles média asynchrones et obtenir leurs schémas ?
La découverte se déroule en deux étapes. Récupérez d’abord dans le catalogue public les modèles texte-image ou texte-vidéo compatibles avec les API asynchrones. Utilisez ensuite lemodel_id du modèle pour obtenir le schéma de requête de ses endpoints.
Lister les modèles compatibles avec les API asynchrones
Le catalogue de modèles utilise la même source de données que Playground. Utiliseztype=image_generation pour les modèles texte-image et type=video pour les modèles texte-vidéo. Le paramètre schema_checked=true limite la liste aux modèles dont le schéma de requête a été publié et vérifié.
type accepte actuellement une seule valeur. Interrogez donc chaque type de modèle séparément.
La réponse suit la forme {success, message, data}. Les champs de data utiles aux intégrations média asynchrones sont les suivants.
Obtenir le schéma de requête d’un modèle
Les champs, les valeurs d’énumération et les plages numériques pris en charge peuvent varier selon le modèle. Avant d’envoyer une requête d’image ou de vidéo, utilisez l’endpoint public ci-dessous pour récupérer les endpoints disponibles et les schémas JSON de requête du modèle sélectionné.modality de la réponse est image ou video. Chaque élément du tableau endpoints décrit un protocole d’appel disponible.
Un modèle peut renvoyer des endpoints
/ai/v1 ainsi que des endpoints /v1 compatibles avec OpenAI. Les endpoints compatibles avec OpenAI peuvent ne pas encore prendre en charge les modèles les plus récents. Utilisez donc de préférence les endpoints /ai/v1. Pour les API de tâches asynchrones, sélectionnez l’élément dont le path est /ai/v1/images/generations ou /ai/v1/videos, puis utilisez son request.schema. Ne dépendez pas de la position d’un élément dans le tableau endpoints.
Les commandes suivantes extraient directement le schéma de requête de chaque endpoint de tâche asynchrone.
404 model_not_found si le modèle n’existe pas ou ne dispose d’aucun endpoint détectable. Il renvoie 500 endpoints_unavailable lorsque les données des endpoints sont temporairement indisponibles.
Comment créer une tâche d’image ?
Image synchrone
Lorsqueasync est omis ou vaut false, l’API attend la fin de la génération et renvoie l’objet tâche :
GET /ai/v1/images pour retrouver la tâche.
Image asynchrone
Lorsqueasync vaut le booléen true, l’API renvoie immédiatement l’objet tâche et la génération se poursuit en arrière-plan :
GET /ai/v1/images/{id}. Une fois terminée, demandez directement le content_url de chaque élément output. Cette URL contient le result_id de l’image correspondante.
Dans une requête d’image,
async doit être un booléen. webhook_url et
webhook_events_filter ne peuvent être utilisés qu’avec async: true.Champs standard des images
Objet de tâche média
Les API propres aux images et aux vidéos renvoient la structure suivante :
Élément
output d’un média :
Description des statuts
Le client peut interroger la tâche toutes les 15 secondes jusqu’au statut
completed, failed ou cancelled. Cet intervalle de 15 secondes est une recommandation pour le polling côté client, pas une restriction du protocole serveur.
Comment consulter les tâches média ?
Consulter le détail d’un média
Lister les médias
Si la réponse de création est perdue, retrouvez l’ID de tâche dans la liste du média correspondant :Comment utiliser l’API de tâches unifiées ?
L’API de tâches unifiées accepte les filtres suivants :
Détail d’une tâche unifiée :
output unifié d’une tâche média :
/ai/v1/tasks/{id}/content. Pour plusieurs résultats, demandez /ai/v1/tasks/{id}/content/{result_id}. Sans ID de résultat, l’API renvoie 400 result_id_required.
Les API de liste, de détail et de contenu des tâches unifiées sont isolées
selon le Bearer Token qui a créé la tâche. Une autre clé API du même compte ne
peut pas lire cette tâche.
Télécharger les résultats média
Télécharger des images
Une fois l’image terminée, demandez chaqueoutput[].content_url de l’objet de tâche média :
/ai/v1/images/{id}/content/{result_id}. L’objet de tâche média n’expose pas result_id séparément. Le client peut utiliser directement content_url.
Lorsque b64_json n’est pas vide, décodez directement ce champ en Base64.
Utiliser un Webhook
Les images asynchrones et les vidéos prennent en charge les Webhooks au niveau de la tâche :webhook_url est limité à 512 caractères et ne peut pas pointer vers la machine locale, un réseau privé ou une autre adresse restreinte. Lorsque webhook_events_filter est omis, la plateforme envoie completed, failed et cancelled. Lorsqu’il est fourni, le tableau ne peut pas être vide ni contenir de doublons, et doit être utilisé avec webhook_url.
Si webhook_url est absent de la requête, les images asynchrones et les vidéos tentent d’utiliser l’adresse de rappel par défaut du compte. Une adresse par défaut non valide est ignorée et ne bloque pas la création de la tâche.
Requête de rappel
results n’apparaît que si le résultat a été archivé. Le téléchargement nécessite toujours un Bearer Token.
Nouvelles tentatives et déduplication
La plateforme utilise une livraison au moins une fois. Un même événement peut être envoyé plusieurs fois :- HTTP
2xxindique une réception réussie. - HTTP
5xx, une erreur réseau ou un délai dépassé déclenchent une nouvelle tentative. - HTTP
3xxet4xxne déclenchent pas de nouvelle tentative. - Six livraisons au maximum, avec des intervalles successifs de 1, 4, 16, 64 et 256 secondes.
event_id et renvoyer immédiatement 2xx s’il reçoit à nouveau le même événement.
Réponses et codes d’erreur
error.tid est l’ID de traçage de la requête. Fournissez-le au support technique lors d’un diagnostic.