Zadania
Odpytuj stan zadań i pobieraj wygenerowane obrazy.
Stany zadań
| Status | Znaczenie | Następny krok |
|---|---|---|
processing | Zadanie zostało przyjęte i nie jest jeszcze zakończone. | Kontynuuj odpytywanie. |
completed | Zadanie zakończyło się powodzeniem. | Odczytaj output.data[].url. |
failed | Zadanie nie zakończyło się pomyślnie. | Sprawdź error; to zadanie nie jest naliczane. |
Odpowiedź przy wysyłaniu
Wysłanie zwraca odwołanie do zadania:
{
"id": "task_...",
"model": "gpt-image-2",
"status": "processing",
"created_at": 1789970508
}Odpytywanie zadania
curl https://api.seedrouter.ai/v1/tasks/YOUR_TASK_ID \
-H "Authorization: Bearer $SEEDROUTER_API_KEY"Odpytuj w umiarkowanym tempie, na przykład co trzy sekundy, aż status przyjmie wartość completed lub failed. Przekroczenie limitu czasu sieci podczas odpytywania nie oznacza, że generowanie się nie powiodło: zachowaj identyfikator zadania i wznów sprawdzanie. Nie twórz kolejnego zadania, aby sprawdzić postęp.
Pełny przykład odpytywania
Uruchom to po przykładzie wysyłania w Pythonie z Szybkiego startu. Używa zwróconego task_id i czeka do dziesięciu minut. Osiągnięcie tego lokalnego terminu przerywa jedynie odpytywanie; zachowaj identyfikator i wznów odpytywanie tego samego zadania.
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}.")Zakończone zadanie
Zakończone zadanie zwraca hostowane adresy URL obrazów oraz informacje o zużyciu:
{
"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
}
}
}| Pole | Znaczenie |
|---|---|
id | Zachowaj ten identyfikator na potrzeby kolejnych zapytań. |
status | processing, completed lub failed. |
created_at, finished_at | Znaczniki czasu Unix w sekundach; w trakcie przetwarzania czas zakończenia jest pusty lub równy zero. |
output.data[].url | Adresy URL wygenerowanych obrazów, dostępne po zakończeniu. |
output.usage | Raportowane zużycie tokenów, jeśli jest dostępne. Obiekty szczegółowe mogą zawierać liczbę tokenów tekstu i obrazu. |
error | Ustrukturyzowany błąd nieudanego zadania. |
To API dostarcza wyniki asynchronicznie przez zadania. Nie zastępuje synchronicznego SDK Images; stream i partial_images nie są obsługiwane.
