> ## Documentation Index
> Fetch the complete documentation index at: https://openrouter.ai/docs/llms.txt
> Use this file to discover all available pages before exploring further.

# VideoGenerationRequest

## Example Usage

```typescript theme={null}
import { VideoGenerationRequest } from "@openrouter/sdk/models";

let value: VideoGenerationRequest = {
  model: "google/veo-3.1",
};
```

## Fields

| Field             | Type                                                                                        | Required             | Description                                                                                                                                                                                                                                                     | Example                                                    |
| ----------------- | ------------------------------------------------------------------------------------------- | -------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------- |
| `aspectRatio`     | [models.VideoGenerationRequestAspectRatio](../models/videogenerationrequestaspectratio.mdx) | :heavy\_minus\_sign: | Aspect ratio of the generated video                                                                                                                                                                                                                             | 16:9                                                       |
| `callbackUrl`     | *string*                                                                                    | :heavy\_minus\_sign: | URL to receive a webhook notification when the video generation job completes. Overrides the workspace-level default callback URL if set. Must be HTTPS.                                                                                                        | [https://example.com/webhook](https://example.com/webhook) |
| `duration`        | *number*                                                                                    | :heavy\_minus\_sign: | Duration of the generated video in seconds                                                                                                                                                                                                                      | 8                                                          |
| `frameImages`     | [models.FrameImage](../models/frameimage.mdx)\[]                                            | :heavy\_minus\_sign: | Images to use as the first and/or last frame of the generated video. Each image must specify a frame\_type of first\_frame or last\_frame.                                                                                                                      |                                                            |
| `generateAudio`   | *boolean*                                                                                   | :heavy\_minus\_sign: | Whether to generate audio alongside the video. Defaults to the endpoint's generate\_audio capability flag, false if not set.                                                                                                                                    | true                                                       |
| `inputReferences` | *models.InputReference*\[]                                                                  | :heavy\_minus\_sign: | Reference assets to guide video generation. Accepts image, audio, and video references. Audio and video references are only honored by providers that support them (currently BytePlus Seedance 2.0); other providers use image references and ignore the rest. |                                                            |
| `model`           | *string*                                                                                    | :heavy\_check\_mark: | N/A                                                                                                                                                                                                                                                             |                                                            |
| `prompt`          | *string*                                                                                    | :heavy\_minus\_sign: | Text prompt describing the video to generate. Optional for models that support generating a video from image input alone; required by all other models.                                                                                                         | A serene mountain landscape at sunset                      |
| `provider`        | [models.VideoGenerationRequestProvider](../models/videogenerationrequestprovider.mdx)       | :heavy\_minus\_sign: | Provider-specific passthrough configuration                                                                                                                                                                                                                     |                                                            |
| `resolution`      | [models.VideoGenerationRequestResolution](../models/videogenerationrequestresolution.mdx)   | :heavy\_minus\_sign: | Resolution of the generated video                                                                                                                                                                                                                               | 720p                                                       |
| `seed`            | *number*                                                                                    | :heavy\_minus\_sign: | If specified, the generation will sample deterministically, such that repeated requests with the same seed and parameters should return the same result. Determinism is not guaranteed for all providers.                                                       |                                                            |
| `size`            | *string*                                                                                    | :heavy\_minus\_sign: | Exact pixel dimensions of the generated video in "WIDTHxHEIGHT" format (e.g. "1280x720"). Interchangeable with resolution + aspect\_ratio.                                                                                                                      | 1280x720                                                   |
