Video Generation
Overview
Atlas Cloud provides access to industry-leading AI video generation models through a unified API. Generate high-quality videos from text prompts, images, or existing video clips with just a single API call.
Supported Model Types
| Type | Description | Use Cases |
|---|---|---|
| Text-to-Video | Generate videos from text descriptions | Creative content, marketing, prototyping |
| Image-to-Video | Animate static images into dynamic videos | Product demos, character animation, scene creation |
| Video-to-Video | Transform and enhance existing videos | Style transfer, video enhancement, effects |
| Audio-to-Video | Generate videos synchronized with audio | Music videos, podcast visuals, presentations |
Featured Models
| Model | Provider | Highlights |
|---|---|---|
| Kling | KwaiVGI | High-quality video generation with precise motion control, multiple versions available |
| Vidu | Vidu | Next-generation video AI with cinematic quality |
| Seedance | ByteDance | Advanced dance and motion video generation |
| Wan | Alibaba | Powerful video generation with strong prompt following |
| Hailuo | MiniMax | Creative video generation with diverse styles |
| Luma | Luma AI | Professional-grade AI video generation |
| PixVerse | PixVerse | Versatile video generation and editing |
For a complete list of all video models and their specifications, visit the Model Library.
API Usage
Text-to-Video
import requests
response = requests.post(
"https://api.atlascloud.ai/api/v1/model/generateVideo",
headers={
"Authorization": "Bearer your-api-key",
"Content-Type": "application/json"
},
json={
"model": "kling-v2.0",
"prompt": "A rocket launching into space with dramatic lighting and smoke effects"
}
)
prediction_id = response.json().get("predictionId")
print(f"Task submitted. Prediction ID: {prediction_id}")Image-to-Video
For image-to-video workflows, first upload your source image using the Upload Media endpoint, then pass the returned URL to the video generation request:
import requests
# Step 1: Upload source image
upload_response = requests.post(
"https://api.atlascloud.ai/api/v1/model/uploadMedia",
headers={"Authorization": "Bearer your-api-key"},
files={"file": open("source_image.jpg", "rb")}
)
image_url = upload_response.json().get("url")
# Step 2: Generate video from image
response = requests.post(
"https://api.atlascloud.ai/api/v1/model/generateVideo",
headers={
"Authorization": "Bearer your-api-key",
"Content-Type": "application/json"
},
json={
"model": "kling-v2.0",
"prompt": "The person in the image starts walking forward",
"image_url": image_url
}
)
prediction_id = response.json().get("predictionId")Check Generation Status
Video generation is asynchronous. Use the prediction ID to poll for results:
import requests
import time
def get_result(prediction_id, api_key):
while True:
response = requests.get(
f"https://api.atlascloud.ai/api/v1/model/getResult?predictionId={prediction_id}",
headers={"Authorization": f"Bearer {api_key}"}
)
result = response.json()
if result.get("status") == "completed":
return result.get("output")
elif result.get("status") == "failed":
raise Exception(f"Generation failed: {result.get('error')}")
time.sleep(5) # Poll every 5 seconds
output = get_result(prediction_id, "your-api-key")
print(f"Video URL: {output}")Node.js Example
const response = await fetch(
"https://api.atlascloud.ai/api/v1/model/generateVideo",
{
method: "POST",
headers: {
Authorization: "Bearer your-api-key",
"Content-Type": "application/json",
},
body: JSON.stringify({
model: "kling-v2.0",
prompt: "A beautiful timelapse of clouds moving over a mountain range",
}),
}
);
const { predictionId } = await response.json();
console.log(`Task submitted. Prediction ID: ${predictionId}`);Model Selection Tips
- Quality vs Speed: Newer model versions (e.g., Kling v3.0) typically offer better quality but may have longer generation times
- Motion Control: Some models offer better control over camera movement and subject motion
- Style: Different models excel at different styles — photorealistic, anime, cinematic, etc.
- Resolution & Duration: Check each model's supported resolutions and maximum video duration on its detail page
Browse and compare models on the Model Library. Each model page includes an interactive playground for testing and detailed parameter documentation.
For the full API specification, see the API Reference.