Video Generation
The Video Generation API enables animating static images into cinematic videos.
Quick Examples
Example 1: Disrobing Scene Animation
Prompt: "The person in the image is forming a heart shape with both hands and making a kissing pout."
Image Input:

Generated Video (LoRAs: none):
Using Image-to-Video API to generate video from provided image
The API requires both a text prompt and an input image (≤ 5 MB). The input image serves as the base, and the video is generated from it according to the provided prompt.
Endpoint:
https://open.eternalai.org/creative-ai/video
Create a generation request
Send a POST request with a text prompt and an input image (HTTP/HTTPS URL or base64 data URI). Include other options such as model_id, duration, audio, and video_config.
Request example:
curl --request POST \
--location 'https://open.eternalai.org/creative-ai/video' \
--header 'x-api-key: <YOUR_API_KEY>' \
--header 'Content-Type: application/json' \
--header 'accept: application/json' \
--data '{
"messages": [
{
"role": "user",
"content": [
{
"type": "text",
"text": "The person in the image is forming a heart shape with both hands and making a kissing pout"
},
{
"type": "image_url",
"image_url": {
"url": "https://cdn.eternalai.org/feed/2025/12/12/7df910dd-1bd8-4656-acab-59a8416b9808.jpg",
"filename": "7df910dd-1bd8-4656-acab-59a8416b9808.jpg"
}
}
]
}
],
"is_magic_prompt": true,
"duration": 5,
"audio": true,
"video_config": {
"is_fast_video": true
}
}'
Response example:
{
"status": 1,
"data": {
"request_id": "0b3403d3-8d0d-4db3-b3be-894b6aa3fa9f",
"status": "pending",
"result": "",
"progress": 0
},
"request_id": "0b3403d3-8d0d-4db3-b3be-894b6aa3fa9f"
}
Poll for result
Periodically call the result retrieval API with the request_id obtained from the previous step to poll for the request's result.
Endpoint:
https://open.eternalai.org/creative-ai/poll-result
Result retrieval example:
curl --request GET \
--location 'https://open.eternalai.org/creative-ai/poll-result/$REQUEST_ID' \
--header 'accept: application/json'
On success, the response is a JSON object with a result object containing a result_url field. This result_url is a signed URL for retrieving the generated video.
Response example:
{
"request_id": "0b3403d3-8d0d-4db3-b3be-894b6aa3fa9f",
"status": "success",
"progress": 100,
"result_url": "https://cdn.eternalai.org/agents/temp_video_0b3403d3-8d0d-4db3-b3be-894b6aa3fa9f_1768379187.mp4",
"effect_type": "video",
"encrypted_aes_key": ""
}
Input Image Format
The image_url field in the request accepts .jpg, .jpeg, .png, and .webp formats:
HTTP/HTTPS URL: A direct link to an image.
{
"type": "image_url",
"image_url": {
"url": "https://cdn.eternalai.org/eai_input_img_disrobing_scene.png",
"filename": "your-image.jpg"
}
}
Base64 Encoded Image: A data URI format string (e.g., data:image/png;base64,...)
{
"type": "image_url",
"image_url": {
"url": "data:image/png;base64,/9j/4AAQSkZJRgABAQEASABIAAD/2wBDAAQDAwQDAwQEAwFEZ//Z",
"filename": "your-image.jpg"
}
}
Other Parameters
| Parameter | Meaning | Sample Value |
|---|---|---|
is_magic_prompt | Auto-enhances your text prompt | true | false |
is_fast_video | Use fast low-quality mode | true | false |
loras | Extra mini-models to modify output | tiktok_hip_dance |
audio | Generate audio | true | false |
duration | Length of video in seconds | 5 | 10 (deprecated) |
Available LoRAs
You can use the following LoRA configurations for the video_config > loras field in the API request payload.
For full list of supported LoRA, fetch from this API:
curl --request GET --location 'https://open.eternalai.org/creative-ai/video/effects' | jq
- Tiktok Hip Dance
- Lora ID:
Tiktok Hip Dance - Model ID:
Wan-AI/Wan2.2-I2V-A14B-Lightning - Request payload example:
curl --request POST \
--location 'https://open.eternalai.org/creative-ai/video' \
--header 'x-api-key: <YOUR_API_KEY>' \
--header 'Content-Type: application/json' \
--header 'accept: application/json' \
--data '{
"messages": [
{
"role": "user",
"content": [
{
"type": "text",
"text": "the woman in the picture puts her hands lightly on the back of her neck, her head and body make dynamic changes with the rhythm, showing dance or display-type movements, the overall posture is natural and rhythmic"
},
{
"type": "image_url",
"image_url": {
"url": "https://storage.googleapis.com/eternal-ai/effects-19-11/videos/Tiktok%20hip%20dance/download%20(6).jpeg",
"filename": "download%20(6).jpeg"
}
}
]
}
],
"model_id": "Wan-AI/Wan2.2-I2V-A14B-Lightning",
"is_magic_prompt": true,
"duration": 5,
"audio": true,
"video_config": {
"is_fast_video": true,
"loras": [
"tiktok_hip_dance"
]
}
}'
- Demonstration:
input

prompt
"the woman in the picture puts her hands lightly on the back of her neck, her head and body make dynamic changes with the rhythm, showing dance or display-type movements, the overall posture is natural and rhythmic"
output
- Good thing dance
- Lora ID:
good_thing_dance - Model ID:
Wan-AI/Wan2.2-I2V-A14B-Lightning - Request payload example:
curl --request POST \
--location 'https://open.eternalai.org/creative-ai/video' \
--header 'x-api-key: <YOUR_API_KEY>' \
--header 'Content-Type: application/json' \
--header 'accept: application/json' \
--data '{
"messages": [
{
"role": "user",
"content": [
{
"type": "text",
"text": "she performs the goodthing dance"
},
{
"type": "image_url",
"image_url": {
"url": "https://storage.googleapis.com/eternal-ai/effects-19-11/videos/Good%20thing%20dance/download%20(6).jpeg",
"filename": "download%20(6).jpeg"
}
}
]
}
],
"model_id": "Wan-AI/Wan2.2-I2V-A14B-Lightning",
"is_magic_prompt": true,
"duration": 5,
"audio": true,
"video_config": {
"is_fast_video": true,
"loras": [
"good_thing_dance"
]
}
}'
- Demonstration:
input
.jpeg)
prompt
"she performs the goodthing dance"
output
- Hipway
- Lora ID:
hipway - Model ID:
Wan-AI/Wan2.2-I2V-A14B-Lightning - Request payload example:
curl --request POST \
--location 'https://open.eternalai.org/creative-ai/video' \
--header 'x-api-key: <YOUR_API_KEY>' \
--header 'Content-Type: application/json' \
--header 'accept: application/json' \
--data '{
"messages": [
{
"role": "user",
"content": [
{
"type": "text",
"text": "Zoom in on the woman'\''s ass quickly and perform an ass shaking dance"
},
{
"type": "image_url",
"image_url": {
"url": "https://cdn.eternalai.org/effects-19-11/videos/Hipway/lace_lingerie.jpeg",
"filename": "lace_lingerie.jpeg"
}
}
]
}
],
"model_id": "Wan-AI/Wan2.2-I2V-A14B-Lightning",
"is_magic_prompt": true,
"duration": 5,
"audio": true,
"video_config": {
"is_fast_video": true,
"loras": [
"hipway"
]
}
}'
- Demonstration:
input

prompt
"Zoom in on the woman's ass quickly and perform an ass shaking dance"
output
- Behind the scene
- Lora ID:
behind_the_scene - Model ID:
Wan-AI/Wan2.2-I2V-A14B-Lightning - Request payload example:
curl --request POST \
--location 'https://open.eternalai.org/creative-ai/video' \
--header 'x-api-key: <YOUR_API_KEY>' \
--header 'Content-Type: application/json' \
--header 'accept: application/json' \
--data '{
"messages": [
{
"role": "user",
"content": [
{
"type": "text",
"text": "paishe567, a slow zoom-out time-lapse starting exactly from the input image, gradually revealing more and more of the surrounding environment. As the camera pulls back, a full film crew with cameras on tripods and large studio lights appears, meticulously crafting the shot around the subject."
},
{
"type": "image_url",
"image_url": {
"url": "https://cdn.eternalai.org/effects-19-11/videos/Behind%20the%20scene/input.png",
"filename": "input.png"
}
}
]
}
],
"model_id": "Wan-AI/Wan2.2-I2V-A14B-Lightning",
"is_magic_prompt": true,
"duration": 5,
"audio": true,
"video_config": {
"is_fast_video": true,
"loras": [
"behind_the_scene"
]
}
}'
- Demonstration:
input

prompt
"paishe567, a slow zoom-out time-lapse starting exactly from the input image, gradually revealing more and more of the surrounding environment. As the camera pulls back, a full film crew with cameras on tripods and large studio lights appears, meticulously crafting the shot around the subject."
output
Prompting Best Practices
Motion Direction
- Specify subject actions — "Character turns to face camera," "Hair blows gently in wind"
- Camera movement — "Slow zoom in," "static composition," "subtle pan left"
- Environmental motion — "Leaves rustling," "cloak billowing," "atmospheric particles"
Scene Enhancement
- Lighting changes — "Soft dappled sunlight filtering through," "warm golden hour glow"
- Atmospheric effects — "Gentle mist," "dust particles in light," "magical shimmer"
- Mood & emotion — "Calm contemplation," "tense anticipation," "serene tranquility"
Detail Preservation
- Maintain visual style — Reference the original image's aesthetic when describing motion
- Character consistency — Describe movements that align with character design and pose
- Physical plausibility — Ensure described motions are believable within the scene context