Vidu Q2 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 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.
Votre requête coûtera $0.064 par exécution. Avec $10, vous pouvez exécuter ce modèle environ 156 fois.
Vous pouvez continuer avec :
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/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()Installez le package requis pour votre langage.
pip install requestsToutes les requêtes API nécessitent une authentification via une clé API. Vous pouvez obtenir votre clé API depuis le tableau de bord 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}"
}N'exposez jamais votre clé API dans du code côté client ou dans des dépôts publics. Utilisez plutôt des variables d'environnement ou 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())Soumettez une requête de génération asynchrone. L'API renvoie un identifiant de prédiction que vous pouvez utiliser pour vérifier le statut et récupérer le résultat.
/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/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"
}Interrogez le point de terminaison de prédiction pour vérifier le statut actuel de votre requête.
/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 requête est encore en cours de traitement.completedLa génération est terminée. Les résultats sont disponibles.succeededLa génération a réussi. Les résultats sont disponibles.failedLa génération a échoué. Vérifiez le champ d'erreur.{
"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"
}
}Téléchargez des fichiers vers le stockage Atlas Cloud et obtenez une URL utilisable dans vos requêtes API. Utilisez multipart/form-data pour le téléchargement.
/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
}
}Les paramètres suivants sont acceptés dans le corps de la requête.
Aucun paramètre disponible.
{
"model": "vidu/q2/reference-to-video"
}L'API renvoie une réponse de prédiction avec les URL des résultats générés.
{
"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 intègre plus de 300 modèles d'IA directement dans votre assistant de codage IA. Une seule commande pour installer, puis utilisez le langage naturel pour générer des images, des vidéos et discuter avec des LLM.
npx skills add AtlasCloudAI/atlas-cloud-skillsObtenez votre clé API depuis le tableau de bord Atlas Cloud et définissez-la comme variable d'environnement.
export ATLASCLOUD_API_KEY="your-api-key-here"Une fois installé, vous pouvez utiliser le langage naturel dans votre assistant IA pour accéder à tous les modèles Atlas Cloud.
Le serveur MCP Atlas Cloud connecte votre IDE avec plus de 300 modèles d'IA via le Model Context Protocol. Compatible avec tout client compatible MCP.
npx -y atlascloud-mcpAjoutez la configuration suivante au fichier de paramètres MCP de votre IDE.
{
"mcpServers": {
"atlascloud": {
"command": "npx",
"args": [
"-y",
"atlascloud-mcp"
],
"env": {
"ATLASCLOUD_API_KEY": "your-api-key-here"
}
}
}
}Schéma non disponibleVous devez vous connecter pour accéder à l'historique de vos requêtes de modèle.
Se ConnecterVidu Q2 Reference-to-Video is a capable AI video generation model that generates video featuring specific subjects. Provide subject images alongside a motion prompt, and the model produces smooth, natural video that faithfully preserves each subject's appearance and identity — offering a strong balance of quality and cost for subject-driven workflows.
Balanced quality and speed Solid visual consistency and motion quality at a mid-tier price point.
Subject-driven generation Feature specific characters or objects with consistent appearance throughout the video.
High resolution output Generate videos in 540p, 720p, or 1080p quality.
Flexible duration Create videos from 1 to 10 seconds in length.
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.
| 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 |