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.

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.
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:
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()Installa il pacchetto richiesto per il tuo linguaggio.
pip install requestsTutte le richieste API richiedono l'autenticazione tramite una chiave API. Puoi ottenere la tua chiave API dalla dashboard di Atlas Cloud.
export ATLASCLOUD_API_KEY="your-api-key-here"import os
API_KEY = os.environ.get("ATLASCLOUD_API_KEY")
headers = {
"Content-Type": "application/json",
"Authorization": f"Bearer {API_KEY}"
}Non esporre mai la tua chiave API nel codice lato client o nei repository pubblici. Utilizza invece variabili d'ambiente o un proxy backend.
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())Invia una richiesta di generazione asincrona. L'API restituisce un ID di previsione che puoi usare per controllare lo stato e recuperare il risultato.
/api/v1/model/generateVideoimport 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']}"){
"id": "pred_abc123",
"status": "processing",
"model": "model-name",
"created_at": "2025-01-01T00:00:00Z"
}Interroga l'endpoint di previsione per verificare lo stato attuale della tua richiesta.
/api/v1/model/prediction/{prediction_id}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)processingLa richiesta è ancora in fase di elaborazione.completedLa generazione è completata. I risultati sono disponibili.succeededLa generazione è riuscita. I risultati sono disponibili.failedLa generazione è fallita. Controlla il campo errore.{
"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"
}
}Carica file nello storage Atlas Cloud e ottieni un URL utilizzabile nelle tue richieste API. Usa multipart/form-data per il caricamento.
/api/v1/model/uploadMediaimport 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}"){
"data": {
"download_url": "https://storage.atlascloud.ai/uploads/abc123/image.png",
"file_name": "image.png",
"content_type": "image/png",
"size": 1024000
}
}I seguenti parametri sono accettati nel corpo della richiesta.
Nessun parametro disponibile.
{
"model": "vidu/q2-pro/reference-to-video"
}L'API restituisce una risposta di previsione con gli URL degli output generati.
{
"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 integra oltre 300 modelli di IA direttamente nel tuo assistente di codifica IA. Un comando per installare, poi usa il linguaggio naturale per generare immagini, video e chattare con LLM.
npx skills add AtlasCloudAI/atlas-cloud-skillsOttieni la tua chiave API dalla dashboard di Atlas Cloud e impostala come variabile d'ambiente.
export ATLASCLOUD_API_KEY="your-api-key-here"Una volta installato, puoi usare il linguaggio naturale nel tuo assistente IA per accedere a tutti i modelli Atlas Cloud.
Il server MCP di Atlas Cloud collega il tuo IDE con oltre 300 modelli di IA tramite il Model Context Protocol. Funziona con qualsiasi client compatibile MCP.
npx -y atlascloud-mcpAggiungi la seguente configurazione al file delle impostazioni MCP del tuo IDE.
{
"mcpServers": {
"atlascloud": {
"command": "npx",
"args": [
"-y",
"atlascloud-mcp"
],
"env": {
"ATLASCLOUD_API_KEY": "your-api-key-here"
}
}
}
}Schema not availableYou need to be logged in to access your model request history.
Log InVidu 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.
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.
| 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: 540p, 720p (default), 1080p |
| duration | No | Video length in seconds (1-10, default: 5) |
| 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 |
| Resolution | Cost |
|---|---|
| 540p | Starts at 0.0250/sec |
| 720p | Starts at 0.0250/sec |
| 1080p | Starts at 0.0500/sec |