AI Gateway now supports asynchronous video generation Vercel's AI Gateway now supports asynchronous video generation, allowing applications to receive webhooks, poll for completion, or start a generation and retrieve results later, avoiding request timeouts. The update introduces `startVideo` and `getVideoStatus` functions, with all options supporting text-to-video, image-to-video, and reference-to-video inputs. Existing `generateVideo` calls continue to work as before. Video generation https://vercel.com/docs/ai-gateway/modalities/video-generation on AI Gateway can now run asynchronously. By default, generateVideo keeps one HTTP request to AI Gateway open until the result is ready. Because video generation can take seconds or minutes, that request can exceed request timeouts. With asynchronous generation, your application can receive a webhook, poll for completion, or start a generation and retrieve the result in a later request. Choose an option based on whether your process can keep running and whether your application can receive webhooks: Existing generateVideo calls continue to work as before. All four options support text-to-video, image-to-video, reference-to-video, and other video inputs. Install the latest versions of the AI SDK and AI Gateway provider: generateVideo Pass webhook to generateVideo to wait for a completion event without polling. AI Gateway sends an event when the job completes or fails. The SDK waits for that event, fetches the generated videos, and resolves the original generateVideo call. The calling process and webhook handler need a shared token and store so the delivery can be matched to the correct generation. generateVideo does not expose the signing secret for this workflow. See the webhook verification documentation https://vercel.com/docs/ai-gateway/modalities/video-generation verifying-the-delivery for the complete receiver pattern. Both the polling and webhook options for generateVideo return result.videos as GeneratedFile objects. The SDK downloads provider-hosted videos, making uint8Array , base64 , and mediaType available in either workflow. generateVideo Add poll to an existing generateVideo call: AI Gateway starts an asynchronous job, and the SDK sends a short status request at each interval until the job finishes. The calling process must remain running until generateVideo resolves, but no individual request to AI Gateway stays open for the full generation. startVideo returns an operation as soon as AI Gateway accepts the job, without waiting for rendering to finish. Store that operation and pass it to getVideoStatus later from the same process or another one: The operation is JSON-serializable, so it can be stored in a database or passed through a queue. Your application controls how long to keep checking the job because this workflow has no built-in timeout. You can also pass webhookUrl to startVideo to receive a completion event instead of checking the status. The start response includes the signing secret needed to verify the webhook. Unlike generateVideo , getVideoStatus does not download hosted videos. It returns provider URLs or inline bytes. Hosted URLs can expire, so download any videos you need to keep. Every asynchronous generation appears on the AI Gateway Logs page https://vercel.com/d?to=%2F%5Bteam%5D%2F%7E%2Fai-gateway%2Flogs&title=AI+Gateway+Logs as soon as it starts. Jobs show as Running while generation is in progress and update when they complete or fail. Under Request Mode , select Async to show only asynchronous jobs. Opening an entry shows the job ID and the request details. Only asynchronous workflows create jobs. A standard generateVideo call appears as a single completed request after the video is ready. For size limits, idempotency for retried job starts, webhook delivery retries, and other operational details, read the asynchronous video generation documentation https://vercel.com/docs/ai-gateway/modalities/video-generation asynchronous-generation or browse all video models https://vercel.com/ai-gateway/models?type=video .