Goodtake AI

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

StatusMeaning
queuedWaiting to be picked up by a worker
processingModel is running
completedDone — images contains signed URLs
failedPermanent failure — error_message is set
cancelledCancelled before completion
timeoutExceeded 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=0

Returns 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

ParamTypeDefaultDescription
limitinteger20Max items to return
offsetinteger0Pagination 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

StatusMeaning
401Missing or invalid API key
404Generation not found, or belongs to a different organization

On this page