🖼️ Image-to-Video API

Animate Images with AI Motion

Turn any still image into a dynamic video clip with a single API call. AI-powered motion synthesis that brings photos, artwork, and product images to life.

POST /api/v1/content/image-to-video
{
  "model_slug": "kling-v2",
  "prompt": "Camera slowly zooms in, the subject smiles",
  "main_image_url": "https://example.com/photo.jpg"
}

// Response
{
  "success": true,
  "data": {
    "task_id": "task_xyz789",
    "status": "processing",
    "estimated_time": 90
  }
}

How It Works

Provide an image URL and a motion prompt — the AI handles the rest.

1

Provide Image URL

Send the URL of your image along with a motion prompt describing the desired animation.

2

AI Generates Motion

The AI model analyzes the image and creates natural motion, camera movements, and dynamic effects.

3

Get Video

Poll the status endpoint and download the finished HD video when generation is complete.

Code Samples

Python
import requests, time

API_KEY = "ak_your_key_here"
BASE = "https://mobileapi.aienvoy.dev/api/v1"
headers = {"X-API-Key": API_KEY}

# 1. Animate image
resp = requests.post(f"{BASE}/content/image-to-video",
    headers=headers,
    json={
        "model_slug": "kling-v2",
        "prompt": "Slow zoom in, subject turns head",
        "main_image_url": "https://example.com/photo.jpg"
    }
)
task_id = resp.json()["data"]["task_id"]

# 2. Poll until done
while True:
    status = requests.get(
        f"{BASE}/content/status/IMAGE-TO-VIDEO/{task_id}",
        headers=headers
    ).json()
    if status["data"]["status"] == "completed":
        print(status["data"]["result_url"])
        break
    time.sleep(10)
JavaScript (Node.js)
const API_KEY = "ak_your_key_here";
const BASE = "https://mobileapi.aienvoy.dev/api/v1";
const headers = {
  "X-API-Key": API_KEY,
  "Content-Type": "application/json"
};

// 1. Animate image
const res = await fetch(`${BASE}/content/image-to-video`, {
  method: "POST",
  headers,
  body: JSON.stringify({
    model_slug: "kling-v2",
    prompt: "Slow zoom in, subject turns head",
    main_image_url: "https://example.com/photo.jpg"
  })
});
const { data } = await res.json();

// 2. Poll until done
const poll = setInterval(async () => {
  const s = await fetch(
    `${BASE}/content/status/IMAGE-TO-VIDEO/${data.task_id}`,
    { headers }
  ).then(r => r.json());
  if (s.data.status === "completed") {
    clearInterval(poll);
    console.log(s.data.result_url);
  }
}, 10000);

API Features

URL-Based Input

Pass image URLs directly — no multipart uploads needed. Supports JPEG, PNG, and WebP.

Multiple Input Images

Provide up to 4 images for multi-reference generation and complex compositions.

Motion Prompts

Describe the desired motion in natural language — camera pan, zoom, object movement.

Character Profiles

Maintain consistent characters across generations with character profile IDs.

HD Output

Up to 1080p video output with smooth, natural-looking motion and transitions.

Async Processing

Non-blocking task-based workflow with polling endpoint for status updates.

Use Cases

🛍️

Product Animation

Animate product photos into engaging video ads

🎨

Digital Art

Bring illustrations and artwork to life with motion

🏠

Real Estate

Create property flythrough videos from photos

👗

Fashion

Animate model photos for dynamic lookbooks

Bring Your Images to Life

Get your free API key and animate your first image in minutes.