API reference
Operations generated from the versioned OpenAPI contract.
Use Bearer authentication and your configured product origin. Never expose keys. See OpenAPI.
How do I use listJobs?
GET /api/v1/jobs — 200 Successful response; 401 Invalid or expired key; 403 Permission missing; 429 Rate limit exceeded.
How do I use createJob?
POST /api/v1/jobs — 200 Successful response; 202 Task queued; 401 Invalid or expired key; 402 Insufficient credits; 403 Permission missing; 409 Operation key conflicts with different input; 429 Rate limit exceeded.
How do I use getJob?
GET /api/v1/jobs/{id} — 200 Successful response; 401 Invalid or expired key; 403 Permission missing; 429 Rate limit exceeded.
How do I use downloadResult?
GET /api/v1/jobs/{id}/result — 200 Successful response; 401 Invalid or expired key; 403 Permission missing; 429 Rate limit exceeded.
How do I use getQuota?
GET /api/v1/quota — 200 Successful response; 401 Invalid or expired key; 403 Permission missing; 429 Rate limit exceeded.
How do I use listConversations?
GET /api/v1/conversations — 200 Successful response; 401 Authentication required; 403 Required scope or verified email missing; 404 Resource not found; 409 Conflicting input or active/unknown conversation turn.
How do I use createConversation?
POST /api/v1/conversations — 201 Successful response; 401 Authentication required; 403 Required scope or verified email missing; 404 Resource not found; 409 Conflicting input or active/unknown conversation turn.
How do I use getConversation?
GET /api/v1/conversations/{id} — 200 Successful response; 401 Authentication required; 403 Required scope or verified email missing; 404 Resource not found; 409 Conflicting input or active/unknown conversation turn.
How do I use renameConversation?
PATCH /api/v1/conversations/{id} — 200 Successful response; 401 Authentication required; 403 Required scope or verified email missing; 404 Resource not found; 409 Conflicting input or active/unknown conversation turn.
How do I use deleteConversation?
DELETE /api/v1/conversations/{id} — 200 Successful response; 401 Authentication required; 403 Required scope or verified email missing; 404 Resource not found; 409 Conflicting input or active/unknown conversation turn.
How do I use sendMessage?
POST /api/v1/conversations/{id}/messages — 200 Existing identical task reused; 202 Successful response; 401 Authentication required; 402 Insufficient credits; 403 Required scope or verified email missing; 404 Resource not found; 409 Conflicting input or active/unknown conversation turn.
How do I use listFiles?
GET /api/v1/files — 200 Successful response; 401 Authentication required; 403 Required scope or verified email missing; 404 Resource not found; 409 Conflicting input or active/unknown conversation turn.
How do I use uploadFile?
POST /api/v1/files — 200 Identical upload reused; 201 Private upload ready; 202 Object acceptance unconfirmed; query metadata or retry identical input with original key; 401 Authentication required; 403 Required scope or verified email missing; 404 Resource not found; 409 Conflicting input or active/unknown conversation turn; 410 Deleted or expired upload receipt; use a new key for a new file; 413 Upload too large; 415 Unsupported MIME or signature.
How do I use downloadFile?
GET /api/v1/files/{id} — 200 Private attachment; 401 Authentication required; 403 Required scope or verified email missing; 404 Resource not found; 409 Conflicting input or active/unknown conversation turn.
How do I use deleteFile?
DELETE /api/v1/files/{id} — 200 Successful response; 401 Authentication required; 403 Required scope or verified email missing; 404 Resource not found; 409 Conflicting input or active/unknown conversation turn.
How do I use getFileMetadata?
GET /api/v1/files/{id}/metadata — 200 Private upload metadata; 404 Private file not found; 409 Stored bytes mismatch original receipt; 410 Upload deleted or expired.
How do I use revokeCurrentKey?
DELETE /api/v1/keys/current — 200 Revoked; 403 Website session cannot revoke an unspecified device key.
How do I use listTrends?
GET /api/v1/trends — 200 Successful response; 400 Invalid input; 401 Invalid or expired key; 403 Permission missing; 404 Module, active workflow, or owned job not found; 429 Rate limit exceeded.
How do I use getTrend?
GET /api/v1/trends/{slug} — 200 Successful response; 400 Invalid input; 401 Invalid or expired key; 403 Permission missing; 404 Module, active workflow, or owned job not found; 429 Rate limit exceeded.
How do I use listTrendJobs?
GET /api/v1/trends/{slug}/jobs — 200 Successful response; 400 Invalid input; 401 Invalid or expired key; 403 Permission missing; 404 Module, active workflow, or owned job not found; 429 Rate limit exceeded.
How do I use createTrendJob?
POST /api/v1/trends/{slug}/jobs — 200 Identical operation key reused; no second reservation; 202 Task queued; 400 Invalid input; 401 Invalid or expired key; 402 Insufficient credits; 403 Permission missing; 404 Module, active workflow, or owned job not found; 409 Operation key conflicts with different input; 429 Rate limit exceeded; 503 Live provider, costs, storage or durable workflow is not ready.
How do I use getTrendJob?
GET /api/v1/trends/{slug}/jobs/{id} — 200 Successful response; 400 Invalid input; 401 Invalid or expired key; 403 Permission missing; 404 Module, active workflow, or owned job not found; 429 Rate limit exceeded.
How do I use downloadTrendResult?
GET /api/v1/trends/{slug}/jobs/{id}/result — 200 Confirmed final private video, bounded by product.limits.maxResultBytes; 400 Invalid input; 401 Invalid or expired key; 403 Permission missing; 404 Module, active workflow, or owned job not found; 409 Final video is not confirmed successful yet; 429 Rate limit exceeded.
Enabled modules: text, image, audio, chat, image-edit, image-caption, web-search. Reuse operation keys for identical retries. Unknown outcomes retain held credits; query the same task and reconcile before another paid request.