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

# Veo 3.1 First and Last Frame

> Google · `veo-3.1-flf` · video

## Identifier

Use the model identifier `veo-3.1-flf` in the `model` field when calling [`/asset/start`](/api-reference/assets/start).

## Capabilities

| Property            | Value                            |
| ------------------- | -------------------------------- |
| Reference inputs    | 2                                |
| Input types         | `image` + `image`                |
| Aspect ratios       | `16:9`, `9:16` (default `9:16`)  |
| Resolutions         | `720p`, `1080p` (default `720p`) |
| Durations (seconds) | `4`, `6`, `8` (default `8`)      |
| Audio               | yes                              |
| Tags                | `first-last-frames`              |

## Inputs

This model takes **named media inputs**. Pass each one as a top-level field in the request body (not inside `references`). Each field accepts exactly one of `url`, `asset_id`, or `avatar_id`.

| Field         | Type  | Required | Description                                           |
| ------------- | ----- | -------- | ----------------------------------------------------- |
| `first_frame` | image | yes      | Image used as the first frame of the generated video. |
| `last_frame`  | image | yes      | Image used as the last frame of the generated video.  |

* `url` — a direct, publicly accessible file URL
* `asset_id` — the ID of an existing asset in your Hoox space (e.g. a previous generation)
* `avatar_id` — the ID of an avatar defined in your Hoox space

## Custom settings

These keys go inside the `model_settings` object of the request body.

| Key             | Type    | Default | Affects cost |
| --------------- | ------- | ------- | ------------ |
| `generateAudio` | boolean | `true`  | yes          |

## Pricing

Default parameters (8s at `720p`): **\~32 credits / generation**.

For exact pricing with your own parameters, call [`/asset/pricing`](/api-reference/assets/pricing) with the `model` and any parameters that affect cost.

## Example request

```json theme={null}
{
  "type": "video",
  "model": "veo-3.1-flf",
  "prompt": "Describe what you want to generate",
  "first_frame": {
    "url": "https://example.com/reference.jpg"
  },
  "last_frame": {
    "url": "https://example.com/reference.jpg"
  },
  "aspect_ratio": "9:16",
  "resolution": "720p",
  "duration": 8
}
```

See [`/asset/start`](/api-reference/assets/start) for the full request/response reference, error codes, and code samples in cURL / Python / JavaScript.
