Tâches
Interrogez l'état des tâches et récupérez les images générées.
États des tâches
| Statut | Signification | Étape suivante |
|---|---|---|
processing | La tâche a été acceptée et n'est pas encore terminée. | Continuez l'interrogation. |
completed | La tâche a réussi. | Lisez output.data[].url. |
failed | La tâche ne s'est pas terminée correctement. | Examinez error ; la tâche n'est pas facturée. |
Réponse à la soumission
La soumission renvoie une référence de tâche :
{
"id": "task_...",
"model": "gpt-image-2",
"status": "processing",
"created_at": 1789970508
}Interroger la tâche
curl https://api.seedrouter.ai/v1/tasks/YOUR_TASK_ID \
-H "Authorization: Bearer $SEEDROUTER_API_KEY"Interrogez à un rythme modéré, par exemple toutes les trois secondes, jusqu'à ce que status vaille completed ou failed. Un dépassement de délai réseau pendant l'interrogation ne signifie pas que la génération a échoué : conservez l'identifiant de tâche et reprenez la vérification. Ne créez pas une autre tâche pour vérifier l'avancement.
Exemple d'interrogation complet
Exécutez ceci après l'exemple de soumission Python du Démarrage rapide. Il utilise le task_id renvoyé et attend jusqu'à dix minutes. Atteindre cette échéance locale ne fait qu'arrêter l'interrogation ; conservez l'identifiant et reprenez la consultation de la même tâche.
import time
print(f"Task ID: {task_id}")
deadline = time.monotonic() + 600
while time.monotonic() < deadline:
result = requests.get(
f"https://api.seedrouter.ai/v1/tasks/{task_id}",
headers={"Authorization": f"Bearer {os.environ['SEEDROUTER_API_KEY']}"},
timeout=30,
)
result.raise_for_status()
task = result.json()
if task["status"] == "completed":
for image in task["output"]["data"]:
print(image["url"])
break
if task["status"] == "failed":
raise RuntimeError(task["error"]["message"])
time.sleep(3)
else:
raise TimeoutError(f"Still waiting. Resume polling task {task_id}.")Tâche terminée
Une tâche terminée renvoie les URL des images hébergées ainsi que l'utilisation :
{
"id": "task_...",
"model": "gpt-image-2",
"status": "completed",
"created_at": 1789970508,
"finished_at": 1789970538,
"output": {
"created": 1789970532,
"data": [{"url": "https://static.seedrouter.ai/media/tasks/task_example/0.png"}],
"usage": {
"input_tokens": 29,
"output_tokens": 196,
"total_tokens": 225
}
}
}| Champ | Signification |
|---|---|
id | Conservez cet identifiant pour les requêtes ultérieures. |
status | processing, completed ou failed. |
created_at, finished_at | Horodatages Unix en secondes ; l'heure de fin est absente ou nulle pendant le traitement. |
output.data[].url | URL des images générées, disponibles une fois la tâche terminée. |
output.usage | Utilisation de tokens rapportée, lorsqu'elle est disponible. Les objets de détail peuvent contenir le nombre de tokens de texte et d'image. |
error | Erreur structurée pour une tâche échouée. |
Cette API livre ses résultats de façon asynchrone via des tâches. Ce n'est pas un remplacement d'un SDK Images synchrone ; stream et partial_images ne sont pas pris en charge.
