Guides

Generations

Image, video, voice and music calls: quote, hold, settle or release.

Lifecycle

StepWallet
POST /quoteNothing yet. The quote is valid for 15 minutes.
POST /generationsThe quoted amount is held. Status queued.
Render startsStatus running. It can no longer be cancelled.
SucceededThe hold settles. charged is true.
Failed or cancelledThe hold is released in full. You pay ₹0.

Skip the quote

Send { model, params, input } to POST /generations and we quote and hold in one step. You still pay exactly the book price.

Polling

curl https://userouter.in/api/v1/generations/gen_... -H "Authorization: Bearer $ROUTER_KEY"

Images usually finish in under a minute; video and music take one to several minutes. Poll every few seconds. Outputs are signed URLs; download what you want to keep.

Cancel

POST /generations/{id}/cancel works while a render is queued. Once it is running you get 409 not_cancellable.

Not enough balance

If the wallet can't cover the hold you get 402 insufficient_balance and nothing runs. Key and workspace limits return key_limit_reached and spend_limit_reached.