Skip to main content

CLI First

The Jobs System

All image/video generation operations and deep research go through a unified jobs system. The pattern is always:
  1. Submit → get job_id (202 response)
  2. Poll → check status via GET /v1/jobs/:id
  3. Complete → job finishes, credits charged, result available

Job Statuses

StatusMeaning
queuedSubmitted, waiting to start
processingRunning (may include progress %)
completedDone — result available, credits charged
failedError — no credits charged
cancelledCancelled by user — no credits charged

Listing Jobs

Filter by status: queued, processing, completed, failed, cancelled.

Getting Job Details

Cancelling a Job

Only works for jobs in queued or processing state.

Job Types

TypeCreated By
image_generationPOST /v1/images/generate
video_generationPOST /v1/video/generate
deep_researchPOST /v1/search/research (thorough/exhaustive)

Convenience Aliases

Each primitive has its own status endpoint that filters to its job type:
  • GET /v1/images/:jobId — same as /v1/jobs/:id but validates it’s an image job
  • GET /v1/video/:jobId — same as /v1/jobs/:id but validates it’s a video job