vidu/q2-pro/reference-to-video

Vidu Q2-Pro 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.

REFERENCE-TO-VIDEONEW
Home
Explore
vidu/q2-pro/reference-to-video
Vidu Q2-Pro Reference-to-video
reference-to-video
PRO

Vidu Q2-Pro 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.

INPUT

Loading parameter configuration...

OUTPUT

Idle
Your generated videos will appear here
Configure your settings and click Run to get started

Your request will cost $0.085 per run. For $10 you can run this model approximately 117 times.

Here's what you can do next:

Parameters

Code Example

import requests
import time

# Step 1: Start video generation
generate_url = "https://api.atlascloud.ai/api/v1/model/generateVideo"
headers = {
    "Content-Type": "application/json",
    "Authorization": "Bearer $ATLASCLOUD_API_KEY"
}
data = {
    "model": "vidu/q2-pro/reference-to-video",
    "prompt": "A beautiful sunset over the ocean with gentle waves",
    "width": 512,
    "height": 512,
    "duration": 3,
    "fps": 24,
}

generate_response = requests.post(generate_url, headers=headers, json=data)
generate_result = generate_response.json()
prediction_id = generate_result["data"]["id"]

# Step 2: Poll for result
poll_url = f"https://api.atlascloud.ai/api/v1/model/prediction/{prediction_id}"

def check_status():
    while True:
        response = requests.get(poll_url, headers={"Authorization": "Bearer $ATLASCLOUD_API_KEY"})
        result = response.json()

        if result["data"]["status"] in ["completed", "succeeded"]:
            print("Generated video:", result["data"]["outputs"][0])
            return result["data"]["outputs"][0]
        elif result["data"]["status"] == "failed":
            raise Exception(result["data"]["error"] or "Generation failed")
        else:
            # Still processing, wait 2 seconds
            time.sleep(2)

video_url = check_status()

Install

Install the required package for your language.

bash
pip install requests

Authentication

All API requests require authentication via an API key. You can get your API key from the Atlas Cloud dashboard.

bash
export ATLASCLOUD_API_KEY="your-api-key-here"

HTTP Headers

python
import os

API_KEY = os.environ.get("ATLASCLOUD_API_KEY")
headers = {
    "Content-Type": "application/json",
    "Authorization": f"Bearer {API_KEY}"
}
Keep your API key secure

Never expose your API key in client-side code or public repositories. Use environment variables or a backend proxy instead.

Submit a request

import requests

url = "https://api.atlascloud.ai/api/v1/model/generateVideo"
headers = {
    "Content-Type": "application/json",
    "Authorization": "Bearer $ATLASCLOUD_API_KEY"
}
data = {
    "model": "your-model",
    "prompt": "A beautiful landscape"
}

response = requests.post(url, headers=headers, json=data)
print(response.json())

Submit a Request

Submit an asynchronous generation request. The API returns a prediction ID that you can use to check the status and retrieve the result.

POST/api/v1/model/generateVideo

Request Body

import requests

url = "https://api.atlascloud.ai/api/v1/model/generateVideo"
headers = {
    "Content-Type": "application/json",
    "Authorization": "Bearer $ATLASCLOUD_API_KEY"
}

data = {
    "model": "vidu/q2-pro/reference-to-video",
    "input": {
        "prompt": "A beautiful sunset over the ocean with gentle waves"
    }
}

response = requests.post(url, headers=headers, json=data)
result = response.json()

print(f"Prediction ID: {result['id']}")
print(f"Status: {result['status']}")

Response

{
  "id": "pred_abc123",
  "status": "processing",
  "model": "model-name",
  "created_at": "2025-01-01T00:00:00Z"
}

Check Status

Poll the prediction endpoint to check the current status of your request.

GET/api/v1/model/prediction/{prediction_id}

Polling Example

import requests
import time

prediction_id = "pred_abc123"
url = f"https://api.atlascloud.ai/api/v1/model/prediction/{prediction_id}"
headers = { "Authorization": "Bearer $ATLASCLOUD_API_KEY" }

while True:
    response = requests.get(url, headers=headers)
    result = response.json()
    status = result["data"]["status"]
    print(f"Status: {status}")

    if status in ["completed", "succeeded"]:
        output_url = result["data"]["outputs"][0]
        print(f"Output URL: {output_url}")
        break
    elif status == "failed":
        print(f"Error: {result['data'].get('error', 'Unknown')}")
        break

    time.sleep(3)

Status Values

processingThe request is still being processed.
completedGeneration is complete. Outputs are available.
succeededGeneration succeeded. Outputs are available.
failedGeneration failed. Check the error field.

Completed Response

{
  "data": {
    "id": "pred_abc123",
    "status": "completed",
    "outputs": [
      "https://storage.atlascloud.ai/outputs/result.mp4"
    ],
    "metrics": {
      "predict_time": 45.2
    },
    "created_at": "2025-01-01T00:00:00Z",
    "completed_at": "2025-01-01T00:00:10Z"
  }
}

Upload Files

Upload files to Atlas Cloud storage and get a URL you can use in your API requests. Use multipart/form-data to upload.

POST/api/v1/model/uploadMedia

Upload Example

import requests

url = "https://api.atlascloud.ai/api/v1/model/uploadMedia"
headers = { "Authorization": "Bearer $ATLASCLOUD_API_KEY" }

with open("image.png", "rb") as f:
    files = {"file": ("image.png", f, "image/png")}
    response = requests.post(url, headers=headers, files=files)

result = response.json()
download_url = result["data"]["download_url"]
print(f"File URL: {download_url}")

Response

{
  "data": {
    "download_url": "https://storage.atlascloud.ai/uploads/abc123/image.png",
    "file_name": "image.png",
    "content_type": "image/png",
    "size": 1024000
  }
}

Input Schema

The following parameters are accepted in the request body.

Total: 0Required: 0Optional: 0

No parameters available.

Example Request Body

json
{
  "model": "vidu/q2-pro/reference-to-video"
}

Output Schema

The API returns a prediction response with the generated output URLs.

idstringrequired
Unique identifier for the prediction.
statusstringrequired
Current status of the prediction.
processingcompletedsucceededfailed
modelstringrequired
The model used for generation.
outputsarray[string]
Array of output URLs. Available when status is "completed".
errorstring
Error message if status is "failed".
metricsobject
Performance metrics.
predict_timenumber
Time taken for video generation in seconds.
created_atstringrequired
ISO 8601 timestamp when the prediction was created.
Format: date-time
completed_atstring
ISO 8601 timestamp when the prediction was completed.
Format: date-time

Example Response

json
{
  "id": "pred_abc123",
  "status": "completed",
  "model": "model-name",
  "outputs": [
    "https://storage.atlascloud.ai/outputs/result.mp4"
  ],
  "metrics": {
    "predict_time": 45.2
  },
  "created_at": "2025-01-01T00:00:00Z",
  "completed_at": "2025-01-01T00:00:10Z"
}

Atlas Cloud Skills

Atlas Cloud Skills integrates 300+ AI models directly into your AI coding assistant. One command to install, then use natural language to generate images, videos, and chat with LLMs.

Supported Clients

Claude Code
OpenAI Codex
Gemini CLI
Cursor
Windsurf
VS Code
Trae
GitHub Copilot
Cline
Roo Code
Amp
Goose
Replit
40+ supported clients

Install

bash
npx skills add AtlasCloudAI/atlas-cloud-skills

Setup API Key

Get your API key from the Atlas Cloud dashboard and set it as an environment variable.

bash
export ATLASCLOUD_API_KEY="your-api-key-here"

Capabilities

Once installed, you can use natural language in your AI assistant to access all Atlas Cloud models.

Image GenerationGenerate images with models like Nano Banana 2, Z-Image, and more.
Video CreationCreate videos from text or images with Kling, Vidu, Veo, etc.
LLM ChatChat with Qwen, DeepSeek, and other large language models.
Media UploadUpload local files for image editing and image-to-video workflows.

MCP Server

Atlas Cloud MCP Server connects your IDE with 300+ AI models via the Model Context Protocol. Works with any MCP-compatible client.

Supported Clients

Cursor
VS Code
Windsurf
Claude Code
OpenAI Codex
Gemini CLI
Cline
Roo Code
100+ supported clients

Install

bash
npx -y atlascloud-mcp

Configuration

Add the following configuration to your IDE's MCP settings file.

json
{
  "mcpServers": {
    "atlascloud": {
      "command": "npx",
      "args": [
        "-y",
        "atlascloud-mcp"
      ],
      "env": {
        "ATLASCLOUD_API_KEY": "your-api-key-here"
      }
    }
  }
}

Available Tools

atlas_generate_imageGenerate images from text prompts.
atlas_generate_videoCreate videos from text or images.
atlas_chatChat with large language models.
atlas_list_modelsBrowse 300+ available AI models.
atlas_quick_generateOne-step content creation with auto model selection.
atlas_upload_mediaUpload local files for API workflows.

API Schema

Schema not available

Please log in to view request history

You need to be logged in to access your model request history.

Log In

Vidu Q2-Pro Reference-to-Video

Vidu Q2-Pro Reference-to-Video is a professional-grade AI video generation model that generates video featuring specific subjects with cinematic precision. Provide subject images alongside a motion prompt, and the model delivers up to 1080p video with rich detail, strict subject fidelity, and smooth natural motion — ideal for high-end creative, brand, and production workflows.

Why Choose This?

  • Professional quality Cinematic detail and smooth motion with faithful subject preservation at up to 1080p.

  • Subject-driven generation Feature specific characters or objects with strict visual fidelity throughout the video.

  • Flexible duration Create videos up to 10 seconds in length.

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

  • Motion control Adjust movement amplitude for subtle or dynamic animations.

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

Parameters

ParameterRequiredDescription
promptYesText description of the desired motion and action
subjectsYesOne or more subject images to feature in the video (URL or upload)
resolutionNoOutput quality: 540p, 720p (default), 1080p
durationNoVideo length in seconds (1-10, default: 5)
aspect_ratioNoAspect ratio of the output: 16:9 (default), 9:16, 1:1, 4:3, 3:4
movement_amplitudeNoMotion intensity: auto (default), small, medium, large
generate_audioNoWhether to generate audio for the video (default: true)
audio_typeNoAudio type when generate_audio is true: all (default), speech_only, sound_effect_only
seedNoSeed for generation (default: 0); use -1 for a random seed

How to Use

  1. Upload your subject images — provide one or more images of the subjects to feature in the video.
  2. Write your prompt — describe the motion, camera movement, and desired action.
  3. Set resolution — higher resolution for better quality, lower for faster processing.
  4. Adjust duration — set video length up to 10 seconds.
  5. Configure audio (optional) — enable audio and select the audio type: all, speech_only, or sound_effect_only.
  6. Set motion intensity (optional) — adjust movement_amplitude for subtle or dynamic animations.
  7. Run — submit and download your video.

Pricing

ResolutionCost
540pStarts at 0.1000,+0.1000, +0.0250/sec
720pStarts at 0.1500,+0.1500, +0.0250/sec
1080pStarts at 0.4250,+0.4250, +0.0500/sec

Best Use Cases

  • Character Consistency — Generate high-quality video featuring a specific character or subject with strict visual fidelity.
  • Brand & Product Videos — Produce professional-grade product animations while preserving brand identity.
  • Film & Narrative Production — Animate reference imagery for previs, concept reels, or final narrative content.
  • Style-Consistent Campaigns — Create multiple video assets that maintain a unified visual style across a campaign.
  • Premium Social Media Content — Publish cinematic, reference-guided video for high-visibility channels.

Pro Tips

  • Use the Prompt Enhancer to refine your motion descriptions.
  • Provide high-resolution, well-composed subject images for the strongest visual consistency.
  • Be specific about movement direction, speed, camera angles, and framing in your prompt.
  • Use multiple subject images to define different characters or scene elements independently.
  • Set movement_amplitude to "small" for precise, controlled motion or "large" for expressive action.
  • Set audio_type to speech_only when the scene involves dialogue, or sound_effect_only for purely ambient audio.
  • Describe lighting, atmosphere, and environmental effects in the prompt for richer scene quality.

Notes

  • Both prompt and subjects are required fields.
  • Maximum video duration is 10 seconds.
  • When generate_audio is true, audio_type controls what is generated: all includes speech and sound effects, speech_only generates voice audio, sound_effect_only generates ambient and environmental sounds.
  • Ensure uploaded subject image URLs are publicly accessible.

Start From 300+ Models,

Explore all models