Generations
Poll a generation's status and list your organization's history
Poll a generation
GET /v1/image/generations/{id}Returns the current status and, once completed, signed image URLs.
curl -s "https://api.goodtake.ai/v1/image/generations/$ID" \
-H "Authorization: Bearer $GOODTAKE_API_KEY" | jq .Response
{
"id": "550e8400-e29b-41d4-a716-446655440015",
"status": "completed",
"model": "gpt-image-2",
"prompt": "a red fox in snow",
"images": [
{ "url": "https://storage.googleapis.com/...signed...", "width": 1024, "height": 1024 }
],
"cost_credits": 0.10,
"created_at": "2026-06-22T10:00:00Z",
"completed_at": "2026-06-22T10:00:18Z"
}Status values
| Status | Meaning |
|---|---|
queued | Waiting to be picked up by a worker |
processing | Model is running |
completed | Done — images contains signed URLs |
failed | Permanent failure — error_message is set |
cancelled | Cancelled before completion |
timeout | Exceeded the generation time limit |
Signed URLs are time-limited. Download the images promptly after retrieving them.
List generations
GET /v1/image/generations?limit=20&offset=0Returns your organization's generation history, newest first.
curl -s "https://api.goodtake.ai/v1/image/generations?limit=10" \
-H "Authorization: Bearer $GOODTAKE_API_KEY" | jq .Query params
| Param | Type | Default | Description |
|---|---|---|---|
limit | integer | 20 | Max items to return |
offset | integer | 0 | Pagination offset |
Response
{
"generations": [
{
"id": "550e8400-...",
"status": "completed",
"model": "gpt-image-2",
"prompt": "a red fox in snow",
"cost_credits": 0.10,
"created_at": "2026-06-22T10:00:00Z",
"completed_at": "2026-06-22T10:00:18Z"
}
],
"total": 42,
"limit": 20,
"offset": 0
}Errors
| Status | Meaning |
|---|---|
401 | Missing or invalid API key |
404 | Generation not found, or belongs to a different organization |