Batch

APIs for processing batches and get detailed information.

Batch Webhook

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.

Create Video from Images

This endpoint generates video from your images.

SecurityAPIKeyHeader
Request
Request Body schema: multipart/form-data
title
string (Title)
Default: ""
description
string (Description)
Default: ""
visibility_status
string (Visibility Status)
Default: "1"

Visibility Status:

Number Status
0 Private
1 Unlisted
2 Public
image_files
Array of strings <binary> (Image Files)
Default: []

Images to upload.

image_urls
Array of strings (Image URLs)
Default: []

If you upload image files, this field will be ignored.

is_highlights
string (Highlight Batch Flag)
Default: ""
is_transition
boolean (Is Transition)
Default: false

If true, you will get transition video between given images.

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: Auto, LumaAI, LumaRay2, KlingAI, Kling2, MinimaxHailuo, Seedance, Hunyuan, RunwayML, Wan, Pixverse, Veo, VeoFast and TryOnVideo.

quantity
integer (Quantity) [ 1 .. 4 ]
Default: 1
duration
integer (Duration of video) [ 1 .. 10 ]
Default: 5
loop
integer (The number of repetitions of the same motion.) [ 1 .. 6 ]
Default: 1
aspect_ratio
string (Aspect ratio)

Available values are '16:9', '4:3', '1:1', '3:4' and '9:16'

sound_effects
string (Sound Effects)
Default: "No"

Defines if the generated video will include sound effects or not. Available values are: Yes and No.

idea
string (Idea)
Default: ""

A text prompt describing what to generate for the batch.

has_narration
boolean (Narration Flag)
Default: true
language
string (Language)
Default: "English"

The language of the narration.

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".

has_bg_music
boolean (Has Bg Music)
Default: true

Whether the batch includes background music.

audio_urls
Array of strings (Background Audio URLs)

URLs of background audio for composed video.

audio_prompt
string (Background Audio Prompt)
webhook_url
string (Webhook URL)

a 'POST' request will be made to your webhook URL after batch is finished.

Responses
200

New Batch Object

400

Bad Request

402

Insufficient Credit

422

Validation Error

post/batch/images-2-video
Request samples
Response samples
application/json
{
  • "data": {
    }
}

Step 1: Create Advanced Batch

This endpoint uploads files into a new batch.

SecurityAPIKeyHeader
Request
Request Body schema: multipart/form-data
title
string (Title)
Default: ""
description
string (Description)
Default: ""
visibility_status
string (Visibility Status)
Default: "1"

Visibility Status:

Number Status
0 Private
1 Unlisted
2 Public
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.

Responses
200

New Batch Object

400

Bad Request

402

Insufficient Credit

422

Validation Error

post/batch
Request samples
Response samples
application/json
{
  • "data": {
    }
}

Step 2: Generate Script Board

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.

SecurityAPIKeyHeader
Request
Request Body schema: application/x-www-form-urlencoded
idea
string (Idea)
Default: ""

A text prompt describing what to generate for the batch.

is_transition
boolean (Is Transition)
Default: false

If true, transition videos will be generated between the given images.

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.

Responses
200

New Batch Object

400

Bad Request

402

Insufficient Credit

422

Validation Error

post/batch/{batch_id}/script-board
Request samples
Response samples
application/json
{
  • "data": {
    }
}

Step 3: Generate Video from Batch

This endpoint generates a video using the narration and description created for the batch.

SecurityAPIKeyHeader
Request
Request Body schema: application/x-www-form-urlencoded
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: Auto, LumaAI, LumaRay2, KlingAI, Kling2, MinimaxHailuo, Seedance, Hunyuan, RunwayML, Wan, Pixverse, Veo, VeoFast and TryOnVideo.

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.

Responses
200

New Batch Object

400

Bad Request

402

Insufficient Credit

422

Validation Error

post/batch/{batch_id}/videos
Request samples
Response samples
application/json
{
  • "data": {
    }
}

Get Batch Detail

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.

Example Code

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)
SecurityAPIKeyHeader
Responses
200

Batch Object

400

Bad Request

402

Insufficient Credit

404

Not Found

422

Validation Error

get/batch/{batch_id}
Request samples
Response samples
application/json
{
  • "data": {
    }
}

Update Batch

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.

Example Code

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)
SecurityAPIKeyHeader
Request
Request Body schema: application/x-www-form-urlencoded
title
string (Title)
description
string (Description)
visibility_status
string (Visibility Status)
Default: "1"

Visibility Status:

Number Status
0 Private
1 Unlisted
2 Public
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: Auto, LumaAI, LumaRay2, KlingAI, Kling2, MinimaxHailuo, Seedance, Hunyuan, RunwayML, Wan, Pixverse, Veo, VeoFast and TryOnVideo.

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: Yes and No(default).

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.

Responses
200

Batch Object

400

Bad Request

402

Insufficient Credit

404

Not Found

422

Validation Error

put/batch/{batch_id}/edit
Request samples
Response samples
application/json
{
  • "data": {
    }
}

Concat Batch

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.

Example Code

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)
SecurityAPIKeyHeader
Request
Request Body schema: application/x-www-form-urlencoded
concat_video_urls
Array of strings (Composing video URLs)

URLs of composing video.

audio_urls
Array of strings (Background Audio URLs)

URLs of background audio for composed video.

Responses
200

Batch Object

400

Bad Request

402

Insufficient Credit

404

Not Found

422

Validation Error

post/batch/{batch_id}/concat
Request samples
Response samples
application/json
{ }