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

# Veo 3.1 Fast — Reference to Video

> Generate videos using reference images with Google's Veo 3.1 Fast model

Generate videos using one or more reference images to guide the visual style and content with Google's Veo 3.1 Fast model.

| Property            | Value                                   |
| ------------------- | --------------------------------------- |
| **Provider**        | Google                                  |
| **Model**           | Veo 3.1 Fast                            |
| **Capability**      | Reference to Video                      |
| **Base Cost**       | 200,000 micro-cents/second (\$0.20/sec) |
| **Processing Time** | \~240 seconds                           |

## Request Body

<ParamField body="model" type="string" required placeholder="google/veo-3.1-fast/reference-to-video">
  Model slug. Use `google/veo-3.1-fast/reference-to-video` for reference-to-video generation.
</ParamField>

<ParamField body="input" type="object" required>
  Input parameters for reference-to-video generation.

  <Expandable title="properties" defaultOpen>
    <ParamField body="prompt" type="string" required>
      Text description guiding the generation (max 4000 characters).
    </ParamField>

    <ParamField body="image_urls" type="string[]" required>
      Array of reference image URLs (minimum 1, maximum 3).
    </ParamField>

    <ParamField body="aspect_ratio" type="string">
      Video aspect ratio. Default: `16:9`. Options: `16:9`, `9:16`.
    </ParamField>

    <ParamField body="resolution" type="string">
      Output resolution. Default: `720p`. Options: `720p`, `1080p`, `4k`.
    </ParamField>

    <ParamField body="duration" type="string">
      Video duration in seconds. Default: `8`. Options: `4`, `6`, `8`.
    </ParamField>

    <ParamField body="has_sound" type="string">
      Enable audio generation. Default: `true`. Options: `true`, `false`.
    </ParamField>

    <ParamField body="seed" type="integer">
      Seed for reproducible results.
    </ParamField>
  </Expandable>
</ParamField>

<ParamField body="webhookUrl" type="string">
  HTTPS URL to receive a webhook notification when the job completes or fails.
</ParamField>

## Pricing

**Base cost:** 200,000 micro-cents per second (\$0.20/sec)

```
finalCost = baseCost × duration × resolution × has_sound
```

| Factor         | Option  | Multiplier |
| -------------- | ------- | ---------- |
| **Duration**   | `4`     | 4x         |
|                | `6`     | 6x         |
|                | `8`     | 8x         |
| **Resolution** | `720p`  | 1x         |
|                | `1080p` | 1x         |
|                | `4k`    | 1.5x       |
| **Sound**      | `false` | 1x         |
|                | `true`  | 1.5x       |

<Tip>
  **Default cost:** 8 seconds, 720p, with sound = 200,000 × 8 × 1 × 1.5 = **2,400,000 micro-cents (\$2.40)**
</Tip>

## Response

<ResponseField name="jobId" type="string">
  Unique identifier for the submitted job.
</ResponseField>

<ResponseField name="status" type="string">
  Initial job status. Always `"pending"` on successful submission.
</ResponseField>

<ResponseField name="estimatedCompletionTime" type="string">
  ISO 8601 timestamp of the estimated completion time.
</ResponseField>

<ResponseField name="costMicroCents" type="number">
  The cost of the job in micro-cents.
</ResponseField>

## Code Examples

<CodeGroup>
  ```bash cURL theme={null}
  curl -X POST https://api.muvi.video/v1/jobs/submit \
    -H "Authorization: Bearer $PIXELBYTE_API_KEY" \
    -H "Content-Type: application/json" \
    -d '{
      "model": "google/veo-3.1-fast/reference-to-video",
      "input": {
        "prompt": "A cinematic scene combining the visual elements from the reference images",
        "image_urls": [
          "https://example.com/reference1.png",
          "https://example.com/reference2.png"
        ],
        "aspect_ratio": "16:9",
        "resolution": "1080p",
        "duration": "8",
        "has_sound": "true"
      }
    }'
  ```

  ```python Python theme={null}
  import requests

  response = requests.post(
      "https://api.muvi.video/v1/jobs/submit",
      headers={
          "Authorization": "Bearer YOUR_API_KEY",
          "Content-Type": "application/json"
      },
      json={
          "model": "google/veo-3.1-fast/reference-to-video",
          "input": {
              "prompt": "A cinematic scene combining the visual elements from the reference images",
              "image_urls": [
                  "https://example.com/reference1.png",
                  "https://example.com/reference2.png"
              ],
              "aspect_ratio": "16:9",
              "resolution": "1080p",
              "duration": "8",
              "has_sound": "true"
          }
      }
  )

  data = response.json()
  print(data)
  ```

  ```javascript JavaScript theme={null}
  const response = await fetch("https://api.muvi.video/v1/jobs/submit", {
    method: "POST",
    headers: {
      "Authorization": "Bearer YOUR_API_KEY",
      "Content-Type": "application/json"
    },
    body: JSON.stringify({
      model: "google/veo-3.1-fast/reference-to-video",
      input: {
        prompt: "A cinematic scene combining the visual elements from the reference images",
        image_urls: [
          "https://example.com/reference1.png",
          "https://example.com/reference2.png"
        ],
        aspect_ratio: "16:9",
        resolution: "1080p",
        duration: "8",
        has_sound: "true"
      }
    })
  });

  const data = await response.json();
  console.log(data);
  ```
</CodeGroup>
