Skip to main content
Every WideRouter job follows the same three steps regardless of whether you are generating an image or a video, and regardless of which model you pick.

Get an API key

Create a key in the console, then export it so the examples below can read it. Never hard-code a key into a file you commit.

Create a task

The call returns in about a second with a task id, and generation continues in the background:

Poll until it finishes

Read the task until status reaches a terminal state — completed or failed.
Expect 15–40 seconds end to end for a 1K image. A finished task carries an outputs array of image URLs.
Poll with backoff, not in a tight loop. Start around two to three seconds; a client polling every 100 ms gets rate limited without finishing any faster.

Download the result

Output URLs are unauthenticated and expire 24 hours after the task was created, so copy anything you want to keep into your own storage.
Send a User-Agent header when you download. The delivery CDN returns a bare 403 to requests with no User-Agent and to the default Python-urllib/3.x one, which looks like an expired link but is not.

Next steps

Async task API

Full request and response schemas, callbacks, and the error table.

Nano Banana series

Which parameters each model accepts, and what they default to.