Authenticate a wallet
Request a challenge for your Solana wallet, sign the returned message, then verify the signature to establish a session. The browser studio uses this same flow.
POST /api/wallet/challenge
{ "wallet": "YOUR_SOLANA_PUBLIC_KEY" }
POST /api/wallet/verify
{ "wallet": "…", "signature": "…", "nonce": "…" }
Discover available models
Model availability and supported settings come from the server. Query them before requesting a quote.
GET /api/config
Inspect configuration JSON ↗Start with a quote
Use the model’s supported aspect ratio, duration, and resolution. Quotes include the cost and expire, so request one when you are ready to generate.
POST /api/quote
Content-Type: application/json
{
"model": "MODEL_ID_FROM_CONFIG",
"prompt": "The first light on another world",
"aspect_ratio": "16:9",
"duration": 5,
"resolution": "720p"
}
Create a generation job
Submit the quote ID with a unique idempotency key. Retrying with the same key returns the original job and avoids duplicate requests.
POST /api/jobs
Content-Type: application/json
{
"quoteId": "QUOTE_ID",
"idempotencyKey": "A_UNIQUE_REQUEST_KEY"
}
Follow the result
Read a job by ID for its status, error details, and available outputs. List your jobs to retrieve your generation history.
GET /api/jobs/JOB_ID
GET /api/jobs
These endpoints use your authenticated session. Model costs and provider availability are returned by the API. There is no published SDK or MCP package at this time.