
Wan 2.2 Turbo Infinite Image-to-Video LoRA API by Atlas Cloud
Image-to-video LoRA variant for segmented prompt video generation with stable motion and 30fps workflow post-processing.
INPUT
OUTPUT
IdleYour request will cost $0.026 per run. For $10 you can run this model approximately 384 times.
Here's what you can do next:
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": "atlascloud/wan-2.2-turbo/infinite-image-to-video-lora",
"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.
pip install requestsAuthentication
All API requests require authentication via an API key. You can get your API key from the Atlas Cloud dashboard.
export ATLASCLOUD_API_KEY="your-api-key-here"HTTP Headers
import os
API_KEY = os.environ.get("ATLASCLOUD_API_KEY")
headers = {
"Content-Type": "application/json",
"Authorization": f"Bearer {API_KEY}"
}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.
/api/v1/model/generateVideoRequest Body
import requests
url = "https://api.atlascloud.ai/api/v1/model/generateVideo"
headers = {
"Content-Type": "application/json",
"Authorization": "Bearer $ATLASCLOUD_API_KEY"
}
data = {
"model": "atlascloud/wan-2.2-turbo/infinite-image-to-video-lora",
"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.
/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.
/api/v1/model/uploadMediaUpload 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.
No parameters available.
Example Request Body
{
"model": "atlascloud/wan-2.2-turbo/infinite-image-to-video-lora"
}Output Schema
The API returns a prediction response with the generated output URLs.
Example Response
{
"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
Install
npx skills add AtlasCloudAI/atlas-cloud-skillsSetup API Key
Get your API key from the Atlas Cloud dashboard and set it as an environment variable.
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.
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
Install
npx -y atlascloud-mcpConfiguration
Add the following configuration to your IDE's MCP settings file.
{
"mcpServers": {
"atlascloud": {
"command": "npx",
"args": [
"-y",
"atlascloud-mcp"
],
"env": {
"ATLASCLOUD_API_KEY": "your-api-key-here"
}
}
}
}Available Tools
API Schema
Schema not availablePlease log in to view request history
You need to be logged in to access your model request history.
Log InWan 2.2 Turbo Infinite Image-to-Video — LoRA
Model Overview
| Field | Description |
|---|---|
| Model Name | atlascloud/wan-2.2-turbo/infinite-image-to-video-lora |
| Model Type | Advanced Image-to-Video Generation |
| Core Architecture | Mixture-of-Experts (MoE) |
| Active Parameters | 14B + LoRA adapter |
| Variant | LoRA |
The LoRA variant of Wan 2.2 Turbo Infinite Image-to-Video. Same Infinite segmented-prompt mechanic and acceleration stack as the base model, with LoRA-grade fidelity and motion stability for final renders. Built on the Wan 2.2 Mixture-of-Experts (MoE) foundation for unrestricted creative work.
Key Features & Innovations
1. Ultra-Fast Inference: 4-Step Distillation with RCM
- RCM (Refined Consistency Model) Sampler — efficient ODE solver that improves single-step sampling quality.
- 4-Step Distillation — denoising compressed to 4 steps, enabling cinematic-grade generation at low latency. LoRA inference is ~10–20 % slower than base but stays well within interactive territory.
2. Infinite-Length Generation: Anchor-Frame Autoregressive Architecture
- Anchor-Frame Evolution — automatically extracts key "anchor frames" during generation as global temporal references.
- Dual-Frame Constraint (Anchor + Last Frame) — combines global structural consistency with motion continuity to construct video sequences autoregressively.
- Semantic Stability — LoRA further sharpens identity and detail consistency across multi-minute outputs.
3. Cinematic-Level Aesthetics (Inherited + LoRA-Enhanced)
- Precise Control — detailed labels for lighting, composition, color tone.
- Complex Motion — fluid motion across diverse semantics.
- Fine-Grained Fidelity — LoRA adapter delivers sharper textures, more stable identities, and stylistic depth that the base variant cannot match on its own.
Why Infinite?
Output duration equals prompt_count × duration_per_segment, up to 6 prompts x 5 s. Direct each segment with its own prompt; the API returns one server-stitched 30 fps MP4.
| Prompts | Per-segment | Total output |
|---|---|---|
| 1 | 5 s | 5 s |
| 3 | 5 s | 15 s |
| 6 | 5 s | 30 s |
When to Pick the LoRA Variant
- Final renders, not drafts — the quality margin is worth the +30 % price.
- Subjects with fine identity details that must stay consistent across segments.
- Stylized motion or lighting that the base model under-delivers on.
For early iteration / bulk drafts, use the base:
atlascloud/wan-2.2-turbo/infinite-image-to-video (cheaper, faster).
60-second Quickstart
curl -X POST https://api.atlascloud.ai/api/v1/model/generateVideo \ -H "Authorization: Bearer $APIKEY" \ -H "Content-Type: application/json" \ -d '{ "model": "atlascloud/wan-2.2-turbo/infinite-image-to-video-lora", "image": "https://static.atlascloud.ai/media/images/db548fe3bd5cafa4ef7e0141d69c8566.jpeg", "prompt": [ "A classic golden Cadillac speeds through a desert, kicking up a massive cloud of dust behind it.", "Camera pans to the passenger firing an assault rifle at monstrous dinosaurs hot on the trail.", "The roaring creatures close in as the driver grips the wheel, knuckles white." ], "duration": 5, "resolution": "720p" }'
Returns one MP4 — segments are stitched server-side at 30 fps.
Request Fields
| Field | Type | Required | Notes |
|---|---|---|---|
model | string | ✅ | atlascloud/wan-2.2-turbo/infinite-image-to-video-lora |
image | string (URL) | ✅ | Source frame; jpg/png |
prompt | string[] | ✅ | Must be a JSON array. Plain string is rejected. |
duration | number | ✅ | Fixed at 5 s per segment. |
resolution | string | optional | 480p, 720p, or 1080p. Defaults to 720p. |
seed | number | optional | -1 for random |
Pricing — at a glance
price = $0.026 × max(1, prompt_count) × max(5, duration_seconds) × resolution_factor 480p → 1 720p → 2 1080p → 3
Common combos:
| Prompts | Duration | Resolution | Total |
|---|---|---|---|
| 1 | 5 s | 480 p | $0.13 |
| 1 | 5 s | 720 p | $0.26 |
| 1 | 5 s | 1080 p | $0.39 |
| 3 | 5 s | 720 p | $0.78 |
| 6 | 5 s | 720 p | $1.56 |
| 6 | 5 s | 1080 p | $2.34 |
Output Spec
- Format: MP4 (H.264)
- Frame rate: 30 fps (post-processed)
- Resolution: 480 p / 720 p / 1080 p tiers, aspect-ratio preserving
- Audio: none
Intended Use & Applications
- Final cinematic renders with cross-segment identity stability.
- High-fidelity advertising / pre-visualization that depend on stylistic consistency.
- Identity-critical I2V where minor drift would break the narrative.
Usage Guidelines
This model is tuned for adult-oriented, unrestricted creative generation. By calling it you confirm:
- All depicted subjects are 18 +.
- You hold the rights to the source image.
- You will not generate content depicting real, identifiable people without their explicit consent.
Violations may result in account suspension.
Limitations
promptmust be a JSON array, never a plain string.- LoRA reduces but does not eliminate cross-segment identity drift.
- LoRA generation is ~10–20 % slower per segment than base.
Related
- Base variant:
atlascloud/wan-2.2-turbo/infinite-image-to-video
Note: This model is designed to empower the creative community. Users are expected to follow AI ethical guidelines and copyright regulations.




