> For the complete documentation index, see [llms.txt](https://docs.qolaba.ai/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://docs.qolaba.ai/video-generation/input-controls/reference-media-uploads.md).

# Reference Media Uploads

Reference media gives the model a visual or creative anchor for generation. Instead of generating entirely from a text prompt, you can provide a starting frame, an ending frame, or a broader creative reference — giving the model concrete visual direction to work from.

***

#### Types of Reference Media

| Input                | What It Does                                                      | Supported By                                                                   |
| -------------------- | ----------------------------------------------------------------- | ------------------------------------------------------------------------------ |
| **Initial Image**    | Sets the first frame of the video                                 | All models                                                                     |
| **Last Frame Image** | Sets the final frame — model generates motion between both frames | Veo 3.1, Veo 3.1 Fast, Seedance, Seedance 2.5, Hailuo, Kling 3, Kling V3, Luma |
| **Reference Files**  | Provides image, video, or audio as a broader creative reference   | Seedance, Seedance 2.5 (image, video, audio); Happy Horse (image only)         |

***

#### Initial Image

The initial image sets the **first frame** of your generated video. The model animates from this image forward based on your prompt and keyword inputs.

This is the most commonly used reference input and is supported by all models. Use it when:

* You want to animate an existing photo, illustration, or render
* You have a specific visual starting point that must appear in the video
* You are generating product or character videos that need to start from a known visual

**How to upload:**

1. Click the **Initial Image** upload area in the Input Controls panel
2. Select your image file from your system
3. The image thumbnail appears as confirmation — your prompt and keywords now guide how it animates

**Tips for effective initial images:**

* Use clean, well-lit images with a clear subject
* Avoid heavy text overlays or complex backgrounds if the subject motion is the focus
* Higher resolution source images generally produce sharper video output
* Ensure the aspect ratio of your image matches your selected output dimension for best framing

***

#### Last Frame Image

The last frame image sets the **final frame** of your video. When both an initial and last frame are provided, the model generates the motion and transition between the two images.

This is useful for:

* Creating smooth transitions between two product shots
* Generating a visual journey from one state to another
* Producing before/after video content
* Building narrative sequences with defined start and end points

**How to upload:**

1. Upload your **Initial Image** first
2. Click the **Last Frame Image** upload area that appears
3. Select your ending frame image

{% hint style="info" %}
Last frame support is model dependent. If the model you have selected does not support last frame input, this upload option will not appear. See [Model Selection & Configuration →](/video-generation/model-selection-and-configuration.md) for a full breakdown.
{% endhint %}

**Tips for effective frame pairs:**

* Both images should share a consistent visual style, lighting, and color tone for smoother transitions
* The more visually similar the two frames, the more controlled and predictable the transition
* Large visual differences between frames produce more creative but less predictable motion

***

#### Reference Files

Reference files give the model broader creative guidance beyond defining specific frames. Depending on the model, you can upload images, videos, or audio as reference material.

This feature is currently supported by:

* **Seedance and Seedance 2.5** — supports image, video, and audio reference files
* **Happy Horse** — supports image reference files only

**Image Reference**

Provides a visual style, composition, or aesthetic reference for the generation without fixing a specific frame. The model draws stylistic inspiration from the reference image.

**Video Reference**

Provides a motion reference — the model uses the uploaded video's movement, pacing, and flow as guidance for how the generated video should move.

**Audio Reference**

Provides an audio reference that influences the mood, pacing, and rhythm of the generated video. Useful for aligning visual motion with a specific sound or music track.

**How to upload reference files (Seedance models):**

1. Select **Seedance** or **Seedance 2.5** as your model
2. Click the **Reference Files** upload area
3. Select your file — image, video, or audio
4. Add your prompt and proceed with generation

{% hint style="info" %}
Reference file support is exclusive to Seedance 2.0 and Seedance 2.0 Fast. Selecting a different model will not show this upload option.
{% endhint %}

***

#### Supported Formats & Limits

| File Type  | Supported Formats | Size Limit |
| ---------- | ----------------- | ---------- |
| **Images** | JPG, PNG, WEBP    | Max 20 MB  |
| **Video**  | MP4, MOV          | Max 100 MB |
| **Audio**  | MP3, WAV          | Max 50 MB  |


---

# Agent Instructions
This documentation is published with GitBook. GitBook is the documentation platform designed so that both humans and AI agents can read, navigate, and reason over technical content effectively. Learn more at gitbook.com.

## Querying This Documentation
If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter, and the optional `goal` query parameter:

```
GET https://docs.qolaba.ai/video-generation/input-controls/reference-media-uploads.md?ask=<question>&goal=<endgoal>
```

`ask` is the immediate question: it should be specific, self-contained, and written in natural language.
`goal` is optional and describes the broader end goal you are ultimately trying to accomplish on behalf of the user. GitBook uses it to tailor the answer towards what is most useful for that goal.

The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
