Skip to main content
Every generation request answers 202 Accepted immediately and does its work after the response. You read the result by polling the resource until its status is terminal.

What to poll

The 202 response carries a Location header with the URL to poll: the campaign, photoshoot, moodboard, ad group, listing idea or video you started. Poll that URL, with the same Authorization header as the original request.

Terminal states

A job can complete while single items inside it fail. Check item-level statuses too; see Jobs and lifecycle.

The loop

Poll every few seconds with exponential backoff: start around 2 seconds, grow up to about 30 seconds, and stop after a few minutes for most jobs. A video is usually ready in about five minutes.

Polling never blocks generation

Reads have their own rate budget, separate from the budget for starting new work, so a polling loop never uses up the capacity to accept a new job. See Rate limits. If a poll returns 429, honor its Retry-After header and continue the loop after waiting; the resource keeps making progress regardless.
Last modified on September 30, 2026