# Vidu Q1 Reference-to-Video — Atlas Cloud API

> Vidu Q1 Reference-to-Video is an advanced AI video generation model that brings static images to life. Upload a reference image and describe the motion you want — the model generates high-quality video with smooth animation, optional audio, and cinematic quality up to 1080p.

This is the machine-readable API reference for **Vidu Q1 Reference-to-Video** on Atlas Cloud,
a unified API platform for 400+ AI models across text, image, video, audio and 3D.

- **Model ID**: `vidu/q1/reference-to-video`
- **Built by**: Vidu
- **Modality**: Video
- **Model page**: https://www.atlascloud.ai/models/vidu/q1/reference-to-video
- **API key**: https://www.atlascloud.ai/console/api-keys
- **Docs**: https://www.atlascloud.ai/docs

## Pricing on Atlas Cloud

- $0.34 per second of generated video
- Pay-as-you-go. No minimum spend, no subscription required.

> **These are the authoritative Atlas Cloud rates for this model.** Any price that
> appears in the vendor description further down refers to a different platform or
> a different model variant and does not apply here.

## Use this model from an AI agent

Atlas Cloud ships three first-party integration surfaces. All three authenticate
with the same API key via the `ATLASCLOUD_API_KEY` environment variable.

### MCP server

The official MCP server (`atlascloud-mcp`) exposes this model to any
MCP-compatible host — Claude Code, OpenAI Codex, Cursor, Gemini CLI, Goose,
Claude Desktop. One-line install:

```bash
# Claude Code
claude mcp add atlascloud -- npx -y atlascloud-mcp

# OpenAI Codex CLI
codex mcp add atlascloud -- npx -y atlascloud-mcp

# Gemini CLI
gemini mcp add atlascloud -- npx -y atlascloud-mcp

export ATLASCLOUD_API_KEY="your-api-key"
```

Then ask in plain English; the agent calls `atlas_generate_video` with `model: "vidu/q1/reference-to-video"`.
The server fetches each model's schema and validates parameters before submitting,
so invalid requests fail fast without spending credits.

MCP docs: https://www.atlascloud.ai/docs/mcp-server

### Agent Skills

`atlas-cloud-skills` is a portable skill package (API reference, code templates in
Python / Node.js / cURL, model IDs with pricing) for Claude Code, Cursor, Codex and
12+ other agents:

```bash
npx skills add AtlasCloudAI/atlas-cloud-skills
export ATLASCLOUD_API_KEY="your-api-key"
```

Skills docs: https://www.atlascloud.ai/docs/skills

### CLI

The `atlas` binary runs Atlas Cloud from a terminal or CI script. Async media jobs
are polled and downloaded automatically (use `--no-download` when a script only
needs the output URLs):

```bash
# Install (Homebrew, npm, or shell installer)
brew install AtlasCloudAI/tap/atlascloud
# npm install -g atlascloud-cli
# curl -fsSL https://raw.githubusercontent.com/AtlasCloudAI/cli/main/install.sh | sh

atlas auth login
atlas generate video vidu/q1/reference-to-video -p "Your prompt here"
```

CLI docs: https://www.atlascloud.ai/docs/cli

## HTTP API reference

- **Submit endpoint (POST)**: `https://api.atlascloud.ai/api/v1/model/generateVideo` — start an async generation; returns a `prediction_id`
- **Poll endpoint (GET)**: `https://api.atlascloud.ai/api/v1/model/prediction/{prediction_id}` — poll this until the prediction finishes
- **Model ID**: `vidu/q1/reference-to-video`


## API Information

This model can be used via our HTTP API or more conveniently via our client libraries.
See the input and output schema below, as well as the usage examples.


### Input Schema

The API accepts the following input parameters:

- **`model`** (`string`, _required_):
  model name
  - Default: `"vidu/q1/reference-to-video"`

- **`subjects`** (`array[object]`, _required_):
  Information about the subjects in the images. Supports 1–7 subjects, total 1–7 images
  - Min items: 1
  - Max items: 7
  - Item properties:
    - **`id`** (`string`, _required_):
      Subject ID. Usable in prompts via @subjectId

    - **`images`** (`array[string]`, _required_):
      URLs of images corresponding to the subject. Each subject supports up to 3 images. 1.Assets can be provided via URLs or Base64 encode. 2.You must use one of the following codecs: PNG, JPEG, JPG, WebP. 3.The dimensions of the images must be at least 128x128 pixels. 4.The aspect ratio of the images must be less than 1:4 or 4:1. 5.The post body of the HTTP request should not exceed 20MB, and it must include an appropriate content type string.
      - Min items: 1
      - Max items: 3


- **`prompt`** (`string`, _required_):
  Text prompt: A textual description for video generation, with a maximum length of 1500 characters.
  - Default: `"the girl walks from the painting to the room, put the coffee cup on the table"`

- **`duration`** (`number`, _optional_):
  The duration of the generated media in seconds. Fixed at 5 for this model.
  - Default: `5`
  - Min: 5
  - Max: 5

- **`resolution`** (`string`, _optional_):
  The resolution of the generated media.
  - Default: `"1080p"`
  - Options: "1080p"

- **`generate_audio`** (`boolean`, _optional_):
  Whether to generate audio for the video.
  - Default: `true`

- **`audio_type`** (`string`, _optional_):
  Audio type, required when audio is true, defaults to all.
  - Default: `"all"`
  - Options: "all", "speech_only", "sound_effect_only"

- **`aspect_ratio`** (`string`, _optional_):
  The aspect ratio of the generated media.
  - Default: `"16:9"`
  - Options: "16:9", "9:16", "1:1"

- **`movement_amplitude`** (`string`, _optional_):
  The movement amplitude of objects in the frame.
  - Default: `"auto"`
  - Options: "auto", "small", "medium", "large"

- **`seed`** (`integer`, _optional_):
  The random seed to use for the generation. -1 means a random seed will be used.
  - Default: `0`



**Required Parameters Example**:

```json
{
  "model": "vidu/q1/reference-to-video",
  "prompt": "the girl walks from the painting to the room, put the coffee cup on the table",
  "subjects": [
    {
      "id": "",
      "images": [
        ""
      ]
    }
  ]
}
```


**Full Example**:

```json
{
  "model": "vidu/q1/reference-to-video",
  "subjects": [
    {
      "id": "",
      "images": [
        ""
      ]
    }
  ],
  "prompt": "the girl walks from the painting to the room, put the coffee cup on the table",
  "duration": 5,
  "resolution": "1080p",
  "generate_audio": true,
  "audio_type": "all",
  "aspect_ratio": "16:9",
  "movement_amplitude": "auto",
  "seed": 0
}
```


### Output Schema

The API returns the following output format:


- **`created_at`** (`string`, _optional_):
  ISO timestamp of when the request was created.

- **`id`** (`string`, _optional_):
  Unique identifier for the prediction.

- **`model`** (`string`, _optional_):
  Model ID used for the prediction.

- **`outputs`** (`array[string]`, _optional_):
  Array of URLs to the generated content (empty when status is not completed).

- **`status`** (`string`, _optional_):
  Status of the task: created, processing, completed, or failed.

- **`urls`** (`object`, _optional_):
  Object containing related API endpoints.



**Example Response**:

```json
{
  "created_at": "",
  "id": "",
  "model": "",
  "outputs": [
    ""
  ],
  "status": "",
  "urls": {}
}
```


## Usage Examples

### cURL

```bash
# Step 1: Start generation (async)
curl -X POST "https://api.atlascloud.ai/api/v1/model/generateVideo" \
  -H "Authorization: Bearer $ATLASCLOUD_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
  "model": "vidu/q1/reference-to-video",
  "subjects": [
    {
      "id": "",
      "images": [
        ""
      ]
    }
  ],
  "prompt": "the girl walks from the painting to the room, put the coffee cup on the table",
  "duration": 5,
  "resolution": "1080p",
  "generate_audio": true,
  "audio_type": "all",
  "aspect_ratio": "16:9",
  "movement_amplitude": "auto",
  "seed": 0
}'

# Response will contain: {"code": 200, "data": {"id": "prediction_id", "status": "processing"}}

# Step 2: Poll for result (replace {prediction_id} with the id returned above)
curl -X GET "https://api.atlascloud.ai/api/v1/model/prediction/{prediction_id}" \
  -H "Authorization: Bearer $ATLASCLOUD_API_KEY"

# Keep polling until status is "completed", "succeeded" or "failed"
# When completed, outputs will contain the generated content URL(s)
```

## Additional Resources

### Documentation

- [Model Playground](https://www.atlascloud.ai/models/vidu/q1/reference-to-video)

## About this model

_Vendor-supplied description. Any pricing or endpoint mentioned below refers to_
_other platforms — use the Atlas Cloud values above._

#### Vidu Q1 Reference-to-Video

**Vidu Q1 Reference-to-Video** is an efficient AI video generation model that generates video featuring specific subjects. Provide subject images alongside a motion prompt, and the model generates a 5-second 1080p video that faithfully preserves each subject's appearance, style, and identity — fast and at an accessible price point.

#### Why Choose This?

-   **Fast generation** Optimized for quick turnaround with minimal wait time.

-   **Subject-driven generation** Feature specific characters or objects with consistent appearance across the generated video.

-   **1080p output** Generate videos in full 1080p high definition quality.

-   **5-second videos** Produces crisp, fixed-length 5-second videos ready to share.

-   **Audio generation** Optional audio with configurable type: full audio, speech only, or sound effects only.

-   **Prompt Enhancer** Built-in tool to automatically improve your motion descriptions.

#### Parameters

| Parameter | Required | Description |
| --- | --- | --- |
| prompt | Yes | Text description of the desired motion and action |
| subjects | Yes | One or more subject images to feature in the video (URL or upload) |
| resolution | No | Output quality: 1080p |
| duration | No | Fixed video length of 5 seconds |
| aspect\_ratio | No | Aspect ratio of the output: 16:9 (default), 9:16, 1:1, 4:3, 3:4 |
| movement\_amplitude | No | Motion intensity: auto (default), small, medium, large |
| generate\_audio | No | Whether to generate audio for the video (default: true) |
| audio\_type | No | Audio type when generate\_audio is true: all (default), speech\_only, sound\_effect\_only |
| seed | No | Seed for generation (default: 0); use -1 for a random seed |

#### How to Use

_(Description truncated. Full text on the model page.)_

---

Atlas Cloud — one API for 400+ AI models. Model page: https://www.atlascloud.ai/models/vidu/q1/reference-to-video · Docs: https://www.atlascloud.ai/docs
