Download OpenAPI specification:Download
Welcome to the Vimmerse Platform API. As of June 2024, we are building the REST v2.1.0 API service to be the primary API service for the Vimmerse Platform. All services on the API will continue to be maintained.
You will need your Vimmerse API key to make requests to this API. Make sure you never share your API key with anyone, and never commit it to a public repository. Include this key in the X-Api-Key
header of your requests. You don't have to worry about authorization tokens if you have your API key. To experience our platform, you can contact us to get a free API key.
If you have any questions or concerns, please reach out to us by sending an email to support@vimmerse.net.
APIs for create media and get detailed information.
Here are the steps to get a new media generated from your image.
Send a POST request to create a new media. This will return newly created media information. The request should include your API key.
import requests
url = "https://api.vimmerse.net/media"
payload = {
'title': 'New Media example with image upload',
'prompt': 'Generate a video that make your idea to life.',
'sound_effects': 'Yes'
}
files=[
('image_files',('image.png',open('path/to/your/image.png','rb'),'image/png'))
]
headers = {
'X-Api-Key': 'YOUR_API_KEY'
}
response = requests.request("POST", url, headers=headers, data=payload, files=files)
print(response.text)
Send a GET request to get your media processing status.
import requests
url = "https://api.vimmerse.net/media/{MEDIA_ID}/processing-status"
headers = {
'X-Api-Key': 'YOUR_API_KEY'
}
response = requests.request("GET", url, headers=headers)
print(response.text)
Send a GET request to get your media detail.
import requests
url = "https://api.vimmerse.net/media/{MEDIA_ID}"
headers = {
'X-Api-Key': 'YOUR_API_KEY'
}
response = requests.request("GET", url, headers=headers)
print(response.text)
Here are API details and examples of Media API.
This API creates a new media from your image files, image URLs or text prompt. If you upload 2 images or submit with 2 image URLs, those 2 files are considered as start and end frame of the video. If you upload only 1 file or give 1 image URL, a new video will be generated from uploaded image. If you don't upload or give any image, a new video will be generated from the prompt.
Send a POST request to create a new media. This will return newly created media information. The request should include your API key.
Here are examples of how to create a media with each types of data.
Create a new Media with two image files.
import requests
url = "https://api.vimmerse.net/media"
payload = {
'title': 'New Media example with Two images upload'
}
files=[
('image_files',('start_frame.png',open('path/to/your/start_frame.png','rb'),'image/png')),
('image_files',('end_frame.png',open('path/to/your/end_frame.png','rb'),'image/png')), ## if you omit this line, a new video is generated by referencing only start_frame.png
]
headers = {
'X-Api-Key': 'YOUR_API_KEY'
}
response = requests.request("POST", url, headers=headers, data=payload, files=files)
print(response.text)
Create a new Media with image URLs and motion type.
import requests
url = "https://api.vimmerse.net/media"
payload = {
'title': 'New Media example with 2 image URLs, generate 2 video with motion type.',
'image_urls': [
'https://example.com/path/to/your/start_frame.png',
'https://example.com/path/to/your/end_frame.png',
],
'motion_type': 'KlingAI',
'quantity': 2
}
headers = {
'X-Api-Key': 'YOUR_API_KEY'
}
response = requests.request("POST", url, headers=headers, data=payload)
print(response.text)
Create a new Media with text prompt and add sound effect.
import requests
url = "https://api.vimmerse.net/media"
payload = {
'title': 'New Media example with text prompt and sound effects.',
'prompt': "Generate a video that bunny jumps into the forest.",
'sound_effects': 'Yes'
}
headers = {
'X-Api-Key': 'YOUR_API_KEY'
}
response = requests.request("POST", url, headers=headers, data=payload)
print(response.text)
New Media
Insufficient Credit
Not Found
Validation Error
{- "data": {
- "id": "media_id",
- "title": "New Media example with a file upload",
- "description": "",
- "rating": "",
- "customer_id": "customer_id",
- "batch_id": "",
- "duration_time": "0",
- "progress_percentage": 20,
- "processing_status": "queue_bullet",
- "visibility_status": "1",
- "file_map": [
- {
- "FileType": "Texture",
- "FileName": "filename.jpg"
}
], - "intermediate_results": [ ],
- "submit_params": {
- "sound_effects": "No",
- "pipeline_preset": "Fast",
- "file_size": "",
- "scale_factor": "1"
}, - "pose_preset": {
- "MotionType": "Auto",
- "Params": "Prompt=|CameraPath=|Quantity=1|MotionAmount=5|MotionLength=5|Loop=1"
}, - "bullet_version": "0",
- "video_history": [ ],
- "result": [ ],
- "webhook_url": "",
- "nsfw": "0",
- "created_at": "2025-04-01 18:57:37.355064+00:00",
- "updated_at": "2025-04-01 18:57:55.502020+00:00",
- "version": "2"
}
}
This API creates a new media object with an uploaded image and process the Media with the request body. Include request data in the form data.
X-Api-Key
: Your customer API key.image
: Images to upload. If you upload a single image, an auto motion video will be created from that image. If you upload two images, the second image will be treated as the final frame of the video, resulting in motion transitions between the two images. The most recently uploaded image will be considered the last frameTransition features are not supported for 'LedonadoMotion' and 'StableDiffusionMotion' motion types.
data
: JSON string of your request data.You can submit the parameters by JSON-stringify the data. All fields are optional, and default values will be set automatically.
title
: Title of the media.
description
: Description of the media.
pose_preset
:
This parameter defines the movement of the pose and consists of MotionType
and Params
.
MotionType
: Defines the type of motion. Available values are: Auto
, StableVideoDiffusion
, LeonardoMotion
, LumaAI
, LumaRay2
, KlingAI
, MinimaxHailuo
, Hunyuan
, RunwayML
, Wan
, Pixverse
, TryOnVideo
and Parallax
.
Auto
: Video motion is defined automatically based on input settings.LeonardoMotion
: Video motion is generated by Leonardo AI image2motion tool. It only takes input image and motionAmount. It doesnot support transition frame, prompt.StableVideoDiffusion
: Video motion is generated by Stability's Stable Video Diffusion v2. It only takes input image and motionAmount. It doesnot support transition frame, prompt.LumaAI
: Video motion is generated by Luma AI. It takes input images(i.e. optional first and last frames) and prompt. When LumaAI is used, camera motion can also be defined as part of the prompt by adding "camera orbit left" for instance there. Available camera motions are: Static', 'Move Left', 'Move Right', 'Move Up', 'Move Down', 'Push In', 'Pull Out', 'Zoom In', 'Zoom Out', 'Pan Left', 'Pan Right', 'Orbit Left', 'Orbit Right', 'Crane Up', 'Crane Down'.LumaRay2
: Video motion is generated by Luma AI. It takes input image and prompt.KlingAI
: video motion is generated by Kling AI Professional model. It takes input images(i.e. optional last frames) and prompt.MinimaxHailuo
: video motion is generated by Minimax Hailuo. It takes input image and prompt. It does not support motionAmount nor a transition frame.Hunyuan
: video motion is generated by Tencent Hunyuan. It takes input image and prompt. It does not support motionAmount nor a transition frame.Wan
: video motion is generated by Alibaba Wan2.1. It takes input image and prompt. It does not support motionAmount nor a transition frame.Pixverse
: video motion is generated by PixVerse. It takes input image and prompt. It does not support motionAmount nor a transition frame.RunwayML
: video motion is generated by RunwayML Gen3. It takes input images(i.e. optional first and last frames) and prompt. It does not support motionAmount.TryOnVideo
: video motion applied on TryOn results with a preset prompt. It takes input images(i.e. human image and clothing image).Parallax
: Video motion is defined by a camera path which is specified in Params
.Params
: Contains detailed values for video motion. If you have chosen the Prompt
motion type, you will need to provide prompt text under Prompt
in Params
.
CameraPath
: Defines the camera path of the bullet video. Only available when Parallax
motion type is chosen. Available values are HorizontalArc
, VerticalArc
, StepIn
, Cross
, Circular
, StepD
, StepU
, StepL
and StepR
.Prompt
: The prompt for movement for the bullet video. Only available when Prompt
motion type is chosen.PromptStrength
: Defines prompt strength for video generation. Available values are 1, 2, 3, 4, or 5.Quantity
: The number of bullet videos to generate.MotionAmount
: The amount of motion, ranging from 1 to 10.MotionLength
: The length of the generated bullet video.Loop
: The number of repetitions of the same motion.submit_params
:
The quality of the bullet video can be adjusted with this parameter. The default value is recommended. To use the default value, you don't need to include this parameter in the request. However, if you want to change this value, please contact us first.
scale_factor
: Scale factor of the bullet video. Range is (0 - 2). Default value is "1".pipeline_preset
: Defines media processing preset. Available values are Fast
and Normal
. Default value is "Fast".file_size
: Defines maximum file size of bullet videos as a string. Unit of the size is MB. Default value is an empty string. Please input value as a string. Ex: "1.6".sound_effects
: Defines if the generated video will include sound effects or not. Values are: "Yes", "No" (default).This example shows how to generate videos by several motions. They are Horizontal, Cross and StepDown Parallax motions and 2 AI motions.
import requests
import json
import time
import os
API_KEY = 'YOUR_API_KEY'
BASE_URL = "https://api.vimmerse.net"
CREATE_MEDIA_UPLOAD_URL = f"{BASE_URL}/media/upload"
PROCESS_STATUS_URL_TEMPLATE = f"{BASE_URL}/media/{{media_id}}/processing-status"
DOWNLOAD_URL_TEMPLATE = f"{BASE_URL}/media/{{media_id}}/download?object_type=bullet_video_mp4&motion_type=Auto1"
headers = {
'X-Api-Key': API_KEY,
}
# Create media request data
request_data = {
"title": "New Media Example1",
"pose_preset": [
{"MotionType": "Parallax", "Params": "CameraPath=HorizontalArc|Prompt=|Quantity=1|MotionAmount=5|MotionLength=5|Loop=1"},
{"MotionType": "Parallax", "Params": "CameraPath=Cross|Prompt=|Quantity=1|MotionAmount=5|MotionLength=5|Loop=1"},
{"MotionType": "Parallax", "Params": "CameraPath=StepD|Prompt=|Quantity=1|MotionAmount=5|MotionLength=5|Loop=1"},
{"MotionType": "Auto", "Params": "Prompt=|PromptStrength=1|Quantity=2|MotionAmount=5|MotionLength=5|Loop=1"}
]
}
# Select files to upload
file_path = './nike_shoe.png'
files = [
('image', ('nike_shoe.png', open(file_path, 'rb'), 'image/png'))
]
try:
# Send POST request to upload media
with open(file_path, 'rb') as file:
files = [('image', ('nike_shoe.png', file, 'image/png'))]
payload = {"data": json.dumps(request_data)}
response = requests.post(CREATE_MEDIA_UPLOAD_URL, headers=headers, data=payload, files=files)
response.raise_for_status() # Check for HTTP errors
media_data = response.json()
media_id = media_data['data']['id']
except requests.exceptions.RequestException as e:
print(f"Failed to create media: {e}")
exit()
# Wait for media processing to complete
try:
percentage = 0
while percentage != 100:
time.sleep(5)
url = PROCESS_STATUS_URL_TEMPLATE.format(media_id=media_id)
status_response = requests.get(url, headers=headers)
status_response.raise_for_status()
progress_data = status_response.json()
percentage = int(progress_data['data']['progress_percentage'])
print(f"Media processing: {percentage}%")
except requests.exceptions.RequestException as e:
print(f"Failed to get media processing status: {e}")
exit()
# Download the generated bullet video
try:
download_url = DOWNLOAD_URL_TEMPLATE.format(media_id=media_id)
download_response = requests.get(download_url, headers=headers)
download_response.raise_for_status()
output_dir = "./tmp"
os.makedirs(output_dir, exist_ok=True)
output_path = os.path.join(output_dir, "output.mp4")
with open(output_path, 'wb') as file:
file.write(download_response.content)
print(f"Downloaded video saved to {output_path}")
except requests.exceptions.RequestException as e:
print(f"Failed to download video: {e}")
This example shows how to use transition feature. Transition feature lets you generate videos by providing first and last frame of the image.
import requests
import json
import time
import os
API_KEY = 'YOUR_API_KEY'
BASE_URL = "https://api.vimmerse.net"
CREATE_MEDIA_UPLOAD_URL = f"{BASE_URL}/media/upload"
PROCESS_STATUS_URL_TEMPLATE = f"{BASE_URL}/media/{{media_id}}/processing-status"
DOWNLOAD_URL_TEMPLATE = f"{BASE_URL}/media/{{media_id}}/download?object_type=bullet_video_mp4&motion_type=Auto1"
headers = {
'X-Api-Key': API_KEY,
}
# Create media request data
request_data = {
"title": "New Media Example With Transition",
"is_transition": "1",
"pose_preset": [
{
"MotionType": "Auto",
"Params": "Prompt=|PromptStrength=1|Quantity=2|MotionAmount=5|MotionLength=5|Loop=1"
}
]
}
# Select files to upload
try:
# Send POST request to upload media
files=[
('image', ('f1.png', open('./f1.png', 'rb'), 'image/png')),
('image', ('f2.png', open('./f2.png', 'rb'), 'image/png'))
]
payload = {"data": json.dumps(request_data)}
response = requests.post(CREATE_MEDIA_UPLOAD_URL, headers=headers, data=payload, files=files)
response.raise_for_status() # Check for HTTP errors
media_data = response.json()
media_id = media_data['data']['id']
except requests.exceptions.RequestException as e:
print(f"Failed to create media: {e}")
exit()
# Wait for media processing to complete
try:
percentage = 0
while percentage != 100:
time.sleep(5)
url = PROCESS_STATUS_URL_TEMPLATE.format(media_id=media_id)
status_response = requests.get(url, headers=headers)
status_response.raise_for_status()
progress_data = status_response.json()
percentage = int(progress_data['data']['progress_percentage'])
print(f"Media processing: {percentage}%")
except requests.exceptions.RequestException as e:
print(f"Failed to get media processing status: {e}")
exit()
# Download the generated bullet video
try:
download_url = DOWNLOAD_URL_TEMPLATE.format(media_id=media_id)
download_response = requests.get(download_url, headers=headers)
download_response.raise_for_status()
output_dir = "./tmp"
os.makedirs(output_dir, exist_ok=True)
output_path = os.path.join(output_dir, "output.mp4")
with open(output_path, 'wb') as file:
file.write(download_response.content)
print(f"Downloaded video saved to {output_path}")
except requests.exceptions.RequestException as e:
print(f"Failed to download video: {e}")
New Media Object
Bad Request
Insufficient Credit
Validation Error
{- "data": {
- "id": "496ae232-0ebf-409d-9fb0-fe75156254a7",
- "title": "Demo Title",
- "description": "This fake media is created for demo.",
- "customer_id": "demo_customer",
- "batch_id": "",
- "is_transition": "0",
- "duration_time": "5.0",
- "progress_percentage": 100,
- "processing_status": "success",
- "file_map": [
- {
- "FileType": "Texture",
- "FileName": "uploading_file_example.jpg"
}
], - "submit_params": {
- "file_size": "",
- "pipeline_preset": "Fast",
- "scale_factor": "1",
- "sound_effects": "No"
}, - "pose_preset": {
- "MotionType": "Parallax",
- "Params": "CameraPath=StepIn|Prompt=|PromptStrength=0|Quantity=1|MotionAmount=5|MotionLength=5|Loop=1|Zoom=1"
}, - "bullet_version": "1",
- "video_history": [
- {
- "created_at": "2024-06-12 06:42:30.198640+00:00",
- "pose_preset": {
- "MotionType": "Parallax",
- "Params": "CameraPath=StepIn|Quantity=1|MotionAmount=5|MotionLength=5|Loop=1|EasyEase=1|Zoom=1|HorizontalCrop=0|VerticalCrop=0|Seed=0|GuidanceScale=0"
}, - "bullet_version": "1",
- "file_map": [
- {
- "FileType": "Texture",
- "FileName": "uploading_file_example.jpg"
}
], - "submit_params": {
- "file_size": "",
- "pipeline_preset": "Fast",
- "scale_factor": "1",
- "sound_effects": "No"
}
}
], - "nsfw": "0",
- "created_at": "2024-06-12 06:38:08.331372+00:00",
- "updated_at": "2024-06-24 16:02:26.767400",
- "version": "2"
}
}
This API creates a new media with prompt under pose_preset
data. Include request data in the form data.
X-Api-Key
: Your customer API key.You can submit prompt under pose_preset
object. All fields are optional, and default values will be set automatically.
title
: Title of the media.
description
: Description of the media.
pose_preset
:
This parameter defines the movement of the pose and consists of MotionType
and Params
.
MotionType
: Defines the type of motion. Available values are: Auto
, StableVideoDiffusion
, LeonardoMotion
, LumaAI
, LumaRay2
, KlingAI
, MinimaxHailuo
, Hunyuan
, RunwayML
, Wan
, Pixverse
, TryOnVideo
and Parallax
.
Auto
: Video motion is defined automatically based on input settings.LeonardoMotion
: Video motion is generated by Leonardo AI image2motion tool. It only takes input image and motionAmount. It doesnot support transition frame, prompt.StableVideoDiffusion
: Video motion is generated by Stability's Stable Video Diffusion v2. It only takes input image and motionAmount. It doesnot support transition frame, prompt.LumaAI
: Video motion is generated by Luma AI. It takes input images(i.e. optional first and last frames) and prompt. When LumaAI is used, camera motion can also be defined as part of the prompt by adding "camera orbit left" for instance there. Available camera motions are: Static', 'Move Left', 'Move Right', 'Move Up', 'Move Down', 'Push In', 'Pull Out', 'Zoom In', 'Zoom Out', 'Pan Left', 'Pan Right', 'Orbit Left', 'Orbit Right', 'Crane Up', 'Crane Down'.LumaRay2
: Video motion is generated by Luma AI. It takes input image and prompt.KlingAI
: video motion is generated by Kling AI Professional model. It takes input images(i.e. optional last frames) and prompt.MinimaxHailuo
: video motion is generated by Minimax Hailuo. It takes input image and prompt. It does not support motionAmount nor a transition frame.Hunyuan
: video motion is generated by Tencent Hunyuan. It takes input image and prompt. It does not support motionAmount nor a transition frame.Wan
: video motion is generated by Alibaba Wan2.1. It takes input image and prompt. It does not support motionAmount nor a transition frame.Pixverse
: video motion is generated by PixVerse. It takes input image and prompt. It does not support motionAmount nor a transition frame.RunwayML
: video motion is generated by RunwayML Gen3. It takes input images(i.e. optional first and last frames) and prompt. It does not support motionAmount.TryOnVideo
: video motion applied on TryOn results with a preset prompt. It takes input images(i.e. human image and clothing image).Parallax
: Video motion is defined by a camera path which is specified in Params
.Params
: Contains detailed values for video motion. If you have chosen the Prompt
motion type, you will need to provide prompt text under Prompt
in Params
.
CameraPath
: Defines the camera path of the bullet video. Only available when Parallax
motion type is chosen. Available values are HorizontalArc
, VerticalArc
, StepIn
, Cross
, Circular
, StepD
, StepU
, StepL
and StepR
.Prompt
: The prompt for movement for the bullet video. Only available when Prompt
motion type is chosen.PromptStrength
: Defines prompt strength for video generation. Available values are 1, 2, 3, 4, or 5.Quantity
: The number of bullet videos to generate.MotionAmount
: The amount of motion, ranging from 1 to 10.MotionLength
: The length of the generated bullet video.Loop
: The number of repetitions of the same motion.submit_params
:
The quality of the bullet video can be adjusted with this parameter. The default value is recommended. To use the default value, you don't need to include this parameter in the request. However, if you want to change this value, please contact us first.
scale_factor
: Scale factor of the bullet video. Range is (0 - 2). Default value is "1".pipeline_preset
: Defines media processing preset. Available values are Fast
and Normal
. Default value is "Fast".file_size
: Defines maximum file size of bullet videos as a string. Unit of the size is MB. Default value is an empty string. Please input value as a string. Ex: "1.6".sound_effects
: Defines if the generated video will include sound effects or not. Values are: "Yes", "No" (default).This example shows how to generate videos from prompt.
import requests
import json
import time
import os
API_KEY = 'YOUR_API_KEY'
BASE_URL = "https://api.vimmerse.net"
CREATE_MEDIA_UPLOAD_URL = f"{BASE_URL}/media/prompt"
PROCESS_STATUS_URL_TEMPLATE = f"{BASE_URL}/media/{{media_id}}/processing-status"
DOWNLOAD_URL_TEMPLATE = f"{BASE_URL}/media/{{media_id}}/download?object_type=bullet_video_mp4&motion_type=Auto1"
headers = {
'X-Api-Key': API_KEY,
}
json_headers = {
'X-Api-Key': API_KEY,
'Content-Type': 'application/json'
}
# Create media request data
payload = {
"title": "New media from prompt",
"description": "New media from prompt",
"pose_preset": [
{
"MotionType": "Auto",
"Params": "Prompt=Shot of Nike shoes on colorful background.|PromptStrength=5|MotionAmount=5|MotionLength=5|Loop=1|Quantity=2"
}
]
}
# Select files to upload
try:
# Send POST request to upload media
response = requests.post(CREATE_MEDIA_UPLOAD_URL, headers=json_headers, json=payload)
response.raise_for_status() # Check for HTTP errors
media_data = response.json()
media_id = media_data['data']['id']
except requests.exceptions.RequestException as e:
print(f"Failed to create media: {e}")
exit()
# Wait for media processing to complete
try:
percentage = 0
while percentage != 100:
time.sleep(5)
url = PROCESS_STATUS_URL_TEMPLATE.format(media_id=media_id)
status_response = requests.get(url, headers=headers)
status_response.raise_for_status()
progress_data = status_response.json()
percentage = int(progress_data['data']['progress_percentage'])
print(f"Media processing: {percentage}%")
except requests.exceptions.RequestException as e:
print(f"Failed to get media processing status: {e}")
exit()
# Download the generated bullet video
try:
download_url = DOWNLOAD_URL_TEMPLATE.format(media_id=media_id)
download_response = requests.get(download_url, headers=headers)
download_response.raise_for_status()
output_dir = "./tmp"
os.makedirs(output_dir, exist_ok=True)
output_path = os.path.join(output_dir, "output.mp4")
with open(output_path, 'wb') as file:
file.write(download_response.content)
print(f"Downloaded video saved to {output_path}")
except requests.exceptions.RequestException as e:
print(f"Failed to download video: {e}")
Title (string) or Title (null) (Title) | |
Description (string) or Description (null) (Description) | |
Primary User ID (string) or Primary User ID (null) (Primary User ID) Utilize the | |
Rating (string) or Rating (null) (Rating) Rated value. If empty, this media is not rated. | |
Webhook URL is called when status of the media has been updated. (string) or Webhook URL is called when status of the media has been updated. (null) (Webhook URL is called when status of the media has been updated.) | |
Array of Pose Preset (any) or Pose Preset (object) or Pose Preset (null) (Pose Preset) Pose preset parameter. Can be either a list or a PosePreset. | |
Submit Parameters (object) or Submit Parameters (null) (Submit Parameters) Submitting parameters. |
New Text Prompt Media Object
Bad Request
Insufficient Credit
Validation Error
{- "data": {
- "id": "573baf50-2506-4f24-a437-93678f1e5122",
- "title": "New Text Prompt Media",
- "description": "This fake media is created for demo.",
- "customer_id": "demo_customer",
- "batch_id": "",
- "is_transition": "0",
- "duration_time": "5.0",
- "progress_percentage": 100,
- "processing_status": "success",
- "file_map": [ ],
- "submit_params": {
- "file_size": "",
- "pipeline_preset": "Fast",
- "scale_factor": "1",
- "sound_effects": "No"
}, - "pose_preset": [
- {
- "MotionType": "Auto",
- "Params": "Prompt=Shot of Nike shoes on colorful background.|PromptStrength=5|MotionAmount=5|MotionLength=5|Loop=1|Quantity=2"
}
], - "bullet_version": "1",
- "video_history": [
- {
- "created_at": "2024-06-12 06:42:30.198640+00:00",
- "pose_preset": [
- {
- "MotionType": "Auto",
- "Params": "Prompt=Shot of Nike shoes on colorful background.|PromptStrength=5|MotionAmount=5|MotionLength=5|Loop=1|Quantity=2"
}
], - "bullet_version": "1",
- "file_map": [ ],
- "submit_params": {
- "file_size": "",
- "pipeline_preset": "Fast",
- "scale_factor": "1",
- "sound_effects": "No"
}
}
], - "nsfw": "0",
- "created_at": "2024-06-12 06:38:08.331372+00:00",
- "updated_at": "2024-06-24 16:02:26.767400",
- "version": "2"
}
}
This API retrieves media processing status in percentage.
Send a GET request to get media processing status.
Get processing status of the media.
import requests
url = "https://api.vimmerse.net/media/{MEDIA_ID}/processing-status"
headers = {
'X-Api-Key': 'YOUR_API_KEY'
}
response = requests.request("GET", url, headers=headers)
print(response.text)
Media progress percentage
Not Found
Validation Error
{- "data": {
- "progress_percentage": "100",
- "processing_status": "success"
}
}
This API retrieves a media object.
Send a GET request to get your media.
Read Media example.
import requests
url = "http://api.vimmerse.net/media/{MEDIA_ID}"
headers = {
'X-Api-Key': 'YOUR_API_KEY'
}
response = requests.request("GET", url, headers=headers)
print(response.text)
Media Object
Media Not Found
Validation Error
{- "data": {
- "data": {
- "id": "media_id",
- "title": "",
- "description": "",
- "rating": "",
- "customer_id": "customer_id",
- "batch_id": "batch_id",
- "duration_time": "5.0",
- "progress_percentage": 100,
- "processing_status": "success",
- "visibility_status": "1",
- "file_map": [
- {
- "FileType": "Texture",
- "FileName": "uploaded_file1.png"
}
], - "intermediate_results": [ ],
- "submit_params": {
- "sound_effects": "No",
- "pipeline_preset": "Fast",
- "file_size": "",
- "scale_factor": "1"
}, - "pose_preset": {
- "MotionType": "Auto",
- "Params": "Prompt=|CameraPath=|Quantity=1|MotionAmount=5|MotionLength=5|Loop=1|AspectRatio=16:9"
}, - "bullet_version": "1",
- "video_history": [
- {
- "generate_type": "GENERATE_VIDEO",
- "pose_preset": {
- "MotionType": "Auto",
- "Params": "Prompt=|CameraPath=|Quantity=1|MotionAmount=5|MotionLength=5|Loop=1|AspectRatio=16:9"
}, - "file_map": [
- {
- "FileType": "Texture",
- "FileName": "uploaded_file1.png"
}
], - "service_name": "RunwayML",
- "service_seeds": [
- 6305
], - "created_at": "2025-04-01 13:20:36.607637+00:00",
- "service_version": "gen3a_turbo:2024-11-06",
- "bullet_version": "1",
- "resolution": [
- 1280,
- 704
], - "submit_params": {
- "sound_effects": "No",
- "pipeline_preset": "Fast",
- "file_size": "",
- "scale_factor": "1"
}
}
], - "result": [ ],
- "nsfw": "0",
- "service_name": "RunwayML",
- "service_version": "gen3a_turbo:2024-11-06",
- "created_at": "2025-04-01 13:19:10.786297+00:00",
- "updated_at": "2025-04-01 13:20:37.032634+00:00",
- "version": "2"
}
}
}
This API updates media and resubmit again if you update any of prompt
, motion_type
, quantity
, duration
, loop
, aspect_ratio
and sound_effects
.
If media is processed again, it will reduce your credit.
Send a PUT request to update your media. This will return updated media. The request should include your API key.
Update Media without resubmitting example
import requests
url = "http://api.vimmerse.net/media/{MEDIA_ID}/edit"
headers = {
'X-Api-Key': 'YOUR_API_KEY',
}
payload = {
'title': 'New Updated Title',
'rating: '5',
'visibility_status': '2'
}
response = requests.request("PUT", url, headers=headers, data=payload)
print(response.text)
Update Media with resubmitting example
import requests
url = "http://api.vimmerse.net/media/{MEDIA_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)
Media Object
Bad Request
Insufficient Credit
Not Found
Validation Error
{- "data": {
- "id": "media_id",
- "title": "",
- "description": "",
- "rating": "",
- "customer_id": "customer_id",
- "batch_id": "batch_id",
- "duration_time": "5.0",
- "progress_percentage": 100,
- "processing_status": "success",
- "visibility_status": "1",
- "file_map": [
- {
- "FileType": "Texture",
- "FileName": "uploaded_file1.png"
}
], - "intermediate_results": [ ],
- "submit_params": {
- "sound_effects": "No",
- "pipeline_preset": "Fast",
- "file_size": "",
- "scale_factor": "1"
}, - "pose_preset": {
- "MotionType": "Auto",
- "Params": "Prompt=|CameraPath=|Quantity=1|MotionAmount=5|MotionLength=5|Loop=1|AspectRatio=16:9"
}, - "bullet_version": "1",
- "video_history": [
- {
- "generate_type": "GENERATE_VIDEO",
- "pose_preset": {
- "MotionType": "Auto",
- "Params": "Prompt=|CameraPath=|Quantity=1|MotionAmount=5|MotionLength=5|Loop=1|AspectRatio=16:9"
}, - "file_map": [
- {
- "FileType": "Texture",
- "FileName": "uploaded_file1.png"
}
], - "service_name": "RunwayML",
- "service_seeds": [
- 6305
], - "created_at": "2025-04-01 13:20:36.607637+00:00",
- "service_version": "gen3a_turbo:2024-11-06",
- "bullet_version": "1",
- "resolution": [
- 1280,
- 704
], - "submit_params": {
- "sound_effects": "No",
- "pipeline_preset": "Fast",
- "file_size": "",
- "scale_factor": "1"
}
}
], - "result": [ ],
- "nsfw": "0",
- "service_name": "RunwayML",
- "service_version": "gen3a_turbo:2024-11-06",
- "created_at": "2025-04-01 13:19:10.786297+00:00",
- "updated_at": "2025-04-01 13:20:37.032634+00:00",
- "version": "2"
}
}
Downloads file from media.
This code shows an example of how to download Bullet Video
from Auto
motion.
import requests
url = "https://api.vimmerse.net/media/{MEDIA_ID}/download?object_type=bullet_video_mp4&motion_type=Auto"
headers = {
'X-Api-Key': 'YOUR_API_KEY'
}
response = requests.request("GET", url, headers=headers)
print(response.text)
This code shows an example of how to download Bullet Video
with custom settings
import requests
url = "https://api.vimmerse.net/media/{MEDIA_ID}/download?object_type=bullet_video_mp4&motion_type=Auto&width=1080&file_size=4"
headers = {
'X-Api-Key': 'YOUR_API_KEY'
}
response = requests.request("GET", url, headers=headers)
print(response.text)
Return bullet video, gif or source files.
Bad Request
Validation Error
null
This API resubmit to generate a bullet video.
Send a POST request without body to resubmit your media.
import requests
url = "https://api.vimmerse.net/media/{MEDIA_ID}/process"
headers = {
'X-Api-Key': 'YOUR_API_KEY'
}
response = requests.request("POST", url, headers=headers)
print(response.text)
Media Object
Bad Request
Insufficient Credit
Not Found
Validation Error
{- "data": { }
}
This API creates a new Batch object and process all given images.
Send a POST request to create a new Batch.
New Batch Object
Validation Error
{- "id": "",
- "email": "",
- "manager_id": "",
- "customer_id": "vimmerse-product",
- "title": "",
- "description": "",
- "visibility_status": "1",
- "idea": "",
- "storyboard": { },
- "scenes": [ ],
- "message": "",
- "note": "",
- "feedback": "",
- "is_transition": "",
- "filenames": [ ],
- "files": [ ],
- "medias": [ ],
- "upload_urls": { },
- "finished_medias": [ ],
- "failed_medias": [ ],
- "pose_preset": [
- {
- "MotionType": "Auto",
- "Params": "Prompt=|Quantity=1|MotionAmount=5|MotionLength=5|Loop=1"
}
], - "submit_params": {
- "scale_factor": "1",
- "pipeline_preset": "Fast",
- "file_size": "",
- "sound_effects": "No"
}, - "progress_percentage": 0,
- "status": "new",
- "generate_type": "GENERATE_VIDEO",
- "version": "2",
- "created_at": "",
- "updated_at": ""
}
This API creates a new Batch object with uploaded images and processes with the uploaded images. To change submit parameters and pose presets, include them in the form data.
X-Api-Key
: Your customer API key.images
: Images to upload.data
: JSON string of your request data.You can submit the parameters by JSON-stringify the data. All fields are optional, and default values will be set automatically.
pose_preset
:
This parameter defines the movement of the pose and consists of MotionType
and Params
.
MotionType
: Defines the type of motion. Available values are: Auto
, StableVideoDiffusion
, LeonardoMotion
, LumaAI
, LumaRay2
, KlingAI
, MinimaxHailuo
, Hunyuan
, RunwayML
, Wan
, Pixverse
, TryOnVideo
and Parallax
.
Auto
: Video motion is defined automatically based on input settings.LeonardoMotion
: Video motion is generated by Leonardo AI image2motion tool. It only takes input image and motionAmount. It doesnot support transition frame, prompt.StableVideoDiffusion
: Video motion is generated by Stability's Stable Video Diffusion v2. It only takes input image and motionAmount. It doesnot support transition frame, prompt.LumaAI
: Video motion is generated by Luma AI. It takes input images(i.e. optional first and last frames) and prompt. When LumaAI is used, camera motion can also be defined as part of the prompt by adding "camera orbit left" for instance there. Available camera motions are: Static', 'Move Left', 'Move Right', 'Move Up', 'Move Down', 'Push In', 'Pull Out', 'Zoom In', 'Zoom Out', 'Pan Left', 'Pan Right', 'Orbit Left', 'Orbit Right', 'Crane Up', 'Crane Down'.LumaRay2
: Video motion is generated by Luma AI. It takes input image and prompt.KlingAI
: video motion is generated by Kling AI Professional model. It takes input images(i.e. optional last frames) and prompt.MinimaxHailuo
: video motion is generated by Minimax Hailuo. It takes input image and prompt. It does not support motionAmount nor a transition frame.Hunyuan
: video motion is generated by Tencent Hunyuan. It takes input image and prompt. It does not support motionAmount nor a transition frame.Wan
: video motion is generated by Alibaba Wan2.1. It takes input image and prompt. It does not support motionAmount nor a transition frame.Pixverse
: video motion is generated by PixVerse. It takes input image and prompt. It does not support motionAmount nor a transition frame.RunwayML
: video motion is generated by RunwayML Gen3. It takes input images(i.e. optional first and last frames) and prompt. It does not support motionAmount.TryOnVideo
: video motion applied on TryOn results with a preset prompt. It takes input images(i.e. human image and clothing image).Parallax
: Video motion is defined by a camera path which is specified in Params
.Params
: Contains detailed values for video motion. If you have chosen the Prompt
motion type, you will need to provide prompt text under Prompt
in Params
.
CameraPath
: Defines the camera path of the bullet video. Only available when Parallax
motion type is chosen. Available values are HorizontalArc
, VerticalArc
, StepIn
, Cross
, Circular
, StepD
, StepU
, StepL
and StepR
.Prompt
: The prompt for movement for the bullet video. Only available when Prompt
motion type is chosen.PromptStrength
: Defines prompt strength for video generation. Available values are 1, 2, 3, 4, or 5.Quantity
: The number of bullet videos to generate.MotionAmount
: The amount of motion, ranging from 1 to 10.MotionLength
: The length of the generated bullet video.Loop
: The number of repetitions of the same motion.submit_params
:
The quality of the bullet video can be adjusted with this parameter. The default value is recommended. To use the default value, you don't need to include this parameter in the request. However, if you want to change this value, please contact us first.
scale_factor
: Scale factor of the bullet video. Range is (0 - 2). Default value is "1".pipeline_preset
: Defines media processing preset. Available values are Fast
and Normal
. Default value is "Fast".file_size
: Defines maximum file size of bullet videos as a string. Unit of the size is MB. Default value is an empty string. Please input value as a string. Ex: "1.6".sound_effects
: Defines if the generated video will include sound effects or not. Values are: "Yes", "No" (default).This example shows how to create a new Batch with several motions. They are Horizontal, Cross and StepDown Parallax motions and 2 AI motions.
import requests
import json
url = "https://api.vimmerse.net/batch/upload"
batch_data = {
"title": "New Batch Example1",
"pose_preset": [
{
"MotionType": "Parallax",
"Params": "CameraPath=HorizontalArc|Prompt=|Quantity=1|MotionAmount=5|MotionLength=5|Loop=1"
},
{
"MotionType": "Parallax",
"Params": "CameraPath=Cross|Prompt=|Quantity=1|MotionAmount=5|MotionLength=5|Loop=1"
},
{
"MotionType": "Parallax",
"Params": "CameraPath=StepD|Prompt=|Quantity=1|MotionAmount=5|MotionLength=5|Loop=1"
},
{
"MotionType": "Auto",
"Params": "Prompt=|PromptStrength=1|Quantity=2|MotionAmount=5|MotionLength=5|Loop=1"
}
]
}
payload = {
"data": json.dumps(batch_data)
}
files=[
('images', ('f1.png', open('/path/to/f1.png', 'rb'), 'image/png')),
('images', ('f2.png', open('/path/to/f2.png', 'rb'), 'image/png')),
('images', ('f3.png', open('/path/to/f3.png', 'rb'), 'image/png')),
]
headers = {
'Accept': 'application/json',
'X-Api-Key': 'YOUR_API_KEY'
}
response = requests.request("POST", url, headers=headers, data=payload, files=files)
print(response.text)
This example shows how to create a new Batch with transition features. This code will generate 6 medias and start and stop frame of each media will be like this. [f1.png -> f2.png], [f2.png -> f3.png], [f3.png -> f4.png], [f4.png -> f5.png], [f5.png -> f6.png], [f6.png -> f1.png]
import requests
import json
url = "https://api.vimmerse.net/batch/upload"
payload = {
"data": json.dumps({
"title": "New Batch Example2",
"is_transition": "1",
"pose_preset": [
{
"MotionType": "Auto",
"Params": "Prompt=|PromptStrength=1|Quantity=1|MotionAmount=5|MotionLength=5|Loop=1"
}
]
})
}
files=[
('images', ('f1.png', open('/path/to/f1.png', 'rb'), 'image/png')),
('images', ('f2.png', open('/path/to/f2.png', 'rb'), 'image/png')),
('images', ('f3.png', open('/path/to/f3.png', 'rb'), 'image/png')),
('images', ('f4.png', open('/path/to/f4.png', 'rb'), 'image/png')),
('images', ('f5.png', open('/path/to/f5.png', 'rb'), 'image/png')),
('images', ('f6.png', open('/path/to/f6.png', 'rb'), 'image/png'))
]
headers = {
'Accept': 'application/json',
'X-Api-Key': 'YOUR_API_KEY'
}
response = requests.request("POST", url, headers=headers, data=payload, files=files)
print(response.text)
New Batch Object
Bad Request
Insufficient Credit
Validation Error
{- "data": {
- "version": "2",
- "created_at": "2024-09-11 23:25:11.859507+00:00",
- "industry": "",
- "status": "success",
- "customer_id": "demo_customer",
- "message": "",
- "is_transition": "",
- "email": "your@email.address",
- "progress_percentage": 100,
- "upload_urls": {
- "20240910_124149_1.jpg": {
- "signed_url_response": {
- "fields": {
- "AWSAccessKeyId": "...",
- "signature": "...",
- "key": "...",
- "policy": "..."
}, - "url": "..."
}, - "filename": "20240910_124149_1.jpg"
}, - "20240910_124130_0.jpg": {
- "signed_url_response": {
- "fields": {
- "AWSAccessKeyId": "...",
- "signature": "...",
- "key": "...",
- "policy": "..."
}, - "url": "..."
}, - "filename": "20240910_124130_0.jpg"
}
}, - "finished_medias": [
- "4852eb1c-a7dc-4ade-b1e7-cc57292fd4f4",
- "8255657b-d2d0-4932-aa91-114663e246ed"
], - "generate_type": "GENERATE_VIDEO",
- "updated_at": "2024-09-11 23:25:14.231731+00:00",
- "note": "",
- "manager_id": "manager_id",
- "medias": [
- {
- "media_id": "4852eb1c-a7dc-4ade-b1e7-cc57292fd4f4",
- "item": "decd-0000001",
- "source": "20240910_124130_0.jpg"
}, - {
- "media_id": "8255657b-d2d0-4932-aa91-114663e246ed",
- "item": "decd-0000002",
- "source": "20240910_124149_1.jpg"
}
], - "filenames": [
- "20240910_124130_0.jpg",
- "20240910_124149_1.jpg"
], - "feedback": "",
- "id": "decdb542-05ad-45aa-b172-7c54f338fe89",
- "submit_params": {
- "file_size": "",
- "pipeline_preset": "Fast",
- "scale_factor": "1",
- "sound_effects": "No"
}, - "failed_medias": [ ],
- "pose_preset": [
- {
- "MotionType": "Parallax",
- "Params": "CameraPath=StepL|MotionAmount=5|MotionLength=5|Loop=1|Quantity=1"
}, - {
- "MotionType": "Parallax",
- "Params": "CameraPath=StepU|MotionAmount=5|MotionLength=5|Loop=1|Quantity=1"
}, - {
- "MotionType": "Parallax",
- "Params": "CameraPath=HorizontalArc|MotionAmount=5|MotionLength=5|Loop=1|Quantity=1"
}, - {
- "MotionType": "Parallax",
- "Params": "CameraPath=VerticalArc|MotionAmount=5|MotionLength=5|Loop=1|Quantity=1"
}, - {
- "MotionType": "Auto",
- "Params": "MotionAmount=5|MotionLength=5|Loop=1|Quantity=2"
}
], - "title": "Demo Batch",
- "all_medias": [
- {
- "primary_user_id": "manager_id",
- "video_history": [
- {
- "generate_type": "GENERATE_ALL",
- "created_at": "2024-09-11 23:43:07.334871+00:00",
- "pose_preset": [
- {
- "MotionType": "Parallax",
- "Params": "CameraPath=StepL|MotionAmount=5|MotionLength=5|Loop=1|Quantity=1"
}, - {
- "MotionType": "Parallax",
- "Params": "CameraPath=StepU|MotionAmount=5|MotionLength=5|Loop=1|Quantity=1"
}, - {
- "MotionType": "Parallax",
- "Params": "CameraPath=HorizontalArc|MotionAmount=5|MotionLength=5|Loop=1|Quantity=1"
}, - {
- "MotionType": "Parallax",
- "Params": "CameraPath=VerticalArc|MotionAmount=5|MotionLength=5|Loop=1|Quantity=1"
}, - {
- "MotionType": "Auto",
- "Params": "MotionAmount=5|MotionLength=5|Loop=1|Quantity=2"
}
], - "bullet_version": "1",
- "file_map": [
- {
- "FileType": "Texture",
- "FileName": "20240910_124130_0.jpg"
}
], - "submit_params": {
- "file_size": "",
- "pipeline_preset": "Fast",
- "scale_factor": "1",
- "sound_effects": "No"
}
}
], - "ai_image_history": [ ],
- "likes_count": 0,
- "duration_time": "5.0",
- "views_count": 0,
- "batch_id": "decdb542-05ad-45aa-b172-7c54f338fe89",
- "stream_type": "png",
- "progress_percentage": 100,
- "bullet_version": "1",
- "sort_weight": 0,
- "files": [
- {
- "name": "20240910_124130_0.jpg",
- "updated_at": "2024-09-11 23:25:15+00:00",
- "size": 6300491
}
], - "nsfw": "0",
- "threeD_version": "w2opm1g",
- "visibility_status": "1",
- "queue_type": "BATCH",
- "client_type": "",
- "account_type": "Customer",
- "ai_text_history": [ ],
- "submit_params": {
- "file_size": "",
- "pipeline_preset": "Fast",
- "scale_factor": "1",
- "sound_effects": "No"
}, - "id": "4852eb1c-a7dc-4ade-b1e7-cc57292fd4f4",
- "pose_preset": [
- {
- "MotionType": "Parallax",
- "Params": "CameraPath=StepL|MotionAmount=5|MotionLength=5|Loop=1|Quantity=1"
}, - {
- "MotionType": "Parallax",
- "Params": "CameraPath=StepU|MotionAmount=5|MotionLength=5|Loop=1|Quantity=1"
}, - {
- "MotionType": "Parallax",
- "Params": "CameraPath=HorizontalArc|MotionAmount=5|MotionLength=5|Loop=1|Quantity=1"
}, - {
- "MotionType": "Parallax",
- "Params": "CameraPath=VerticalArc|MotionAmount=5|MotionLength=5|Loop=1|Quantity=1"
}, - {
- "MotionType": "Auto",
- "Params": "MotionAmount=5|MotionLength=5|Loop=1|Quantity=2"
}
], - "error_message": "",
- "version": "2",
- "created_at": "2024-09-11 23:25:14.329089+00:00",
- "upload_bucket_name": "...",
- "3d_available": true,
- "rating": "",
- "processing_status": "success",
- "search_value": "",
- "table_name": "...",
- "result_bucket_name": "...",
- "capture_type": "Auto",
- "file_map": [
- {
- "FileType": "Texture",
- "FileName": "20240910_124130_0.jpg"
}
], - "customer_id": "demo_customer",
- "updated_at": "2024-09-11 23:43:12.015987+00:00",
- "generate_type": "GENERATE_ALL",
- "ai_video_history": [ ],
- "webhook_url": "...",
- "deleted_folder_paths": [ ],
- "description": "",
- "title": ""
}, - {
- "primary_user_id": "manager_id",
- "video_history": [
- {
- "generate_type": "GENERATE_ALL",
- "created_at": "2024-09-11 23:43:27.526895+00:00",
- "pose_preset": [
- {
- "MotionType": "Parallax",
- "Params": "CameraPath=StepL|MotionAmount=5|MotionLength=5|Loop=1|Quantity=1"
}, - {
- "MotionType": "Parallax",
- "Params": "CameraPath=StepU|MotionAmount=5|MotionLength=5|Loop=1|Quantity=1"
}, - {
- "MotionType": "Parallax",
- "Params": "CameraPath=HorizontalArc|MotionAmount=5|MotionLength=5|Loop=1|Quantity=1"
}, - {
- "MotionType": "Parallax",
- "Params": "CameraPath=VerticalArc|MotionAmount=5|MotionLength=5|Loop=1|Quantity=1"
}, - {
- "MotionType": "Auto",
- "Params": "MotionAmount=5|MotionLength=5|Loop=1|Quantity=2"
}
], - "bullet_version": "1",
- "file_map": [
- {
- "FileType": "Texture",
- "FileName": "20240910_124149_1.jpg"
}
], - "submit_params": {
- "file_size": "",
- "pipeline_preset": "Fast",
- "scale_factor": "1",
- "sound_effects": "No"
}
}
], - "ai_image_history": [ ],
- "likes_count": 0,
- "duration_time": "5.0",
- "views_count": 2,
- "batch_id": "decdb542-05ad-45aa-b172-7c54f338fe89",
- "stream_type": "png",
- "progress_percentage": 100,
- "bullet_version": "1",
- "sort_weight": 0,
- "files": [
- {
- "name": "20240910_124149_1.jpg",
- "updated_at": "2024-09-11 23:25:15+00:00",
- "size": 6780601
}
], - "nsfw": "0",
- "threeD_version": "68alge5",
- "visibility_status": "1",
- "queue_type": "BATCH",
- "client_type": "",
- "account_type": "Developer",
- "ai_text_history": [ ],
- "submit_params": {
- "file_size": "",
- "pipeline_preset": "Fast",
- "scale_factor": "1",
- "sound_effects": "No"
}, - "id": "8255657b-d2d0-4932-aa91-114663e246ed",
- "pose_preset": [
- {
- "MotionType": "Parallax",
- "Params": "CameraPath=StepL|MotionAmount=5|MotionLength=5|Loop=1|Quantity=1"
}, - {
- "MotionType": "Parallax",
- "Params": "CameraPath=StepU|MotionAmount=5|MotionLength=5|Loop=1|Quantity=1"
}, - {
- "MotionType": "Parallax",
- "Params": "CameraPath=HorizontalArc|MotionAmount=5|MotionLength=5|Loop=1|Quantity=1"
}, - {
- "MotionType": "Parallax",
- "Params": "CameraPath=VerticalArc|MotionAmount=5|MotionLength=5|Loop=1|Quantity=1"
}, - {
- "MotionType": "Auto",
- "Params": "MotionAmount=5|MotionLength=5|Loop=1|Quantity=2"
}
], - "error_message": "",
- "version": "2",
- "created_at": "2024-09-11 23:25:14.479566+00:00",
- "upload_bucket_name": "...",
- "3d_available": true,
- "rating": "",
- "processing_status": "success",
- "search_value": "",
- "table_name": "...",
- "result_bucket_name": "...",
- "capture_type": "Auto",
- "file_map": [
- {
- "FileType": "Texture",
- "FileName": "20240910_124149_1.jpg"
}
], - "customer_id": "demo_customer",
- "updated_at": "2024-09-11 23:43:30.792755+00:00",
- "generate_type": "GENERATE_ALL",
- "ai_video_history": [ ],
- "deleted_folder_paths": [ ],
- "description": "",
- "title": ""
}
]
}
}
This API retrieves a Batch/Story object.
X-Api-Key
: Your customer API key.Content-Type
: application/json
status
field shows current progressing status of this Batch/Story.
if Batch/Story is finished, you can get composed video from video_url
.
Batch Object
Bad Request
Validation Error
{- "data": {
- "version": "2",
- "created_at": "2024-09-11 23:25:11.859507+00:00",
- "industry": "",
- "status": "success",
- "customer_id": "demo_customer",
- "message": "",
- "is_transition": "",
- "email": "your@email.address",
- "progress_percentage": 100,
- "upload_urls": {
- "20240910_124149_1.jpg": {
- "signed_url_response": {
- "fields": {
- "AWSAccessKeyId": "...",
- "signature": "...",
- "key": "...",
- "policy": "..."
}, - "url": "..."
}, - "filename": "20240910_124149_1.jpg"
}, - "20240910_124130_0.jpg": {
- "signed_url_response": {
- "fields": {
- "AWSAccessKeyId": "...",
- "signature": "...",
- "key": "...",
- "policy": "..."
}, - "url": "..."
}, - "filename": "20240910_124130_0.jpg"
}
}, - "finished_medias": [
- "4852eb1c-a7dc-4ade-b1e7-cc57292fd4f4",
- "8255657b-d2d0-4932-aa91-114663e246ed"
], - "generate_type": "GENERATE_VIDEO",
- "updated_at": "2024-09-11 23:25:14.231731+00:00",
- "note": "",
- "manager_id": "manager_id",
- "medias": [
- {
- "media_id": "4852eb1c-a7dc-4ade-b1e7-cc57292fd4f4",
- "item": "decd-0000001",
- "source": "20240910_124130_0.jpg"
}, - {
- "media_id": "8255657b-d2d0-4932-aa91-114663e246ed",
- "item": "decd-0000002",
- "source": "20240910_124149_1.jpg"
}
], - "filenames": [
- "20240910_124130_0.jpg",
- "20240910_124149_1.jpg"
], - "feedback": "",
- "id": "decdb542-05ad-45aa-b172-7c54f338fe89",
- "submit_params": {
- "file_size": "",
- "pipeline_preset": "Fast",
- "scale_factor": "1",
- "sound_effects": "No"
}, - "failed_medias": [ ],
- "pose_preset": [
- {
- "MotionType": "Parallax",
- "Params": "CameraPath=StepL|MotionAmount=5|MotionLength=5|Loop=1|Quantity=1"
}, - {
- "MotionType": "Parallax",
- "Params": "CameraPath=StepU|MotionAmount=5|MotionLength=5|Loop=1|Quantity=1"
}, - {
- "MotionType": "Parallax",
- "Params": "CameraPath=HorizontalArc|MotionAmount=5|MotionLength=5|Loop=1|Quantity=1"
}, - {
- "MotionType": "Parallax",
- "Params": "CameraPath=VerticalArc|MotionAmount=5|MotionLength=5|Loop=1|Quantity=1"
}, - {
- "MotionType": "Auto",
- "Params": "MotionAmount=5|MotionLength=5|Loop=1|Quantity=2"
}
], - "title": "Demo Batch",
- "all_medias": [
- {
- "primary_user_id": "manager_id",
- "video_history": [
- {
- "generate_type": "GENERATE_ALL",
- "created_at": "2024-09-11 23:43:07.334871+00:00",
- "pose_preset": [
- {
- "MotionType": "Parallax",
- "Params": "CameraPath=StepL|MotionAmount=5|MotionLength=5|Loop=1|Quantity=1"
}, - {
- "MotionType": "Parallax",
- "Params": "CameraPath=StepU|MotionAmount=5|MotionLength=5|Loop=1|Quantity=1"
}, - {
- "MotionType": "Parallax",
- "Params": "CameraPath=HorizontalArc|MotionAmount=5|MotionLength=5|Loop=1|Quantity=1"
}, - {
- "MotionType": "Parallax",
- "Params": "CameraPath=VerticalArc|MotionAmount=5|MotionLength=5|Loop=1|Quantity=1"
}, - {
- "MotionType": "Auto",
- "Params": "MotionAmount=5|MotionLength=5|Loop=1|Quantity=2"
}
], - "bullet_version": "1",
- "file_map": [
- {
- "FileType": "Texture",
- "FileName": "20240910_124130_0.jpg"
}
], - "submit_params": {
- "file_size": "",
- "pipeline_preset": "Fast",
- "scale_factor": "1",
- "sound_effects": "No"
}
}
], - "ai_image_history": [ ],
- "likes_count": 0,
- "duration_time": "5.0",
- "views_count": 0,
- "batch_id": "decdb542-05ad-45aa-b172-7c54f338fe89",
- "stream_type": "png",
- "progress_percentage": 100,
- "bullet_version": "1",
- "sort_weight": 0,
- "files": [
- {
- "name": "20240910_124130_0.jpg",
- "updated_at": "2024-09-11 23:25:15+00:00",
- "size": 6300491
}
], - "nsfw": "0",
- "threeD_version": "w2opm1g",
- "visibility_status": "1",
- "queue_type": "BATCH",
- "client_type": "",
- "account_type": "Customer",
- "ai_text_history": [ ],
- "submit_params": {
- "file_size": "",
- "pipeline_preset": "Fast",
- "scale_factor": "1",
- "sound_effects": "No"
}, - "id": "4852eb1c-a7dc-4ade-b1e7-cc57292fd4f4",
- "pose_preset": [
- {
- "MotionType": "Parallax",
- "Params": "CameraPath=StepL|MotionAmount=5|MotionLength=5|Loop=1|Quantity=1"
}, - {
- "MotionType": "Parallax",
- "Params": "CameraPath=StepU|MotionAmount=5|MotionLength=5|Loop=1|Quantity=1"
}, - {
- "MotionType": "Parallax",
- "Params": "CameraPath=HorizontalArc|MotionAmount=5|MotionLength=5|Loop=1|Quantity=1"
}, - {
- "MotionType": "Parallax",
- "Params": "CameraPath=VerticalArc|MotionAmount=5|MotionLength=5|Loop=1|Quantity=1"
}, - {
- "MotionType": "Auto",
- "Params": "MotionAmount=5|MotionLength=5|Loop=1|Quantity=2"
}
], - "error_message": "",
- "version": "2",
- "created_at": "2024-09-11 23:25:14.329089+00:00",
- "upload_bucket_name": "...",
- "3d_available": true,
- "rating": "",
- "processing_status": "success",
- "search_value": "",
- "table_name": "...",
- "result_bucket_name": "...",
- "capture_type": "Auto",
- "file_map": [
- {
- "FileType": "Texture",
- "FileName": "20240910_124130_0.jpg"
}
], - "customer_id": "demo_customer",
- "updated_at": "2024-09-11 23:43:12.015987+00:00",
- "generate_type": "GENERATE_ALL",
- "ai_video_history": [ ],
- "webhook_url": "...",
- "deleted_folder_paths": [ ],
- "description": "",
- "title": ""
}, - {
- "primary_user_id": "manager_id",
- "video_history": [
- {
- "generate_type": "GENERATE_ALL",
- "created_at": "2024-09-11 23:43:27.526895+00:00",
- "pose_preset": [
- {
- "MotionType": "Parallax",
- "Params": "CameraPath=StepL|MotionAmount=5|MotionLength=5|Loop=1|Quantity=1"
}, - {
- "MotionType": "Parallax",
- "Params": "CameraPath=StepU|MotionAmount=5|MotionLength=5|Loop=1|Quantity=1"
}, - {
- "MotionType": "Parallax",
- "Params": "CameraPath=HorizontalArc|MotionAmount=5|MotionLength=5|Loop=1|Quantity=1"
}, - {
- "MotionType": "Parallax",
- "Params": "CameraPath=VerticalArc|MotionAmount=5|MotionLength=5|Loop=1|Quantity=1"
}, - {
- "MotionType": "Auto",
- "Params": "MotionAmount=5|MotionLength=5|Loop=1|Quantity=2"
}
], - "bullet_version": "1",
- "file_map": [
- {
- "FileType": "Texture",
- "FileName": "20240910_124149_1.jpg"
}
], - "submit_params": {
- "file_size": "",
- "pipeline_preset": "Fast",
- "scale_factor": "1",
- "sound_effects": "No"
}
}
], - "ai_image_history": [ ],
- "likes_count": 0,
- "duration_time": "5.0",
- "views_count": 2,
- "batch_id": "decdb542-05ad-45aa-b172-7c54f338fe89",
- "stream_type": "png",
- "progress_percentage": 100,
- "bullet_version": "1",
- "sort_weight": 0,
- "files": [
- {
- "name": "20240910_124149_1.jpg",
- "updated_at": "2024-09-11 23:25:15+00:00",
- "size": 6780601
}
], - "nsfw": "0",
- "threeD_version": "68alge5",
- "visibility_status": "1",
- "queue_type": "BATCH",
- "client_type": "",
- "account_type": "Developer",
- "ai_text_history": [ ],
- "submit_params": {
- "file_size": "",
- "pipeline_preset": "Fast",
- "scale_factor": "1",
- "sound_effects": "No"
}, - "id": "8255657b-d2d0-4932-aa91-114663e246ed",
- "pose_preset": [
- {
- "MotionType": "Parallax",
- "Params": "CameraPath=StepL|MotionAmount=5|MotionLength=5|Loop=1|Quantity=1"
}, - {
- "MotionType": "Parallax",
- "Params": "CameraPath=StepU|MotionAmount=5|MotionLength=5|Loop=1|Quantity=1"
}, - {
- "MotionType": "Parallax",
- "Params": "CameraPath=HorizontalArc|MotionAmount=5|MotionLength=5|Loop=1|Quantity=1"
}, - {
- "MotionType": "Parallax",
- "Params": "CameraPath=VerticalArc|MotionAmount=5|MotionLength=5|Loop=1|Quantity=1"
}, - {
- "MotionType": "Auto",
- "Params": "MotionAmount=5|MotionLength=5|Loop=1|Quantity=2"
}
], - "error_message": "",
- "version": "2",
- "created_at": "2024-09-11 23:25:14.479566+00:00",
- "upload_bucket_name": "...",
- "3d_available": true,
- "rating": "",
- "processing_status": "success",
- "search_value": "",
- "table_name": "...",
- "result_bucket_name": "...",
- "capture_type": "Auto",
- "file_map": [
- {
- "FileType": "Texture",
- "FileName": "20240910_124149_1.jpg"
}
], - "customer_id": "demo_customer",
- "updated_at": "2024-09-11 23:43:30.792755+00:00",
- "generate_type": "GENERATE_ALL",
- "ai_video_history": [ ],
- "deleted_folder_paths": [ ],
- "description": "",
- "title": ""
}
]
}
}
This API updates a Batch object with your request.
Send a PUT request to update your batch.
Title (string) or Title (null) (Title) | |
Description (string) or Description (null) (Description) | |
Visibility Status (string) or Visibility Status (null) (Visibility Status) | |
Array of Storyboard (any) or Storyboard (null) (Storyboard) | |
Note (string) or Note (null) (Note) | |
Industry (string) or Industry (null) (Industry) | |
Message (string) or Message (null) (Message) | |
Feedback (string) or Feedback (null) (Feedback) | |
Transition flag (string) or Transition flag (null) (Transition flag) Value is '1' if batch is a transition | |
Manager ID (string) or Manager ID (null) (Manager ID) Utilize the | |
Array of Pose Presets (any) or Pose Presets (null) (Pose Presets) Pose preset parameter. | |
Submit Parameters (object) or Submit Parameters (null) (Submit Parameters) Submitting parameters. | |
Generate Type (string) or Generate Type (null) (Generate Type)
|
Batch Object
Bad Request
Validation Error
{- "data": {
- "version": "2",
- "created_at": "2024-09-11 23:25:11.859507+00:00",
- "industry": "",
- "status": "success",
- "customer_id": "demo_customer",
- "message": "",
- "is_transition": "",
- "email": "your@email.address",
- "progress_percentage": 100,
- "upload_urls": {
- "20240910_124149_1.jpg": {
- "signed_url_response": {
- "fields": {
- "AWSAccessKeyId": "...",
- "signature": "...",
- "key": "...",
- "policy": "..."
}, - "url": "..."
}, - "filename": "20240910_124149_1.jpg"
}, - "20240910_124130_0.jpg": {
- "signed_url_response": {
- "fields": {
- "AWSAccessKeyId": "...",
- "signature": "...",
- "key": "...",
- "policy": "..."
}, - "url": "..."
}, - "filename": "20240910_124130_0.jpg"
}
}, - "finished_medias": [
- "4852eb1c-a7dc-4ade-b1e7-cc57292fd4f4",
- "8255657b-d2d0-4932-aa91-114663e246ed"
], - "generate_type": "GENERATE_VIDEO",
- "updated_at": "2024-09-11 23:25:14.231731+00:00",
- "note": "",
- "manager_id": "manager_id",
- "medias": [
- {
- "media_id": "4852eb1c-a7dc-4ade-b1e7-cc57292fd4f4",
- "item": "decd-0000001",
- "source": "20240910_124130_0.jpg"
}, - {
- "media_id": "8255657b-d2d0-4932-aa91-114663e246ed",
- "item": "decd-0000002",
- "source": "20240910_124149_1.jpg"
}
], - "filenames": [
- "20240910_124130_0.jpg",
- "20240910_124149_1.jpg"
], - "feedback": "",
- "id": "decdb542-05ad-45aa-b172-7c54f338fe89",
- "submit_params": {
- "file_size": "",
- "pipeline_preset": "Fast",
- "scale_factor": "1",
- "sound_effects": "No"
}, - "failed_medias": [ ],
- "pose_preset": [
- {
- "MotionType": "Parallax",
- "Params": "CameraPath=StepL|MotionAmount=5|MotionLength=5|Loop=1|Quantity=1"
}, - {
- "MotionType": "Parallax",
- "Params": "CameraPath=StepU|MotionAmount=5|MotionLength=5|Loop=1|Quantity=1"
}, - {
- "MotionType": "Parallax",
- "Params": "CameraPath=HorizontalArc|MotionAmount=5|MotionLength=5|Loop=1|Quantity=1"
}, - {
- "MotionType": "Parallax",
- "Params": "CameraPath=VerticalArc|MotionAmount=5|MotionLength=5|Loop=1|Quantity=1"
}, - {
- "MotionType": "Auto",
- "Params": "MotionAmount=5|MotionLength=5|Loop=1|Quantity=2"
}
], - "title": "Demo Batch",
- "all_medias": [
- {
- "primary_user_id": "manager_id",
- "video_history": [
- {
- "generate_type": "GENERATE_ALL",
- "created_at": "2024-09-11 23:43:07.334871+00:00",
- "pose_preset": [
- {
- "MotionType": "Parallax",
- "Params": "CameraPath=StepL|MotionAmount=5|MotionLength=5|Loop=1|Quantity=1"
}, - {
- "MotionType": "Parallax",
- "Params": "CameraPath=StepU|MotionAmount=5|MotionLength=5|Loop=1|Quantity=1"
}, - {
- "MotionType": "Parallax",
- "Params": "CameraPath=HorizontalArc|MotionAmount=5|MotionLength=5|Loop=1|Quantity=1"
}, - {
- "MotionType": "Parallax",
- "Params": "CameraPath=VerticalArc|MotionAmount=5|MotionLength=5|Loop=1|Quantity=1"
}, - {
- "MotionType": "Auto",
- "Params": "MotionAmount=5|MotionLength=5|Loop=1|Quantity=2"
}
], - "bullet_version": "1",
- "file_map": [
- {
- "FileType": "Texture",
- "FileName": "20240910_124130_0.jpg"
}
], - "submit_params": {
- "file_size": "",
- "pipeline_preset": "Fast",
- "scale_factor": "1",
- "sound_effects": "No"
}
}
], - "ai_image_history": [ ],
- "likes_count": 0,
- "duration_time": "5.0",
- "views_count": 0,
- "batch_id": "decdb542-05ad-45aa-b172-7c54f338fe89",
- "stream_type": "png",
- "progress_percentage": 100,
- "bullet_version": "1",
- "sort_weight": 0,
- "files": [
- {
- "name": "20240910_124130_0.jpg",
- "updated_at": "2024-09-11 23:25:15+00:00",
- "size": 6300491
}
], - "nsfw": "0",
- "threeD_version": "w2opm1g",
- "visibility_status": "1",
- "queue_type": "BATCH",
- "client_type": "",
- "account_type": "Customer",
- "ai_text_history": [ ],
- "submit_params": {
- "file_size": "",
- "pipeline_preset": "Fast",
- "scale_factor": "1",
- "sound_effects": "No"
}, - "id": "4852eb1c-a7dc-4ade-b1e7-cc57292fd4f4",
- "pose_preset": [
- {
- "MotionType": "Parallax",
- "Params": "CameraPath=StepL|MotionAmount=5|MotionLength=5|Loop=1|Quantity=1"
}, - {
- "MotionType": "Parallax",
- "Params": "CameraPath=StepU|MotionAmount=5|MotionLength=5|Loop=1|Quantity=1"
}, - {
- "MotionType": "Parallax",
- "Params": "CameraPath=HorizontalArc|MotionAmount=5|MotionLength=5|Loop=1|Quantity=1"
}, - {
- "MotionType": "Parallax",
- "Params": "CameraPath=VerticalArc|MotionAmount=5|MotionLength=5|Loop=1|Quantity=1"
}, - {
- "MotionType": "Auto",
- "Params": "MotionAmount=5|MotionLength=5|Loop=1|Quantity=2"
}
], - "error_message": "",
- "version": "2",
- "created_at": "2024-09-11 23:25:14.329089+00:00",
- "upload_bucket_name": "...",
- "3d_available": true,
- "rating": "",
- "processing_status": "success",
- "search_value": "",
- "table_name": "...",
- "result_bucket_name": "...",
- "capture_type": "Auto",
- "file_map": [
- {
- "FileType": "Texture",
- "FileName": "20240910_124130_0.jpg"
}
], - "customer_id": "demo_customer",
- "updated_at": "2024-09-11 23:43:12.015987+00:00",
- "generate_type": "GENERATE_ALL",
- "ai_video_history": [ ],
- "webhook_url": "...",
- "deleted_folder_paths": [ ],
- "description": "",
- "title": ""
}, - {
- "primary_user_id": "manager_id",
- "video_history": [
- {
- "generate_type": "GENERATE_ALL",
- "created_at": "2024-09-11 23:43:27.526895+00:00",
- "pose_preset": [
- {
- "MotionType": "Parallax",
- "Params": "CameraPath=StepL|MotionAmount=5|MotionLength=5|Loop=1|Quantity=1"
}, - {
- "MotionType": "Parallax",
- "Params": "CameraPath=StepU|MotionAmount=5|MotionLength=5|Loop=1|Quantity=1"
}, - {
- "MotionType": "Parallax",
- "Params": "CameraPath=HorizontalArc|MotionAmount=5|MotionLength=5|Loop=1|Quantity=1"
}, - {
- "MotionType": "Parallax",
- "Params": "CameraPath=VerticalArc|MotionAmount=5|MotionLength=5|Loop=1|Quantity=1"
}, - {
- "MotionType": "Auto",
- "Params": "MotionAmount=5|MotionLength=5|Loop=1|Quantity=2"
}
], - "bullet_version": "1",
- "file_map": [
- {
- "FileType": "Texture",
- "FileName": "20240910_124149_1.jpg"
}
], - "submit_params": {
- "file_size": "",
- "pipeline_preset": "Fast",
- "scale_factor": "1",
- "sound_effects": "No"
}
}
], - "ai_image_history": [ ],
- "likes_count": 0,
- "duration_time": "5.0",
- "views_count": 2,
- "batch_id": "decdb542-05ad-45aa-b172-7c54f338fe89",
- "stream_type": "png",
- "progress_percentage": 100,
- "bullet_version": "1",
- "sort_weight": 0,
- "files": [
- {
- "name": "20240910_124149_1.jpg",
- "updated_at": "2024-09-11 23:25:15+00:00",
- "size": 6780601
}
], - "nsfw": "0",
- "threeD_version": "68alge5",
- "visibility_status": "1",
- "queue_type": "BATCH",
- "client_type": "",
- "account_type": "Developer",
- "ai_text_history": [ ],
- "submit_params": {
- "file_size": "",
- "pipeline_preset": "Fast",
- "scale_factor": "1",
- "sound_effects": "No"
}, - "id": "8255657b-d2d0-4932-aa91-114663e246ed",
- "pose_preset": [
- {
- "MotionType": "Parallax",
- "Params": "CameraPath=StepL|MotionAmount=5|MotionLength=5|Loop=1|Quantity=1"
}, - {
- "MotionType": "Parallax",
- "Params": "CameraPath=StepU|MotionAmount=5|MotionLength=5|Loop=1|Quantity=1"
}, - {
- "MotionType": "Parallax",
- "Params": "CameraPath=HorizontalArc|MotionAmount=5|MotionLength=5|Loop=1|Quantity=1"
}, - {
- "MotionType": "Parallax",
- "Params": "CameraPath=VerticalArc|MotionAmount=5|MotionLength=5|Loop=1|Quantity=1"
}, - {
- "MotionType": "Auto",
- "Params": "MotionAmount=5|MotionLength=5|Loop=1|Quantity=2"
}
], - "error_message": "",
- "version": "2",
- "created_at": "2024-09-11 23:25:14.479566+00:00",
- "upload_bucket_name": "...",
- "3d_available": true,
- "rating": "",
- "processing_status": "success",
- "search_value": "",
- "table_name": "...",
- "result_bucket_name": "...",
- "capture_type": "Auto",
- "file_map": [
- {
- "FileType": "Texture",
- "FileName": "20240910_124149_1.jpg"
}
], - "customer_id": "demo_customer",
- "updated_at": "2024-09-11 23:43:30.792755+00:00",
- "generate_type": "GENERATE_ALL",
- "ai_video_history": [ ],
- "deleted_folder_paths": [ ],
- "description": "",
- "title": ""
}
]
}
}
This API updates a Batch object with your request.
Send a PUT request to update your batch.
Batch Object
Bad Request
Validation Error
{- "data": {
- "version": "2",
- "created_at": "2024-09-11 23:25:11.859507+00:00",
- "industry": "",
- "status": "success",
- "customer_id": "demo_customer",
- "message": "",
- "is_transition": "",
- "email": "your@email.address",
- "progress_percentage": 100,
- "upload_urls": {
- "20240910_124149_1.jpg": {
- "signed_url_response": {
- "fields": {
- "AWSAccessKeyId": "...",
- "signature": "...",
- "key": "...",
- "policy": "..."
}, - "url": "..."
}, - "filename": "20240910_124149_1.jpg"
}, - "20240910_124130_0.jpg": {
- "signed_url_response": {
- "fields": {
- "AWSAccessKeyId": "...",
- "signature": "...",
- "key": "...",
- "policy": "..."
}, - "url": "..."
}, - "filename": "20240910_124130_0.jpg"
}
}, - "finished_medias": [
- "4852eb1c-a7dc-4ade-b1e7-cc57292fd4f4",
- "8255657b-d2d0-4932-aa91-114663e246ed"
], - "generate_type": "GENERATE_VIDEO",
- "updated_at": "2024-09-11 23:25:14.231731+00:00",
- "note": "",
- "manager_id": "manager_id",
- "medias": [
- {
- "media_id": "4852eb1c-a7dc-4ade-b1e7-cc57292fd4f4",
- "item": "decd-0000001",
- "source": "20240910_124130_0.jpg"
}, - {
- "media_id": "8255657b-d2d0-4932-aa91-114663e246ed",
- "item": "decd-0000002",
- "source": "20240910_124149_1.jpg"
}
], - "filenames": [
- "20240910_124130_0.jpg",
- "20240910_124149_1.jpg"
], - "feedback": "",
- "id": "decdb542-05ad-45aa-b172-7c54f338fe89",
- "submit_params": {
- "file_size": "",
- "pipeline_preset": "Fast",
- "scale_factor": "1",
- "sound_effects": "No"
}, - "failed_medias": [ ],
- "pose_preset": [
- {
- "MotionType": "Parallax",
- "Params": "CameraPath=StepL|MotionAmount=5|MotionLength=5|Loop=1|Quantity=1"
}, - {
- "MotionType": "Parallax",
- "Params": "CameraPath=StepU|MotionAmount=5|MotionLength=5|Loop=1|Quantity=1"
}, - {
- "MotionType": "Parallax",
- "Params": "CameraPath=HorizontalArc|MotionAmount=5|MotionLength=5|Loop=1|Quantity=1"
}, - {
- "MotionType": "Parallax",
- "Params": "CameraPath=VerticalArc|MotionAmount=5|MotionLength=5|Loop=1|Quantity=1"
}, - {
- "MotionType": "Auto",
- "Params": "MotionAmount=5|MotionLength=5|Loop=1|Quantity=2"
}
], - "title": "Demo Batch",
- "all_medias": [
- {
- "primary_user_id": "manager_id",
- "video_history": [
- {
- "generate_type": "GENERATE_ALL",
- "created_at": "2024-09-11 23:43:07.334871+00:00",
- "pose_preset": [
- {
- "MotionType": "Parallax",
- "Params": "CameraPath=StepL|MotionAmount=5|MotionLength=5|Loop=1|Quantity=1"
}, - {
- "MotionType": "Parallax",
- "Params": "CameraPath=StepU|MotionAmount=5|MotionLength=5|Loop=1|Quantity=1"
}, - {
- "MotionType": "Parallax",
- "Params": "CameraPath=HorizontalArc|MotionAmount=5|MotionLength=5|Loop=1|Quantity=1"
}, - {
- "MotionType": "Parallax",
- "Params": "CameraPath=VerticalArc|MotionAmount=5|MotionLength=5|Loop=1|Quantity=1"
}, - {
- "MotionType": "Auto",
- "Params": "MotionAmount=5|MotionLength=5|Loop=1|Quantity=2"
}
], - "bullet_version": "1",
- "file_map": [
- {
- "FileType": "Texture",
- "FileName": "20240910_124130_0.jpg"
}
], - "submit_params": {
- "file_size": "",
- "pipeline_preset": "Fast",
- "scale_factor": "1",
- "sound_effects": "No"
}
}
], - "ai_image_history": [ ],
- "likes_count": 0,
- "duration_time": "5.0",
- "views_count": 0,
- "batch_id": "decdb542-05ad-45aa-b172-7c54f338fe89",
- "stream_type": "png",
- "progress_percentage": 100,
- "bullet_version": "1",
- "sort_weight": 0,
- "files": [
- {
- "name": "20240910_124130_0.jpg",
- "updated_at": "2024-09-11 23:25:15+00:00",
- "size": 6300491
}
], - "nsfw": "0",
- "threeD_version": "w2opm1g",
- "visibility_status": "1",
- "queue_type": "BATCH",
- "client_type": "",
- "account_type": "Customer",
- "ai_text_history": [ ],
- "submit_params": {
- "file_size": "",
- "pipeline_preset": "Fast",
- "scale_factor": "1",
- "sound_effects": "No"
}, - "id": "4852eb1c-a7dc-4ade-b1e7-cc57292fd4f4",
- "pose_preset": [
- {
- "MotionType": "Parallax",
- "Params": "CameraPath=StepL|MotionAmount=5|MotionLength=5|Loop=1|Quantity=1"
}, - {
- "MotionType": "Parallax",
- "Params": "CameraPath=StepU|MotionAmount=5|MotionLength=5|Loop=1|Quantity=1"
}, - {
- "MotionType": "Parallax",
- "Params": "CameraPath=HorizontalArc|MotionAmount=5|MotionLength=5|Loop=1|Quantity=1"
}, - {
- "MotionType": "Parallax",
- "Params": "CameraPath=VerticalArc|MotionAmount=5|MotionLength=5|Loop=1|Quantity=1"
}, - {
- "MotionType": "Auto",
- "Params": "MotionAmount=5|MotionLength=5|Loop=1|Quantity=2"
}
], - "error_message": "",
- "version": "2",
- "created_at": "2024-09-11 23:25:14.329089+00:00",
- "upload_bucket_name": "...",
- "3d_available": true,
- "rating": "",
- "processing_status": "success",
- "search_value": "",
- "table_name": "...",
- "result_bucket_name": "...",
- "capture_type": "Auto",
- "file_map": [
- {
- "FileType": "Texture",
- "FileName": "20240910_124130_0.jpg"
}
], - "customer_id": "demo_customer",
- "updated_at": "2024-09-11 23:43:12.015987+00:00",
- "generate_type": "GENERATE_ALL",
- "ai_video_history": [ ],
- "webhook_url": "...",
- "deleted_folder_paths": [ ],
- "description": "",
- "title": ""
}, - {
- "primary_user_id": "manager_id",
- "video_history": [
- {
- "generate_type": "GENERATE_ALL",
- "created_at": "2024-09-11 23:43:27.526895+00:00",
- "pose_preset": [
- {
- "MotionType": "Parallax",
- "Params": "CameraPath=StepL|MotionAmount=5|MotionLength=5|Loop=1|Quantity=1"
}, - {
- "MotionType": "Parallax",
- "Params": "CameraPath=StepU|MotionAmount=5|MotionLength=5|Loop=1|Quantity=1"
}, - {
- "MotionType": "Parallax",
- "Params": "CameraPath=HorizontalArc|MotionAmount=5|MotionLength=5|Loop=1|Quantity=1"
}, - {
- "MotionType": "Parallax",
- "Params": "CameraPath=VerticalArc|MotionAmount=5|MotionLength=5|Loop=1|Quantity=1"
}, - {
- "MotionType": "Auto",
- "Params": "MotionAmount=5|MotionLength=5|Loop=1|Quantity=2"
}
], - "bullet_version": "1",
- "file_map": [
- {
- "FileType": "Texture",
- "FileName": "20240910_124149_1.jpg"
}
], - "submit_params": {
- "file_size": "",
- "pipeline_preset": "Fast",
- "scale_factor": "1",
- "sound_effects": "No"
}
}
], - "ai_image_history": [ ],
- "likes_count": 0,
- "duration_time": "5.0",
- "views_count": 2,
- "batch_id": "decdb542-05ad-45aa-b172-7c54f338fe89",
- "stream_type": "png",
- "progress_percentage": 100,
- "bullet_version": "1",
- "sort_weight": 0,
- "files": [
- {
- "name": "20240910_124149_1.jpg",
- "updated_at": "2024-09-11 23:25:15+00:00",
- "size": 6780601
}
], - "nsfw": "0",
- "threeD_version": "68alge5",
- "visibility_status": "1",
- "queue_type": "BATCH",
- "client_type": "",
- "account_type": "Developer",
- "ai_text_history": [ ],
- "submit_params": {
- "file_size": "",
- "pipeline_preset": "Fast",
- "scale_factor": "1",
- "sound_effects": "No"
}, - "id": "8255657b-d2d0-4932-aa91-114663e246ed",
- "pose_preset": [
- {
- "MotionType": "Parallax",
- "Params": "CameraPath=StepL|MotionAmount=5|MotionLength=5|Loop=1|Quantity=1"
}, - {
- "MotionType": "Parallax",
- "Params": "CameraPath=StepU|MotionAmount=5|MotionLength=5|Loop=1|Quantity=1"
}, - {
- "MotionType": "Parallax",
- "Params": "CameraPath=HorizontalArc|MotionAmount=5|MotionLength=5|Loop=1|Quantity=1"
}, - {
- "MotionType": "Parallax",
- "Params": "CameraPath=VerticalArc|MotionAmount=5|MotionLength=5|Loop=1|Quantity=1"
}, - {
- "MotionType": "Auto",
- "Params": "MotionAmount=5|MotionLength=5|Loop=1|Quantity=2"
}
], - "error_message": "",
- "version": "2",
- "created_at": "2024-09-11 23:25:14.479566+00:00",
- "upload_bucket_name": "...",
- "3d_available": true,
- "rating": "",
- "processing_status": "success",
- "search_value": "",
- "table_name": "...",
- "result_bucket_name": "...",
- "capture_type": "Auto",
- "file_map": [
- {
- "FileType": "Texture",
- "FileName": "20240910_124149_1.jpg"
}
], - "customer_id": "demo_customer",
- "updated_at": "2024-09-11 23:43:30.792755+00:00",
- "generate_type": "GENERATE_ALL",
- "ai_video_history": [ ],
- "deleted_folder_paths": [ ],
- "description": "",
- "title": ""
}
]
}
}
This API requests to concat all videos from batch. You can get composed video from batch page after videos are composed.
You can just request with batch_id and empty body.
Batch Object
Validation Error
{- "id": "",
- "email": "",
- "manager_id": "",
- "customer_id": "vimmerse-product",
- "title": "",
- "description": "",
- "visibility_status": "1",
- "idea": "",
- "storyboard": { },
- "scenes": [ ],
- "message": "",
- "note": "",
- "feedback": "",
- "is_transition": "",
- "filenames": [ ],
- "files": [ ],
- "medias": [ ],
- "upload_urls": { },
- "finished_medias": [ ],
- "failed_medias": [ ],
- "pose_preset": [
- {
- "MotionType": "Auto",
- "Params": "Prompt=|Quantity=1|MotionAmount=5|MotionLength=5|Loop=1"
}
], - "submit_params": {
- "scale_factor": "1",
- "pipeline_preset": "Fast",
- "file_size": "",
- "sound_effects": "No"
}, - "progress_percentage": 0,
- "status": "new",
- "generate_type": "GENERATE_VIDEO",
- "version": "2",
- "created_at": "",
- "updated_at": ""
}
APIs for generating story video from your idea or from your story and image. APIs from Story are alpha version.
This API creates a story from your idea.
**Name**
indicates an object from characters, objects and environments, Please be careful to edit them when you submit content with story.
X-Api-Key
: Your customer API key.Content-Type
: application/json
idea
: Your idea to generate story.scene_count
: Number of scenes to be generated. Optional.import requests
url = "https://api.vimmerse.net/story"
payload = {
"idea": "suited man walking on the street",
"scene_count": 2,
}
headers = {
'Content-Type': 'application/json',
'X-Api-Key': 'YOUR_API_KEY'
}
response = requests.request("POST", url, headers=headers, json=payload)
print(response.text)
New Story Object
Bad Request
Validation Error
{- "data": {
- "id": "f995140b-c1bf-4423-9682-99a0bdd8eb1d",
- "email": "email",
- "manager_id": "manager_id",
- "customer_id": "customer_id",
- "title": "",
- "description": "",
- "visibility_status": "1",
- "idea": "suited man walking on the street",
- "storyboard": {
- "characters": [
- {
- "name": "suited man",
- "description": "A tall, slender man with short, chestnut-brown hair slicked back neatly. He has sharp blue eyes set beneath naturally arched eyebrows, a chiseled jawline, thin lips, and a slightly pointed nose. His skin is fair. Dressed elegantly in a tailored dark gray suit, he appears to be in his mid-30s."
}
], - "environments": [
- {
- "name": "city street",
- "description": "A bustling city street lined with modern glass buildings stretching toward the sky. The pavement is clean, with scattered yellow leaves from sparse trees. A clear blue sky looms above, and the ambient noise is a mixture of muted city hustle."
}
], - "objects": [
- {
- "name": "briefcase",
- "description": "A sleek, black leather briefcase with polished chrome locks, carried in the right hand of **suited man**. It reflects the sunlight, hinting at its quality and style."
}
], - "scenes": [
- {
- "title": "Introduction on the Street",
- "description": "Medium close-up shot of **suited man** walking, shown confidently striding down **city street**. **Briefcase** swings subtly by his side against a backdrop of bustling pedestrians and towering glass buildings. Camera pans smoothly, capturing the serene blue sky and urban vitality in juxtaposition with his determined gaze, adding an air of purpose."
}, - {
- "title": "Focused Walk",
- "description": "Wide shot catches **suited man** in full stride on **city street**. The camera tracks his deliberate progress amidst the vibrant street life, highlighting his refined demeanor and intent focus, with **briefcase** and fallen leaves decorating the pavement. The scene is bathed in sunlight, forging a portrait of modern business elegance."
}
]
}, - "scenes": [ ],
- "message": "",
- "note": "",
- "feedback": "",
- "is_transition": "",
- "filenames": [ ],
- "files": [ ],
- "medias": [ ],
- "upload_urls": { },
- "finished_medias": [ ],
- "failed_medias": [ ],
- "pose_preset": [
- {
- "MotionType": "Auto",
- "Params": "Prompt=|Quantity=1|MotionAmount=5|MotionLength=5|Loop=1"
}
], - "submit_params": {
- "scale_factor": "1",
- "pipeline_preset": "Fast",
- "file_size": "",
- "sound_effects": "No"
}, - "progress_percentage": 0,
- "status": "new",
- "generate_type": "GENERATE_VIDEO",
- "industry": "",
- "version": "2",
- "created_at": "2025-03-17 20:16:32.698348+00:00",
- "updated_at": "2025-03-17 20:16:32.698348+00:00"
}
}
This API crafts images from your story.
If you give your image URL, new images will be generated by referencing your image url.
X-Api-Key
: Your customer API key.Content-Type
: application/json
storyboard
: Your storyboard.aspect_ratio
: Aspect ratio of your image.option
: AI option to generate image from story. Available options are StableDiffusion3.5
, Flux1.1Pro
and Flux1.1ProUltra
. Default is Flux1.1Pro
.seed
: Seed to generate your image.import requests
url = "https://api.vimmerse.net/story/story_id/images"
payload = {
"storyboard": {
"characters": [
{
"name": "John",
"description": "A tall, middle-aged man standing. He has short, neatly trimmed black hair with a slight sprinkle of grey. His face is clean-shaven, accentuating a strong jawline and deep-set brown eyes. He wears a dark blue tailored suit with a crisp white shirt and a deep red tie. Polished black leather shoes and a silver watch complete his ensemble. Age 45, Male."
}
],
"environments": [
{
"name": "City Street",
"description": "A busy downtown street lined with tall skyscrapers and filled with a mix of cars, buses, and pedestrians. The pavements are bustling with people in business attire hurrying to their destinations. The street is clean with rays of sunlight casting shadows of the towering buildings. Large billboards and storefronts add a lively and vibrant atmosphere to the scene."
}
],
"objects": [
{
"name": "Briefcase",
"description": "A sleek black leather briefcase with a matte finish. It has a shiny silver clasp and a monogram with the initials 'J.D.' embossed in one corner. The edges are slightly worn, revealing its frequent use but well-maintained condition."
}
],
"scenes": [
{
"title": "Scene 1: Start of the Day",
"description": "A medium shot of **John** walking down the **City Street**. He holds a **Briefcase** in his right hand. The morning sun illuminates part of the scene, casting a warm glow on the bustling environment. Pedestrians in the background swarm past him, creating a contrast between movement and his calm stride.",
},
{
"title": "Scene 2: Mid-Day Pause",
"description": "A medium shot of **John** taking a short break near a small park on the side of the **City Street**. He stands beside a street vendor cart, the greenery of the park and the towering buildings behind him creating a picturesque urban setting.",
}
]
}
}
headers = {
'Content-Type': 'application/json',
'X-Api-Key': 'YOUR_API_KEY'
}
response = requests.request("POST", url, headers=headers, payload=payload)
print(response.text)
object (Storyboard) Storyboard object that contains 'characters', 'environments', 'objects' and 'scenes'. | |
AI option to generate image from story. Available options are `StableDiffusion3.5`, `Flux1.1Pro` and `Flux1.1ProUltra`. Default is `Flux1.1Pro`. (string) or AI option to generate image from story. Available options are `StableDiffusion3.5`, `Flux1.1Pro` and `Flux1.1ProUltra`. Default is `Flux1.1Pro`. (null) (AI option to generate image from story. Available options are `StableDiffusion3.5`, `Flux1.1Pro` and `Flux1.1ProUltra`. Default is `Flux1.1Pro`.) Default: "Flux1.1Pro" | |
Aspect Ratio (string) or Aspect Ratio (null) (Aspect Ratio) Default: "16:9" Aspect ratio of generating image. | |
Seed (integer) or Seed (null) (Seed) Seed is used to generate image from your story. |
Story with generated scene images
Bad Request
Insufficient Credit
Validation Error
{- "data": {
- "idea": "suited man walking on the street",
- "industry": "",
- "status": "new",
- "email": "email",
- "progress_percentage": 10,
- "finished_medias": [ ],
- "files": [ ],
- "visibility_status": "1",
- "feedback": "",
- "id": "f995140b-c1bf-4423-9682-99a0bdd8eb1d",
- "submit_params": {
- "sound_effects": "No",
- "pipeline_preset": "Fast",
- "file_size": "",
- "scale_factor": "1"
}, - "pose_preset": [
- {
- "MotionType": "Auto",
- "Params": "Prompt=|Quantity=1|MotionAmount=5|MotionLength=5|Loop=1"
}
], - "version": "2",
- "created_at": "2025-03-17 20:16:32.698348+00:00",
- "customer_id": "customer_id",
- "message": "",
- "is_transition": "",
- "storyboard": {
- "scenes": [
- {
- "title": "Introduction on the Street",
- "description": "Medium close-up shot of **suited man** walking, shown confidently striding down **city street**. **Briefcase** swings subtly by his side against a backdrop of bustling pedestrians and towering glass buildings. Camera pans smoothly, capturing the serene blue sky and urban vitality in juxtaposition with his determined gaze, adding an air of purpose."
}, - {
- "title": "Focused Walk",
- "description": "Wide shot catches **suited man** in full stride on **city street**. The camera tracks his deliberate progress amidst the vibrant street life, highlighting his refined demeanor and intent focus, with **briefcase** and fallen leaves decorating the pavement. The scene is bathed in sunlight, forging a portrait of modern business elegance."
}
], - "characters": [
- {
- "name": "suited man",
- "description": "A tall, slender man with short, chestnut-brown hair slicked back neatly. He has sharp blue eyes set beneath naturally arched eyebrows, a chiseled jawline, thin lips, and a slightly pointed nose. His skin is fair. Dressed elegantly in a tailored dark gray suit, he appears to be in his mid-30s."
}
], - "environments": [
- {
- "name": "city street",
- "description": "A bustling city street lined with modern glass buildings stretching toward the sky. The pavement is clean, with scattered yellow leaves from sparse trees. A clear blue sky looms above, and the ambient noise is a mixture of muted city hustle."
}
], - "objects": [
- {
- "name": "briefcase",
- "description": "A sleek, black leather briefcase with polished chrome locks, carried in the right hand of **suited man**. It reflects the sunlight, hinting at its quality and style."
}
]
}, - "upload_urls": { },
- "updated_at": "2025-03-17 21:04:59.934668+00:00",
- "generate_type": "GENERATE_VIDEO",
- "note": "",
- "manager_id": "manager_id",
- "filenames": [ ],
- "medias": [ ],
- "description": "",
- "failed_medias": [ ],
- "title": ""
}
}
This API creates a new Story object. You can see medias generated from response and once all medias are finished, video_url for your story will be available.
X-Api-Key
: Your customer API key.Content-Type
: application/json
title
: Title of your story.
idea
: Idea of your story. This field is optional.
storyboard
: Your story.
scenes
: List of scenes to generate video. Each scene should contain "image_url" that generated from story.
is_transition
: You can set '1' if you need transition feature.
pose_preset
:
This parameter defines the movement of the pose and consists of MotionType
and Params
.
MotionType
: Defines the type of motion. Available values are: Auto
, StableVideoDiffusion
, LeonardoMotion
, LumaAI
, LumaRay2
, KlingAI
, MinimaxHailuo
, Hunyuan
, RunwayML
, Wan
, Pixverse
, TryOnVideo
and Parallax
.
Auto
: Video motion is defined automatically based on input settings.LeonardoMotion
: Video motion is generated by Leonardo AI image2motion tool. It only takes input image and motionAmount. It doesnot support transition frame, prompt.StableVideoDiffusion
: Video motion is generated by Stability's Stable Video Diffusion v2. It only takes input image and motionAmount. It doesnot support transition frame, prompt.LumaAI
: Video motion is generated by Luma AI. It takes input images(i.e. optional first and last frames) and prompt. When LumaAI is used, camera motion can also be defined as part of the prompt by adding "camera orbit left" for instance there. Available camera motions are: Static', 'Move Left', 'Move Right', 'Move Up', 'Move Down', 'Push In', 'Pull Out', 'Zoom In', 'Zoom Out', 'Pan Left', 'Pan Right', 'Orbit Left', 'Orbit Right', 'Crane Up', 'Crane Down'.LumaRay2
: Video motion is generated by Luma AI. It takes input image and prompt.KlingAI
: video motion is generated by Kling AI Professional model. It takes input images(i.e. optional last frames) and prompt.MinimaxHailuo
: video motion is generated by Minimax Hailuo. It takes input image and prompt. It does not support motionAmount nor a transition frame.Hunyuan
: video motion is generated by Tencent Hunyuan. It takes input image and prompt. It does not support motionAmount nor a transition frame.Wan
: video motion is generated by Alibaba Wan2.1. It takes input image and prompt. It does not support motionAmount nor a transition frame.Pixverse
: video motion is generated by PixVerse. It takes input image and prompt. It does not support motionAmount nor a transition frame.RunwayML
: video motion is generated by RunwayML Gen3. It takes input images(i.e. optional first and last frames) and prompt. It does not support motionAmount.TryOnVideo
: video motion applied on TryOn results with a preset prompt. It takes input images(i.e. human image and clothing image).Parallax
: Video motion is defined by a camera path which is specified in Params
.Params
: Contains detailed values for video motion. If you have chosen the Prompt
motion type, you will need to provide prompt text under Prompt
in Params
.
CameraPath
: Defines the camera path of the bullet video. Only available when Parallax
motion type is chosen. Available values are HorizontalArc
, VerticalArc
, StepIn
, Cross
, Circular
, StepD
, StepU
, StepL
and StepR
.Prompt
: The prompt for movement for the bullet video. Only available when Prompt
motion type is chosen.PromptStrength
: Defines prompt strength for video generation. Available values are 1, 2, 3, 4, or 5.Quantity
: The number of bullet videos to generate.MotionAmount
: The amount of motion, ranging from 1 to 10.MotionLength
: The length of the generated bullet video.Loop
: The number of repetitions of the same motion.import requests
url = "https://api.vimmerse.net/story/story_id/videos"
payload = {
"storyboard": {
"characters": [
{
"name": "John",
"description": "A tall, middle-aged man standing at 6'2''. He has short, neatly trimmed black hair with a slight sprinkle of grey. His face is clean-shaven, accentuating a strong jawline and deep-set brown eyes. He wears a dark blue tailored suit with a crisp white shirt and a deep red tie. Polished black leather shoes and a silver watch complete his ensemble. Age 45, Male."
}
],
"environments": [
{
"name": "City Street",
"description": "A busy downtown street lined with tall skyscrapers and filled with a mix of cars, buses, and pedestrians. The pavements are bustling with people in business attire hurrying to their destinations. The street is clean with rays of sunlight casting shadows of the towering buildings. Large billboards and storefronts add a lively and vibrant atmosphere to the scene."
}
],
"objects": [
{
"name": "Briefcase",
"description": "A sleek black leather briefcase with a matte finish. It has a shiny silver clasp and a monogram with the initials 'J.D.' embossed in one corner. The edges are slightly worn, revealing its frequent use but well-maintained condition."
}
],
"scenes": [
{
"title": "Scene 1: Start of the Day",
"description": "A medium shot of **John** walking down the **City Street**. He holds a **Briefcase** in his right hand. The morning sun illuminates part of the scene, casting a warm glow on the bustling environment. Pedestrians in the background swarm past him, creating a contrast between movement and his calm stride.",
},
{
"title": "Scene 2: Mid-Day Pause",
"description": "A medium shot of **John** taking a short break near a small park on the side of the **City Street**. He stands beside a street vendor cart, the greenery of the park and the towering buildings behind him creating a picturesque urban setting.",
}
]
},
"scenes": [
{
"image_url": "https://dev-media.vimmerse.net/vimmerse-test-user/ai_images/1wa7alz/story2video1.png"
},
{
"image_url": "https://dev-media.vimmerse.net/vimmerse-test-user/ai_images/1wa7alz/story2video2.png"
}
]
}
headers = {
'Content-Type': 'application/json',
'X-Api-Key': 'YOUR_API_KEY'
}
response = requests.request("POST", url, headers=headers, json=payload)
print(response.text)
Story Object
Bad Request
Insufficient Credit
Validation Error
{- "data": {
- "data": {
- "idea": "Suited man on the street",
- "industry": "",
- "status": "new",
- "email": "email",
- "progress_percentage": 10,
- "finished_medias": [ ],
- "files": [ ],
- "visibility_status": "1",
- "feedback": "",
- "id": "f995140b-c1bf-4423-9682-99a0bdd8eb1d",
- "submit_params": {
- "sound_effects": "No",
- "pipeline_preset": "Fast",
- "file_size": "",
- "scale_factor": "1"
}, - "pose_preset": [
- {
- "MotionType": "KlingAI",
- "Params": "Prompt="
}
], - "version": "2",
- "created_at": "2025-03-17 20:16:32.698348+00:00",
- "customer_id": "customer_id",
- "message": "",
- "is_transition": "",
- "upload_urls": { },
- "updated_at": "2025-03-17 21:22:04.210403+00:00",
- "generate_type": "GENERATE_VIDEO",
- "note": "",
- "storyboard": {
- "scenes": [
- {
- "title": "Introduction on the Street",
- "description": "Medium close-up shot of suited man(A tall, slender man with short, chestnut-brown hair slicked back neatly. He has sharp blue eyes set beneath naturally arched eyebrows, a chiseled jawline, thin lips, and a slightly pointed nose. His skin is fair. Dressed elegantly in a tailored dark gray suit, he appears to be in his mid-30s.) walking, shown confidently striding down city street(A bustling city street lined with modern glass buildings stretching toward the sky. The pavement is clean, with scattered yellow leaves from sparse trees. A clear blue sky looms above, and the ambient noise is a mixture of muted city hustle.). **Briefcase** swings subtly by his side against a backdrop of bustling pedestrians and towering glass buildings. Camera pans smoothly, capturing the serene blue sky and urban vitality in juxtaposition with his determined gaze, adding an air of purpose."
}, - {
- "title": "Focused Walk",
- "description": "Wide shot catches suited man(A tall, slender man with short, chestnut-brown hair slicked back neatly. He has sharp blue eyes set beneath naturally arched eyebrows, a chiseled jawline, thin lips, and a slightly pointed nose. His skin is fair. Dressed elegantly in a tailored dark gray suit, he appears to be in his mid-30s.) in full stride on city street(A bustling city street lined with modern glass buildings stretching toward the sky. The pavement is clean, with scattered yellow leaves from sparse trees. A clear blue sky looms above, and the ambient noise is a mixture of muted city hustle.). The camera tracks his deliberate progress amidst the vibrant street life, highlighting his refined demeanor and intent focus, with briefcase(A sleek, black leather briefcase with polished chrome locks, carried in the right hand of **suited man**. It reflects the sunlight, hinting at its quality and style.) and fallen leaves decorating the pavement. The scene is bathed in sunlight, forging a portrait of modern business elegance."
}
], - "characters": [
- {
- "name": "suited man",
- "description": "A tall, slender man with short, chestnut-brown hair slicked back neatly. He has sharp blue eyes set beneath naturally arched eyebrows, a chiseled jawline, thin lips, and a slightly pointed nose. His skin is fair. Dressed elegantly in a tailored dark gray suit, he appears to be in his mid-30s."
}
], - "environments": [
- {
- "name": "city street",
- "description": "A bustling city street lined with modern glass buildings stretching toward the sky. The pavement is clean, with scattered yellow leaves from sparse trees. A clear blue sky looms above, and the ambient noise is a mixture of muted city hustle."
}
], - "objects": [
- {
- "name": "briefcase",
- "description": "A sleek, black leather briefcase with polished chrome locks, carried in the right hand of **suited man**. It reflects the sunlight, hinting at its quality and style."
}
]
}, - "manager_id": "manager_id",
- "filenames": [ ],
- "medias": [ ],
- "description": "",
- "failed_medias": [ ],
- "title": "Suited Man"
}
}
}
This API creates a new Story object from idea directly. You can see medias generated from response and once all medias are finished, video_url for your story will be available.
X-Api-Key
: Your customer API key.Content-Type
: application/json
title
: Title of your story.
idea
: Idea of your story. This field is optional.
is_transition
: You can set '1' if you need transition feature.
aspect_ratio
: Aspect ratio of the generating video.
option
: AI option to generate image from story. Available options are StableDiffusion3.5
, Flux1.1Pro
and Flux1.1ProUltra
. Default is Flux1.1Pro
.
scene_count
: Number of scenes to be generated.
seed
: Seed to generate image.
pose_preset
:
This parameter defines the movement of the pose and consists of MotionType
and Params
.
MotionType
: Defines the type of motion. Available values are: Auto
, StableVideoDiffusion
, LeonardoMotion
, LumaAI
, LumaRay2
, KlingAI
, MinimaxHailuo
, Hunyuan
, RunwayML
, Wan
, Pixverse
, TryOnVideo
and Parallax
.
Auto
: Video motion is defined automatically based on input settings.LeonardoMotion
: Video motion is generated by Leonardo AI image2motion tool. It only takes input image and motionAmount. It doesnot support transition frame, prompt.StableVideoDiffusion
: Video motion is generated by Stability's Stable Video Diffusion v2. It only takes input image and motionAmount. It doesnot support transition frame, prompt.LumaAI
: Video motion is generated by Luma AI. It takes input images(i.e. optional first and last frames) and prompt. When LumaAI is used, camera motion can also be defined as part of the prompt by adding "camera orbit left" for instance there. Available camera motions are: Static', 'Move Left', 'Move Right', 'Move Up', 'Move Down', 'Push In', 'Pull Out', 'Zoom In', 'Zoom Out', 'Pan Left', 'Pan Right', 'Orbit Left', 'Orbit Right', 'Crane Up', 'Crane Down'.LumaRay2
: Video motion is generated by Luma AI. It takes input image and prompt.KlingAI
: video motion is generated by Kling AI Professional model. It takes input images(i.e. optional last frames) and prompt.MinimaxHailuo
: video motion is generated by Minimax Hailuo. It takes input image and prompt. It does not support motionAmount nor a transition frame.Hunyuan
: video motion is generated by Tencent Hunyuan. It takes input image and prompt. It does not support motionAmount nor a transition frame.Wan
: video motion is generated by Alibaba Wan2.1. It takes input image and prompt. It does not support motionAmount nor a transition frame.Pixverse
: video motion is generated by PixVerse. It takes input image and prompt. It does not support motionAmount nor a transition frame.RunwayML
: video motion is generated by RunwayML Gen3. It takes input images(i.e. optional first and last frames) and prompt. It does not support motionAmount.TryOnVideo
: video motion applied on TryOn results with a preset prompt. It takes input images(i.e. human image and clothing image).Parallax
: Video motion is defined by a camera path which is specified in Params
.Params
: Contains detailed values for video motion. If you have chosen the Prompt
motion type, you will need to provide prompt text under Prompt
in Params
.
CameraPath
: Defines the camera path of the bullet video. Only available when Parallax
motion type is chosen. Available values are HorizontalArc
, VerticalArc
, StepIn
, Cross
, Circular
, StepD
, StepU
, StepL
and StepR
.Prompt
: The prompt for movement for the bullet video. Only available when Prompt
motion type is chosen.PromptStrength
: Defines prompt strength for video generation. Available values are 1, 2, 3, 4, or 5.Quantity
: The number of bullet videos to generate.MotionAmount
: The amount of motion, ranging from 1 to 10.MotionLength
: The length of the generated bullet video.Loop
: The number of repetitions of the same motion.import requests
url = "https://api.vimmerse.net/story/idea-2-video"
payload = {
"title": "Idea 2 Video Example",
"idea": "suited man walking on the street in 2 scenes"
}
headers = {
'Content-Type': 'application/json',
'X-Api-Key': 'YOUR_API_KEY'
}
response = requests.request("POST", url, headers=headers, json=payload)
print(response.text)
Story Object
Bad Request
Insufficient Credit
Validation Error
{- "data": {
- "data": {
- "idea": "Suited man on the street",
- "industry": "",
- "status": "new",
- "email": "email",
- "progress_percentage": 10,
- "finished_medias": [ ],
- "files": [ ],
- "visibility_status": "1",
- "feedback": "",
- "id": "f995140b-c1bf-4423-9682-99a0bdd8eb1d",
- "submit_params": {
- "sound_effects": "No",
- "pipeline_preset": "Fast",
- "file_size": "",
- "scale_factor": "1"
}, - "pose_preset": [
- {
- "MotionType": "KlingAI",
- "Params": "Prompt="
}
], - "version": "2",
- "created_at": "2025-03-17 20:16:32.698348+00:00",
- "customer_id": "customer_id",
- "message": "",
- "is_transition": "",
- "upload_urls": { },
- "updated_at": "2025-03-17 21:22:04.210403+00:00",
- "generate_type": "GENERATE_VIDEO",
- "note": "",
- "storyboard": {
- "scenes": [
- {
- "title": "Introduction on the Street",
- "description": "Medium close-up shot of suited man(A tall, slender man with short, chestnut-brown hair slicked back neatly. He has sharp blue eyes set beneath naturally arched eyebrows, a chiseled jawline, thin lips, and a slightly pointed nose. His skin is fair. Dressed elegantly in a tailored dark gray suit, he appears to be in his mid-30s.) walking, shown confidently striding down city street(A bustling city street lined with modern glass buildings stretching toward the sky. The pavement is clean, with scattered yellow leaves from sparse trees. A clear blue sky looms above, and the ambient noise is a mixture of muted city hustle.). **Briefcase** swings subtly by his side against a backdrop of bustling pedestrians and towering glass buildings. Camera pans smoothly, capturing the serene blue sky and urban vitality in juxtaposition with his determined gaze, adding an air of purpose."
}, - {
- "title": "Focused Walk",
- "description": "Wide shot catches suited man(A tall, slender man with short, chestnut-brown hair slicked back neatly. He has sharp blue eyes set beneath naturally arched eyebrows, a chiseled jawline, thin lips, and a slightly pointed nose. His skin is fair. Dressed elegantly in a tailored dark gray suit, he appears to be in his mid-30s.) in full stride on city street(A bustling city street lined with modern glass buildings stretching toward the sky. The pavement is clean, with scattered yellow leaves from sparse trees. A clear blue sky looms above, and the ambient noise is a mixture of muted city hustle.). The camera tracks his deliberate progress amidst the vibrant street life, highlighting his refined demeanor and intent focus, with briefcase(A sleek, black leather briefcase with polished chrome locks, carried in the right hand of **suited man**. It reflects the sunlight, hinting at its quality and style.) and fallen leaves decorating the pavement. The scene is bathed in sunlight, forging a portrait of modern business elegance."
}
], - "characters": [
- {
- "name": "suited man",
- "description": "A tall, slender man with short, chestnut-brown hair slicked back neatly. He has sharp blue eyes set beneath naturally arched eyebrows, a chiseled jawline, thin lips, and a slightly pointed nose. His skin is fair. Dressed elegantly in a tailored dark gray suit, he appears to be in his mid-30s."
}
], - "environments": [
- {
- "name": "city street",
- "description": "A bustling city street lined with modern glass buildings stretching toward the sky. The pavement is clean, with scattered yellow leaves from sparse trees. A clear blue sky looms above, and the ambient noise is a mixture of muted city hustle."
}
], - "objects": [
- {
- "name": "briefcase",
- "description": "A sleek, black leather briefcase with polished chrome locks, carried in the right hand of **suited man**. It reflects the sunlight, hinting at its quality and style."
}
]
}, - "manager_id": "manager_id",
- "filenames": [ ],
- "medias": [ ],
- "description": "",
- "failed_medias": [ ],
- "title": "Suited Man"
}
}
}
This API retrieves a Batch/Story object.
X-Api-Key
: Your customer API key.Content-Type
: application/json
status
field shows current progressing status of this Batch/Story.
if Batch/Story is finished, you can get composed video from video_url
.
Story Object
Bad Request
Validation Error
{- "data": {
- "data": {
- "idea": "Suited man on the street",
- "industry": "",
- "status": "new",
- "email": "email",
- "progress_percentage": 10,
- "finished_medias": [ ],
- "files": [ ],
- "visibility_status": "1",
- "feedback": "",
- "id": "f995140b-c1bf-4423-9682-99a0bdd8eb1d",
- "submit_params": {
- "sound_effects": "No",
- "pipeline_preset": "Fast",
- "file_size": "",
- "scale_factor": "1"
}, - "pose_preset": [
- {
- "MotionType": "KlingAI",
- "Params": "Prompt="
}
], - "version": "2",
- "created_at": "2025-03-17 20:16:32.698348+00:00",
- "customer_id": "customer_id",
- "message": "",
- "is_transition": "",
- "upload_urls": { },
- "updated_at": "2025-03-17 21:22:04.210403+00:00",
- "generate_type": "GENERATE_VIDEO",
- "note": "",
- "storyboard": {
- "scenes": [
- {
- "title": "Introduction on the Street",
- "description": "Medium close-up shot of suited man(A tall, slender man with short, chestnut-brown hair slicked back neatly. He has sharp blue eyes set beneath naturally arched eyebrows, a chiseled jawline, thin lips, and a slightly pointed nose. His skin is fair. Dressed elegantly in a tailored dark gray suit, he appears to be in his mid-30s.) walking, shown confidently striding down city street(A bustling city street lined with modern glass buildings stretching toward the sky. The pavement is clean, with scattered yellow leaves from sparse trees. A clear blue sky looms above, and the ambient noise is a mixture of muted city hustle.). **Briefcase** swings subtly by his side against a backdrop of bustling pedestrians and towering glass buildings. Camera pans smoothly, capturing the serene blue sky and urban vitality in juxtaposition with his determined gaze, adding an air of purpose."
}, - {
- "title": "Focused Walk",
- "description": "Wide shot catches suited man(A tall, slender man with short, chestnut-brown hair slicked back neatly. He has sharp blue eyes set beneath naturally arched eyebrows, a chiseled jawline, thin lips, and a slightly pointed nose. His skin is fair. Dressed elegantly in a tailored dark gray suit, he appears to be in his mid-30s.) in full stride on city street(A bustling city street lined with modern glass buildings stretching toward the sky. The pavement is clean, with scattered yellow leaves from sparse trees. A clear blue sky looms above, and the ambient noise is a mixture of muted city hustle.). The camera tracks his deliberate progress amidst the vibrant street life, highlighting his refined demeanor and intent focus, with briefcase(A sleek, black leather briefcase with polished chrome locks, carried in the right hand of **suited man**. It reflects the sunlight, hinting at its quality and style.) and fallen leaves decorating the pavement. The scene is bathed in sunlight, forging a portrait of modern business elegance."
}
], - "characters": [
- {
- "name": "suited man",
- "description": "A tall, slender man with short, chestnut-brown hair slicked back neatly. He has sharp blue eyes set beneath naturally arched eyebrows, a chiseled jawline, thin lips, and a slightly pointed nose. His skin is fair. Dressed elegantly in a tailored dark gray suit, he appears to be in his mid-30s."
}
], - "environments": [
- {
- "name": "city street",
- "description": "A bustling city street lined with modern glass buildings stretching toward the sky. The pavement is clean, with scattered yellow leaves from sparse trees. A clear blue sky looms above, and the ambient noise is a mixture of muted city hustle."
}
], - "objects": [
- {
- "name": "briefcase",
- "description": "A sleek, black leather briefcase with polished chrome locks, carried in the right hand of **suited man**. It reflects the sunlight, hinting at its quality and style."
}
]
}, - "manager_id": "manager_id",
- "filenames": [ ],
- "medias": [ ],
- "description": "",
- "failed_medias": [ ],
- "title": "Suited Man"
}
}
}
This API requests to concat all videos from story. You can get concat video from story page after videos are generated.
You can just request with story_id and empty body.
Story Object
Validation Error
{- "id": "",
- "email": "",
- "manager_id": "",
- "customer_id": "vimmerse-product",
- "title": "",
- "description": "",
- "visibility_status": "1",
- "idea": "",
- "storyboard": { },
- "scenes": [ ],
- "message": "",
- "note": "",
- "feedback": "",
- "is_transition": "",
- "filenames": [ ],
- "files": [ ],
- "medias": [ ],
- "upload_urls": { },
- "finished_medias": [ ],
- "failed_medias": [ ],
- "pose_preset": [
- {
- "MotionType": "Auto",
- "Params": "Prompt=|Quantity=1|MotionAmount=5|MotionLength=5|Loop=1"
}
], - "submit_params": {
- "scale_factor": "1",
- "pipeline_preset": "Fast",
- "file_size": "",
- "sound_effects": "No"
}, - "progress_percentage": 0,
- "status": "new",
- "generate_type": "GENERATE_VIDEO",
- "version": "2",
- "created_at": "",
- "updated_at": ""
}
You can generate and download images from your text prompt.
X-Api-Key
: Your customer API key.Content-Type
: application/json
prompt
: Prompt string that describes on your image. Example: Shot of Nike shoes on colorful background
.quantity
: Number of the images that you want to craft. Available values are integers from 1 to 4.option
: Available options are StableDiffusion3.5
, LeonardoImage
, Flux1
, Flux1.1Pro
, Flux1.1ProUltra
and Auto
. If you choose Auto
, one of them will be chosen automatically.aspect_ratio
: Aspect ratio of generating image(s).Generate image from text prompt.
import requests
url = "https://api.vimmerse.net/image/text-2-image"
headers = {
'X-Api-Key': 'YOUR_API_KEY',
'Content-Type': 'application/json'
}
payload = {
"quantity": 3,
"prompt": "Shot of Nike shoes on colorful background.",
"option": "Auto",
"aspect_ratio": "16:9"
}
response = requests.request("POST", url, headers=headers, json=payload)
print(response.text)
New Image URLs
Bad Request
Insufficient Credit
Validation Error
You can generate image(s) from base image and text prompt
that describes changes to your base image.
You can upload your base image by using image_file
or put public image URL into image_url
field.
Generate text prompt from image.
import requests
url = "https://api.vimmerse.net/image/image-2-image"
payload = {
'prompt': 'Make shoe blue and look more real like in the shop.',
'quantity': 2,
'creativity_strength': 3,
'aspect_ratio': '4:3',
'option': 'Flux1'
}
files=[
('image_file', ('image.png', open('/path/to/image.png','rb'), 'image/png'))
]
headers = {
'X-Api-Key': 'YOUR_API_KEY'
}
response = requests.request("POST", url, headers=headers, data=payload, files=files)
print(response.text)
New Image URLs
Bad Request
Insufficient Credit
Validation Error
You can reimagine uploaded image and text prompt that describes changes to your uploaded image.
X-Api-Key
: Your customer API key.import requests
url = "https://api.vimmerse.net/image/reimagine"
payload = {
'prompt': 'Make shoe blue and change wall to sky.',
'aspect_ratio': '16:9',
'option': 'Remake',
'creativity_strength': 3,
}
files=[
('image_file', ('image.png', open('/path/to/image.png','rb'), 'image/png'))
]
headers = {
'X-Api-Key': 'YOUR_API_KEY'
}
response = requests.request("POST", url, headers=headers, data=payload, files=files)
print(response.text)
import requests
url = "https://api.vimmerse.net/image/reimagine"
payload = {'option': 'TryOn'}
files=[
('image_file',('human.jpg',open('/path/to/human/image.jpg','rb'),'image/jpeg')),
('image2_file',('clothes.png',open('/path/to/clothes/image.png','rb'),'image/png'))
]
headers = {
'X-Api-Key': 'YOUR API KEY'
}
response = requests.request("POST", url, headers=headers, data=payload, files=files)
print(response.text)
New Image URLs
Bad Request
Insufficient Credit
Validation Error
You can edit the image with below options.
X-Api-Key
: Your customer API key.import requests
url = "https://api.vimmerse.net/image/edit-image"
files=[
('image_file', ('image.png', open('/path/to/image.png','rb'), 'image/png'))
]
headers = {
'X-Api-Key': 'YOUR_API_KEY'
}
payload={
"option": "RemoveBackground"
}
response = requests.request("POST", url, headers=headers, data=payload, files=files)
print(response.text)
import requests
url = "https://api.vimmerse.net/image/edit-image"
files=[
('image_file', ('image.png', open('/path/to/image.png','rb'), 'image/png'))
('image2_file', ('image2.png', open('/path/to/new/background.png','rb'), 'image/png'))
]
headers = {
'X-Api-Key': 'YOUR_API_KEY'
}
payload={
"option": "ReplaceBackground"
}
response = requests.request("POST", url, headers=headers, data=payload, files=files)
print(response.text)
import requests
url = "https://api.vimmerse.net/image/edit-image"
files=[
('image_file', ('image.png', open('/path/to/image.png','rb'), 'image/png'))
('image2_file', ('image2.png', open('/path/to/new/background.png','rb'), 'image/png'))
]
headers = {
'X-Api-Key': 'YOUR_API_KEY'
}
payload={
"option": "RestyleBackground"
}
response = requests.request("POST", url, headers=headers, data=payload, files=files)
print(response.text)
import requests
url = "https://api.vimmerse.net/image/edit-image"
files=[
('image_file', ('image.png', open('/path/to/image.png','rb'), 'image/png'))
]
headers = {
'X-Api-Key': 'YOUR_API_KEY'
}
payload={
"option": "RemoveText"
}
response = requests.request("POST", url, headers=headers, data=payload, files=files)
print(response.text)
import requests
url = "https://api.vimmerse.net/image/edit-image"
files=[
('image_file', ('image.png', open('/path/to/image.png','rb'), 'image/png'))
]
headers = {
'X-Api-Key': 'YOUR_API_KEY'
}
payload={
"option": "Upscale"
}
response = requests.request("POST", url, headers=headers, data=payload, files=files)
print(response.text)
import requests
url = "https://api.vimmerse.net/image/edit-image"
files=[
('image_file', ('image.png', open('/path/to/image.png','rb'), 'image/png'))
]
headers = {
'X-Api-Key': 'YOUR_API_KEY'
}
payload={
"option": "ExpandToAspectRatio",
"aspect_ratio": "16:9"
}
response = requests.request("POST", url, headers=headers, data=payload, files=files)
print(response.text)
Modified image url.
Bad Request
Insufficient Credit
Validation Error
{
}
You can generate text prompt from uploaded image, refine your prompt or get suggested prompt.
import requests
url = "https://api.vimmerse.net/text/prompt"
headers = {
'X-Api-Key': 'YOUR_API_KEY',
}
files=[
('image_file',('file',open('/path/to/file','rb'),'application/octet-stream'))
]
payload = {
"option": "Image2Prompt", ## "InspireMe" option will also generate refined prompt from image.
}
response = requests.request("POST", url, headers=headers, files=files, data=payload)
print(response.text)
import requests
url = "https://api.vimmerse.net/text/prompt"
headers = {
'X-Api-Key': 'YOUR_API_KEY',
}
payload = {
"option": "RefinePrompt", ## "InspireMe" option will also generate refined prompt
"prompt": "A nurse girl holding an injection and smiling"
}
response = requests.request("POST", url, headers=headers, data=payload)
print(response.text)
import requests
url = "https://api.vimmerse.net/text/prompt"
headers = {
'X-Api-Key': 'YOUR_API_KEY',
}
payload = {
"option": "SuggestPrompt", ## "InspireMe" option will also generate suggested prompt
}
response = requests.request("POST", url, headers=headers, data=payload)
print(response.text)
Generated Text Prompt
Bad Request
Validation Error
{- "data": "Imagine a futuristic cityscape where skyscrapers reach up to touch the stars, illuminated by neon lights and pulsating with energy. In the midst of it all, a sleek and powerful spacecraft hovers effortlessly, casting a beam of light down onto the bustling metropolis below. The scene captures the perfect blend of advanced technology, urban vibrancy, and infinite possibility. Bring this breathtaking vision to life with your creative expertise."
}
You can change aspect ratio of your input video.
X-Api-Key
: Your customer API key.video_file
: Input video file.aspect_ratio
: Aspect ratio of your new video. Example: '1:1', '16:9', '9:16'offset_x
: Offset X-Axis to top left conner from your input video that can be cropped. This value is optional and if you don't give any value, video will be cropped from center.offset_y
: Offset Y-Axis to top left conner from your input video that can be cropped. This value is optional and if you don't give any value, video will be cropped from center.import requests
url = "https://api.vimmerse.net/video/crop-to-aspect-ratio"
files=[
('video', ('video.mp4', open('/path/to/video.mp4','rb'), 'video.mp4'))
]
headers = {
'X-Api-Key': 'YOUR_API_KEY'
}
payload={
"aspect_ratio": "16:9"
}
response = requests.request("POST", url, headers=headers, data=payload, files=files)
print(response.text)
Change Video Aspect Ratio
Bad Request
Insufficient Credit
Validation Error
{- "data": {
- "id": "e00b8d24-1dee-4af6-9862-3fce26bae681",
- "customer_id": "customer_id",
- "primary_user_id": "user_id",
- "args": { },
- "mime_type": "video/mp4",
- "created_at": "2024-12-11 16:36:06.540037+00:00",
- "updated_at": "2024-12-11 16:36:06.540037+00:00"
}
}
You can get upscaled or better quality video.
X-Api-Key
: Your customer API key.video_file
: Input video fileoption
: Available values are 4X
, 2X
, 4X&DeepClean
and 2X&DeepClean
and 'DeepClean'.compression_scale
: Compression scale of the video. Range is (0 - 1) and the default value is 0.5.import requests
url = "https://api.vimmerse.net/video/enhance"
files=[
('video_file', ('video.mp4', open('/path/to/video.mp4','rb'), 'video.mp4'))
]
headers = {
'X-Api-Key': 'YOUR_API_KEY'
}
payload={
'option': '4X&DeepClean'
}
response = requests.request("POST", url, headers=headers, data=payload, files=files)
print(response.text)
Enhance video
Bad Request
Insufficient Credit
Validation Error
{- "data": {
- "id": "e00b8d24-1dee-4af6-9862-3fce26bae681",
- "customer_id": "customer_id",
- "primary_user_id": "user_id",
- "args": { },
- "mime_type": "video/mp4",
- "created_at": "2024-12-11 16:36:06.540037+00:00",
- "updated_at": "2024-12-11 16:36:06.540037+00:00"
}
}
You can add sound effect to video.
X-Api-Key
: Your customer API key.video_file
: Input video file.prompt
: Prompt string that describes on your video. Example: Add ring from phone.
.import requests
url = "https://api.vimmerse.net/video/sound-effect"
files=[
('video_file', ('video.mp4', open('/path/to/video.mp4','rb'), 'video.mp4'))
]
headers = {
'X-Api-Key': 'YOUR_API_KEY'
}
payload={
'prompt': 'Add ringtone from the phone.'
}
response = requests.request("POST", url, headers=headers, data=payload, files=files)
print(response.text)
Video with sound effect
Bad Request
Insufficient Credit
Validation Error
{- "data": {
- "id": "e00b8d24-1dee-4af6-9862-3fce26bae681",
- "customer_id": "customer_id",
- "primary_user_id": "user_id",
- "args": { },
- "mime_type": "video/mp4",
- "created_at": "2024-12-11 16:36:06.540037+00:00",
- "updated_at": "2024-12-11 16:36:06.540037+00:00"
}
}
You can generate Lip-Sync video from image, video, audio and prompt.
X-Api-Key
: Your customer API key.You need to upload any of image, image_url or video, video_url to generate Lip-Sync Video. You also need to upload any of prompt, audio or audio_url to generate Lip-Sync Audio.
Lip Sync Video
Bad Request
Insufficient Credit
Validation Error
{- "data": {
- "id": "e00b8d24-1dee-4af6-9862-3fce26bae681",
- "customer_id": "customer_id",
- "primary_user_id": "user_id",
- "args": { },
- "mime_type": "video/mp4",
- "created_at": "2024-12-11 16:36:06.540037+00:00",
- "updated_at": "2024-12-11 16:36:06.540037+00:00"
}
}
You can generate video effect from image(s) and effect prompt.
X-Api-Key
: Your customer API key.You need to upload any of image, image_url and select teh desired effect to generate video accordingly.
Video
Bad Request
Insufficient Credit
Validation Error
{- "data": {
- "id": "e00b8d24-1dee-4af6-9862-3fce26bae681",
- "customer_id": "customer_id",
- "primary_user_id": "user_id",
- "args": { },
- "mime_type": "video/mp4",
- "created_at": "2024-12-11 16:36:06.540037+00:00",
- "updated_at": "2024-12-11 16:36:06.540037+00:00"
}
}
You can generate speech from text prompt.
X-Api-Key
: Your customer API key.prompt
: Text prompt of the speech.voice
: 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".Audio URL
Bad Request
Insufficient Credit
Validation Error
{- "data": {
- "id": "e00b8d24-1dee-4af6-9862-3fce26bae681",
- "customer_id": "customer_id",
- "primary_user_id": "user_id",
- "args": { },
- "mime_type": "audio/mp3",
- "created_at": "2024-12-11 16:36:06.540037+00:00",
- "updated_at": "2024-12-11 16:36:06.540037+00:00"
}
}
You can generate audio from text prompt.
X-Api-Key
: Your customer API key.prompt
: Text prompt of the audio.duration
: Duration of the audio. Default value is 5 which means 5 second.Audio URL
Bad Request
Insufficient Credit
Validation Error
{- "data": {
- "id": "e00b8d24-1dee-4af6-9862-3fce26bae681",
- "customer_id": "customer_id",
- "primary_user_id": "user_id",
- "args": { },
- "mime_type": "audio/mp3",
- "created_at": "2024-12-11 16:36:06.540037+00:00",
- "updated_at": "2024-12-11 16:36:06.540037+00:00"
}
}
You can get daily statistics by providing start and end date. Today's statistics will not be available until the end of the day.
Example URL is https://api.vimmerse.net/customer-statistics/2025-01-01/2025-01-15
List of statistics
Validation Error
null