Задачи
Опрашивайте состояние задач и получайте сгенерированные изображения.
Состояния задач
| Статус | Значение | Дальнейшее действие |
|---|---|---|
processing | Задача принята и ещё не завершена. | Продолжайте опрос. |
completed | Задача выполнена успешно. | Считайте output.data[].url. |
failed | Задача не была выполнена успешно. | Изучите error; задача не тарифицируется. |
Ответ при отправке
При отправке возвращается ссылка на задачу:
{
"id": "task_...",
"model": "gpt-image-2",
"status": "processing",
"created_at": 1789970508
}Опрос задачи
curl https://api.seedrouter.ai/v1/tasks/YOUR_TASK_ID \
-H "Authorization: Bearer $SEEDROUTER_API_KEY"Опрашивайте с умеренным интервалом, например каждые три секунды, пока status не станет completed или failed. Сетевой тайм-аут во время опроса не означает, что генерация завершилась сбоем: сохраните идентификатор задачи и продолжите проверку. Не создавайте другую задачу, чтобы узнать ход выполнения.
Полный пример опроса
Выполните этот код после примера отправки на Python из Быстрого старта. Он использует возвращённый task_id и ждёт до десяти минут. Достижение этого локального срока лишь прекращает опрос; сохраните идентификатор и продолжите запрашивать ту же задачу.
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}.")Завершённая задача
Завершённая задача возвращает размещённые URL изображений и данные об использовании:
{
"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
}
}
}| Поле | Значение |
|---|---|
id | Сохраните этот идентификатор для последующих запросов. |
status | processing, completed или failed. |
created_at, finished_at | Метки времени Unix в секундах; во время обработки время завершения отсутствует или равно нулю. |
output.data[].url | URL сгенерированных изображений, доступны после завершения. |
output.usage | Сообщённое использование токенов, если доступно. Объекты с деталями могут содержать количество текстовых и графических токенов. |
error | Структурированная ошибка неуспешной задачи. |
Этот API выдаёт результаты асинхронно через задачи. Он не является заменой синхронного Images SDK; stream и partial_images не поддерживаются.
