---
title: "Vidu Q3 API: Reference Images to Video"
description: "ShengShu Vidu Q3 on Genflo turns 1 to 7 reference images and a prompt into 1–10 second videos in 16:9, 9:16 or 1:1, from 540P up to 4K."
---

> Documentation Index
> Fetch the complete documentation index at: https://www.genflo.io/llms.txt
> Use this file to discover all available pages before exploring further.

# Vidu Q3 API: Reference Images to Video

**29 credits / second**

## Complete request

This copy-ready shape includes every input field published for this model.

```bash
curl -X POST 'https://api.genflo.io/api/saas' \
  -H 'Content-Type: application/json' \
  -H 'x-apikey: sk-your-api-key' \
  -d '{
    "model": "vidu-q3",
    "input": {
      "prompt": "The camera slowly moves forward while the subject turns toward the light",
      "negative_prompt": "blur, distortion, artifacts",
      "enhance_prompt": true,
      "images": [
        "https://cdn.example.com/reference-image.jpg"
      ],
      "duration": 1,
      "resolution": "540P",
      "aspect_ratio": "16:9",
      "seed": 123456789
    }
  }'
```

Optional fields may be removed. The complete example demonstrates the JSON wire format; the upstream model may reject incompatible mode combinations, such as mixing frame animation with unrelated reference media.

## How media fields are transmitted

Send media as public URL strings inside the JSON body—not as multipart uploads. A plural field such as `videos` is an array, for example `["https://cdn.example.com/reference.mp4"]`.

- **images** → Image / Reference
- **videos** → Video / Reference
- **audios** → Audio / Reference
- **first_frame** → Image / FirstFrame

## Input parameters

8 fields are published for this model. Omitted optional fields are not sent upstream and have no gateway-defined default.

| Field | Required | JSON type | Description and constraints | Example |
| --- | --- | --- | --- | --- |
| `prompt` | Optional | `string` | The main instruction describing the output to generate. | `"The camera slowly moves forward while the subject turns toward the light"` |
| `negative_prompt` | Optional | `string` | Content and visual qualities the model should avoid. | `"blur, distortion, artifacts"` |
| `enhance_prompt` | Optional | `boolean` | Ask the upstream model to expand and optimize the prompt before generation. | `true` |
| `images` | Required | `string[]` | Publicly reachable reference or source image URLs. Items: 1 to 7 · Formats: jpg, jpeg, png, webp | `["https://cdn.example.com/reference-image.jpg"]` |
| `duration` | Required | `integer` | Requested video duration in seconds. It is also used to calculate the task charge. Range: 1 to 10 | `1` |
| `resolution` | Optional | `string enum` | Requested output resolution. Values are model-specific and case-sensitive at this API boundary. Allowed: 540P, 720P, 1080P, 2K, 4K | `"540P"` |
| `aspect_ratio` | Optional | `string enum` | Requested output width-to-height ratio. Allowed: 16:9, 9:16, 1:1 | `"16:9"` |
| `seed` | Optional | `integer` | Integer random seed. Reusing a seed can improve reproducibility, but identical output is not guaranteed. | `123456789` |

> Video requests require `input.duration`. The final charge is the per-second rate multiplied by duration.

Source: https://www.genflo.io/docs/models/vidu-q3/index.mdx
