By providing us a webhook endpoint you get notified when the request is done as opposed to polling it.
You can set webhook URL by giving webhook_url
params on Create and Update media.
You will get a response with the customer_id
and batch_id
and status
:
{
"customer_id": "YOUR_CUSTOMER_ID",
"batch_id": "YOUR_BATCH_ID",
"status": "success"
}
Once you get request from webhook, you can use Get Batch Detail API to retrieve batch details.
This endpoint generates video from your images.
New Batch Object
Bad Request
Insufficient Credit
Validation Error
{- "data": {
- "id": "BATCH_ID",
- "email": "",
- "manager_id": "user_id",
- "customer_id": "customer_id",
- "title": "New Batch Example",
- "description": "",
- "visibility_status": "1",
- "idea": "",
- "storyboard": { },
- "scenes": [ ],
- "message": "",
- "note": "",
- "feedback": "",
- "is_transition": "No",
- "filenames": [ ],
- "files": [ ],
- "medias": [
- {
- "media_id": "media_id",
- "item": "item_key"
}, - {
- "media_id": "media_id",
- "item": "item_key"
}
], - "upload_urls": { },
- "finished_medias": [ ],
- "failed_medias": [ ],
- "pose_preset": [
- {
- "MotionType": "Auto",
- "Params": "Prompt=|CameraPath=|Quantity=1|MotionAmount=5|MotionLength=5|Loop=1"
}
], - "submit_params": {
- "scale_factor": "1",
- "pipeline_preset": "Fast",
- "file_size": "",
- "sound_effects": "Yes"
}, - "progress_percentage": 0,
- "status": "processing",
- "generate_type": "GENERATE_VIDEO",
- "version": "2",
- "created_at": "2025-04-02 16:21:42.465259+00:00",
- "updated_at": "2025-04-02 16:21:42.465259+00:00"
}
}
This endpoint uploads files into a new batch.
title | string (Title) Default: "" | ||||||||
description | string (Description) Default: "" | ||||||||
visibility_status | string (Visibility Status) Default: "1" Visibility Status:
| ||||||||
image_files | Array of strings <binary> (Image Files) Default: [] Images to upload. | ||||||||
image_urls | Array of strings (Image URLs) Default: [] If image files are uploaded, this field will be ignored. | ||||||||
audio_urls | Array of strings (Audio Urls) URLs of background audio files to use in the composed video. | ||||||||
audio_prompt | string (Audio Prompt) Prompt for generating background audio. | ||||||||
has_bg_music | boolean (Has Bg Music) Default: true Whether the batch includes background music. | ||||||||
has_narration | boolean (Narration Flag) Default: true | ||||||||
webhook_url | string (Webhook URL) a 'POST' request will be sent to this URL after the batch is finished. |
New Batch Object
Bad Request
Insufficient Credit
Validation Error
{- "data": {
- "id": "BATCH_ID",
- "email": "",
- "manager_id": "user_id",
- "customer_id": "customer_id",
- "title": "New Batch Example",
- "description": "",
- "visibility_status": "1",
- "idea": "",
- "storyboard": { },
- "scenes": [ ],
- "message": "",
- "note": "",
- "feedback": "",
- "is_transition": "No",
- "filenames": [ ],
- "files": [ ],
- "medias": [
- {
- "media_id": "media_id",
- "item": "item_key"
}, - {
- "media_id": "media_id",
- "item": "item_key"
}
], - "upload_urls": { },
- "finished_medias": [ ],
- "failed_medias": [ ],
- "pose_preset": [
- {
- "MotionType": "Auto",
- "Params": "Prompt=|CameraPath=|Quantity=1|MotionAmount=5|MotionLength=5|Loop=1"
}
], - "submit_params": {
- "scale_factor": "1",
- "pipeline_preset": "Fast",
- "file_size": "",
- "sound_effects": "Yes"
}, - "progress_percentage": 0,
- "status": "processing",
- "generate_type": "GENERATE_VIDEO",
- "version": "2",
- "created_at": "2025-04-02 16:21:42.465259+00:00",
- "updated_at": "2025-04-02 16:21:42.465259+00:00"
}
}
This endpoint generates narration and background music for a batch.
You can call this endpoint multiple times until you are satisfied with the generated prompt.
idea | string (Idea) Default: "" A text prompt describing what to generate for the batch. |
is_transition | boolean (Is Transition) Default: false If |
language | string (Language) Default: "English" The language of the narration. |
image_urls | Array of strings (Image URLs) Optional, A list of image URLs associated with the batch. |
New Batch Object
Bad Request
Insufficient Credit
Validation Error
{- "data": {
- "id": "BATCH_ID",
- "email": "",
- "manager_id": "user_id",
- "customer_id": "customer_id",
- "title": "New Batch Example",
- "description": "",
- "visibility_status": "1",
- "idea": "",
- "storyboard": { },
- "scenes": [ ],
- "message": "",
- "note": "",
- "feedback": "",
- "is_transition": "No",
- "filenames": [ ],
- "files": [ ],
- "medias": [
- {
- "media_id": "media_id",
- "item": "item_key"
}, - {
- "media_id": "media_id",
- "item": "item_key"
}
], - "upload_urls": { },
- "finished_medias": [ ],
- "failed_medias": [ ],
- "pose_preset": [
- {
- "MotionType": "Auto",
- "Params": "Prompt=|CameraPath=|Quantity=1|MotionAmount=5|MotionLength=5|Loop=1"
}
], - "submit_params": {
- "scale_factor": "1",
- "pipeline_preset": "Fast",
- "file_size": "",
- "sound_effects": "Yes"
}, - "progress_percentage": 0,
- "status": "processing",
- "generate_type": "GENERATE_VIDEO",
- "version": "2",
- "created_at": "2025-04-02 16:21:42.465259+00:00",
- "updated_at": "2025-04-02 16:21:42.465259+00:00"
}
}
This endpoint generates a video using the narration and description created for the batch.
motion_range | integer (The amount of motion, ranging from 1 to 10. Default value is 5.) [ 1 .. 10 ] Default: 5 |
motion_type | string (Motion Type) Default: "Auto" Defines the type of motion. Available values are: |
quantity | integer (Quantity) [ 1 .. 4 ] Default: 1 |
duration | integer (Duration of video) [ 1 .. 10 ] Default: 5 |
aspect_ratio | string (Aspect ratio) Available values are '16:9', '4:3', '1:1', '3:4' and '9:16' |
narrator | string (Narrator) Default: "Rachel" Voice of the speech. Available voices are "Aria", "Roger", "Sarah", "Laura", "Charlie", "George", "Callum", "River", "Liam", "Charlotte", "Alice", "Matilda", "Will", "Jessica", "Eric", "Chris", "Brian", "Daniel", "Lily" and "Bill". Default is "Rachel". |
script_board | string (Script Board) A new script board to use instead of the previously generated one. |
New Batch Object
Bad Request
Insufficient Credit
Validation Error
{- "data": {
- "id": "BATCH_ID",
- "email": "",
- "manager_id": "user_id",
- "customer_id": "customer_id",
- "title": "New Batch Example",
- "description": "",
- "visibility_status": "1",
- "idea": "",
- "storyboard": { },
- "scenes": [ ],
- "message": "",
- "note": "",
- "feedback": "",
- "is_transition": "No",
- "filenames": [ ],
- "files": [ ],
- "medias": [
- {
- "media_id": "media_id",
- "item": "item_key"
}, - {
- "media_id": "media_id",
- "item": "item_key"
}
], - "upload_urls": { },
- "finished_medias": [ ],
- "failed_medias": [ ],
- "pose_preset": [
- {
- "MotionType": "Auto",
- "Params": "Prompt=|CameraPath=|Quantity=1|MotionAmount=5|MotionLength=5|Loop=1"
}
], - "submit_params": {
- "scale_factor": "1",
- "pipeline_preset": "Fast",
- "file_size": "",
- "sound_effects": "Yes"
}, - "progress_percentage": 0,
- "status": "processing",
- "generate_type": "GENERATE_VIDEO",
- "version": "2",
- "created_at": "2025-04-02 16:21:42.465259+00:00",
- "updated_at": "2025-04-02 16:21:42.465259+00:00"
}
}
This API retrieves a Batch object.
status
field shows current progressing status of this Batch.
if Batch is finished, you can get composed video from video_url
.
Get a new Batch example
import requests
url = "http://api.vimmerse.net/batch/{BATCH_ID}"
headers = {
'X-Api-Key': 'YOUR_API_KEY'
}
response = requests.request("GET", url, headers=headers)
print(response.text)
Batch Object
Bad Request
Insufficient Credit
Not Found
Validation Error
{- "data": {
- "id": "BATCH_ID",
- "email": "",
- "manager_id": "user_id",
- "customer_id": "customer_id",
- "title": "New Batch Example",
- "description": "",
- "visibility_status": "1",
- "idea": "",
- "storyboard": { },
- "scenes": [ ],
- "message": "",
- "note": "",
- "feedback": "",
- "is_transition": "No",
- "filenames": [ ],
- "files": [ ],
- "medias": [
- {
- "media_id": "media_id",
- "item": "item_key"
}, - {
- "media_id": "media_id",
- "item": "item_key"
}
], - "upload_urls": { },
- "finished_medias": [ ],
- "failed_medias": [ ],
- "pose_preset": [
- {
- "MotionType": "Auto",
- "Params": "Prompt=|CameraPath=|Quantity=1|MotionAmount=5|MotionLength=5|Loop=1"
}
], - "submit_params": {
- "scale_factor": "1",
- "pipeline_preset": "Fast",
- "file_size": "",
- "sound_effects": "Yes"
}, - "progress_percentage": 0,
- "status": "processing",
- "generate_type": "GENERATE_VIDEO",
- "version": "2",
- "created_at": "2025-04-02 16:21:42.465259+00:00",
- "updated_at": "2025-04-02 16:21:42.465259+00:00"
}
}
This API updates batch and resubmit again if you update any of prompt
, motion_type
, quantity
, duration
, loop
, aspect_ratio
and sound_effects
.
If batch is processed again, it will reduce your credit.
Send a PUT request to update your batch. This will return updated batch. The request should include your API key.
Update Batch without resubmitting example
import requests
url = "http://api.vimmerse.net/batch/{BATCH_ID}/edit"
headers = {
'X-Api-Key': 'YOUR_API_KEY',
}
payload = {
'title': 'New Updated Title',
'description': 'New updated description',
'rating: '5',
'visibility_status': '2'
}
response = requests.request("PUT", url, headers=headers, data=payload)
print(response.text)
Update Batch with resubmitting example
import requests
url = "http://api.vimmerse.net/batch/{BATCH_ID}/edit"
headers = {
'X-Api-Key': 'YOUR_API_KEY',
}
payload = {
'title': 'New Updated Title',
'motion_type: 'RunwayML',
'duration': 9
}
response = requests.request("PUT", url, headers=headers, data=payload)
print(response.text)
title | string (Title) | ||||||||
description | string (Description) | ||||||||
visibility_status | string (Visibility Status) Default: "1" Visibility Status:
| ||||||||
prompt | string (Text prompt) Description to generate video. | ||||||||
camera_control | string (Camera Path) Defines the camera path of the bullet video. Available values are 'HorizontalArc', 'VerticalArc', 'StepIn', 'Cross', 'Circular', 'StepD', 'StepU', 'StepL' and 'StepR' | ||||||||
motion_range | integer (The amount of motion, ranging from 1 to 10. Default value is 5.) [ 1 .. 10 ] | ||||||||
motion_type | string (Motion Type) Defines the type of motion. Available values are: | ||||||||
quantity | integer (Quantity) [ 1 .. 4 ] | ||||||||
duration | integer (Duration of video) [ 1 .. 10 ] | ||||||||
loop | integer (The number of repetitions of the same motion.) [ 1 .. 6 ] | ||||||||
aspect_ratio | string (Aspect ratio) Available values are '16:9', '4:3', '1:1', '3:4' and '9:16' | ||||||||
sound_effects | string (Sound Effects) Defines if the generated video will include sound effects or not. Available values are: | ||||||||
audio_urls | Array of strings (Background Audio URLs) URLs of background audio for composed video. | ||||||||
concat_video_urls | Array of strings (Composing video URLs) URLs of composing video. | ||||||||
additional_videos | string (Additional Video List) Additional Video List. | ||||||||
webhook_url | string (Webhook URL) a 'POST' request will be made to your webhook URL after batch is finished. |
Batch Object
Bad Request
Insufficient Credit
Not Found
Validation Error
{- "data": {
- "id": "BATCH_ID",
- "email": "",
- "manager_id": "user_id",
- "customer_id": "customer_id",
- "title": "New Batch Example",
- "description": "",
- "visibility_status": "1",
- "idea": "",
- "storyboard": { },
- "scenes": [ ],
- "message": "",
- "note": "",
- "feedback": "",
- "is_transition": "No",
- "filenames": [ ],
- "files": [ ],
- "medias": [
- {
- "media_id": "media_id",
- "item": "item_key"
}, - {
- "media_id": "media_id",
- "item": "item_key"
}
], - "upload_urls": { },
- "finished_medias": [ ],
- "failed_medias": [ ],
- "pose_preset": [
- {
- "MotionType": "Auto",
- "Params": "Prompt=|CameraPath=|Quantity=1|MotionAmount=5|MotionLength=5|Loop=1"
}
], - "submit_params": {
- "scale_factor": "1",
- "pipeline_preset": "Fast",
- "file_size": "",
- "sound_effects": "Yes"
}, - "progress_percentage": 0,
- "status": "processing",
- "generate_type": "GENERATE_VIDEO",
- "version": "2",
- "created_at": "2025-04-02 16:21:42.465259+00:00",
- "updated_at": "2025-04-02 16:21:42.465259+00:00"
}
}
This API requests to compose all videos from batch. You can get composed video from video_url
after videos are composed.
Send a POST request with empty body.
import requests
url = "http://api.vimmerse.net/batch/{BATCH_ID}/concat"
headers = {
'X-Api-Key': 'YOUR_API_KEY',
}
response = requests.request("POST", url, headers=headers)
print(response.text)
Batch Object
Bad Request
Insufficient Credit
Not Found
Validation Error
{ }