Skip to content

Authentication

Create API keys, send them with each request, and understand scopes and endpoints.

API key

Create keys in the console with a name and expiration, including no expiration. New keys include all standard API permissions and can be viewed again after signing in. Never put keys in client-side code or public repositories.

ScopeAllows
jobs:createSubmit tasks
jobs:readPoll and list tasks
media:writeUpload input images or video
media:readDownload result files
usage:readRead credits and ledger
chat:createCall chat completions

Send the key

Send the key as Authorization: Bearer <key> or x-api-key: <key> — not both. The web console and playground use your signed-in session instead.

A missing or invalid key returns 401 AUTH_REQUIRED; a key without the needed scope returns 403 INSUFFICIENT_SCOPE.

Endpoints

MethodPathPurposeAuth
GET/api/v1/modelsList the public model catalogPublic
GET/api/v1/models/{slug}One model with its input schemaPublic
GET/api/v1/pricesConfigured per-task prices (USD micro-units)Public
POST/api/v1/mediaUpload image or video bytes, returns media:<uuid>media:write
POST/api/v1/jobsSubmit one asynchronous model taskjobs:create
GET/api/v1/jobs/{id}Poll one task for status and resultsjobs:read
GET/api/v1/jobsYour latest 100 tasksjobs:read
GET/api/v1/results/{id}Download an owned result filemedia:read
GET/api/v1/usageCredit balance and recent ledgerusage:read
GET/api/v1/chat/modelsCallable chat models with token prices (OpenAI list format)Public
POST/api/v1/chat/completionsOpenAI-compatible chat completion, billed per tokenchat:create
GET/api/v1/chat/requestsYour chat requests with charges, limit (1–100) and before cursorusage:read
GET/api/v1/chat/requests/{id}One chat request belonging to your accountusage:read

AI agents

AI agents can sign in with OAuth through the MCP server instead of using a key. MCP & Skill