Workflow

APIs for building and running template-based workflows using JSON requests.

Overview

The Workflow API helps you automate multi-step media production pipelines. You submit a template, inputs, and options, then track progress until completion.

Typical Lifecycle

  1. Create a workflow with a template and JSON options.
  2. Poll workflow status to monitor progress.
  3. Read final outputs from result and step outputs from completions.
  4. Optionally update metadata or delete completed workflows.

How Workflows Work

  1. Upload images — Provide one or more images via image_urls in the request body.
  2. Select template — Set template_id to a workflow template from the catalog.
  3. Configure options — Pass template-specific options in the options object (see tables below). Common keys include image_url, aspect_ratio, and pipeline_mode (image or video).
  4. Process — The workflow runs the template’s processing steps automatically in the background.
  5. Get results — Poll until processing_status is success or fail, then read result and per-step outputs in completions.

Template catalog

Call GET /v2/workflow/templates for the latest catalog (labels, inputs, credits, thumbnails). Use detail=true to see all options, processing steps, and output fields for a template.

The reference tables below list the templates and shared options available in the API.

Templates in use

Template ID Label Category Credits Description Options
each_createsong_0226 Create Song general a: 10 Create a song from genre and theme. {"genre_style": "Upbeat pop with bright synths", "song_theme": "Dancing"}
each_explodedloop_0226 Exploded Loop marketing v: 100 Have a product exploded into layers with labels then loop back to original photo. {"prompt": "burger", "aspect_ratio": "16:9"}
each_funnydance_0226 Funny Dance general v: 200 Have the person performing a funny dance! {"image_url": "image URL (image_urls or option key)"}
each_moonwalk_0226 Moon Walk general v: 150 Have the person doing the famous moon walk! {"image_url": "image URL (image_urls or option key)"}
each_ugcproduct_0226 UGC Product marketing v: 320 Create a UGC video of a product with crafted marketing message and AI avatar holding your product ready for social me... {"product_name": "Premium Skincare Serum", "target_audience": "Women aged 25-40 interested in anti-aging skincare", "product_image": "https://distribution.vimmerse.net/presets/image/skincare_product.jpg", "voice": "Sarah", "aspect_ratio": "16:9"}
lego_friendsbench_0126 Friends Bench general i: 10 {"aspect_ratio": "16:9", "image_url": "image URL (image_urls or option key)"}
minty_brushingteeth_0226 Brushing Teeth general i: 10, v: 100 {"aspect_ratio": "16:9", "pipeline_mode": "video", "image_url": "image URL (image_urls or option key)"}
vim_360_nyctimessquare 360 @ NYC Times Square general v: 160 Create a 360 photobooth experience of a person at NYC Times Square. {"front_view": "image URL (image_urls or option key)", "right_view": "image URL (image_urls or option key)", "back_view": "image URL (image_urls or option key)", "left_view": "image URL (image_urls or option key)"}
vim_360_safari 360 @ African Safari general v: 160 Create a 360 photobooth experience of a person at African Safari. {"front_view": "image URL (image_urls or option key)", "right_view": "image URL (image_urls or option key)", "back_view": "image URL (image_urls or option key)", "left_view": "image URL (image_urls or option key)"}
vim_amazonia Amazonia general i: 10, v: 100 Transform a person/people into an Amazonia jungle scene. {"aspect_ratio": "16:9", "pipeline_mode": "video", "image_url": "image URL (image_urls or option key)"}
vim_arctic Arctic general i: 10, v: 100 Transform a person/people into an Arctic snow scene. {"aspect_ratio": "16:9", "pipeline_mode": "video", "image_url": "image URL (image_urls or option key)"}
vim_astronaut Astronaut general i: 10, v: 100 Transform a person into a cinematic deep-space astronaut experience! {"aspect_ratio": "16:9", "pipeline_mode": "video", "image_url": "image URL (image_urls or option key)"}
vim_billboard_ads Billboard Ads marketing i: 16, v: 100 Create a dynamic billboard advertisement in a city street setting. {"aspect_ratio": "16:9", "pipeline_mode": "video", "image_url": "image URL (image_urls or option key)"}
vim_billboard_city Billboard City marketing i: 16, v: 100 Create a dynamic billboard advertisement in a city setting. {"aspect_ratio": "16:9", "pipeline_mode": "video", "image_url": "image URL (image_urls or option key)"}
vim_birthday Birthday general i: 10, v: 100 Transform your family photo into a birthday party scene! {"aspect_ratio": "16:9", "pipeline_mode": "video", "image_url": "image URL (image_urls or option key)"}
vim_bobblehead_figure Bobblehead Figure general i: 10, v: 100 Transform a person into a fun and quirky bobblehead figure with expressive features. {"aspect_ratio": "16:9", "pipeline_mode": "video", "image_url": "image URL (image_urls or option key)"}
vim_bride Bride general i: 10, v: 100 Transform a lady into a royal bridal portrait. {"aspect_ratio": "16:9", "pipeline_mode": "video", "image_url": "image URL (image_urls or option key)"}
vim_car_race Car Race sport i: 20, v: 100 Turn a person into a car racer competing in a race circuit. {"aspect_ratio": "16:9", "pipeline_mode": "video", "image_url": "image URL (image_urls or option key)"}
vim_caricaturehobbies_0226 Caricature Hobbies general i: 20, v: 100 Transform a person into a caricature scene with hobbies around. {"self_description": "I'm a UI/UX designer who loves coffee", "image_url": "image URL (image_urls or option key)", "aspect_ratio": "16:9", "pipeline_mode": "video"}
vim_ces_show CES Show general i: 10, v: 100 Transform a person/people into CES photobooth shot. {"aspect_ratio": "16:9", "pipeline_mode": "video", "image_url": "image URL (image_urls or option key)"}
vim_chinese_celebration Chinese Celebration general i: 10, v: 100 Transform a person into a festive Chinese Celebration scene! {"aspect_ratio": "16:9", "pipeline_mode": "video", "image_url": "image URL (image_urls or option key)"}
vim_company_cards Company Cards marketing i: 10, v: 100 Place a person in a 2D/3D framed photo themed by the company of choice. {"company": "accenture", "appearance": "3D", "aspect_ratio": "16:9", "pipeline_mode": "video", "image_url": "image URL (image_urls or option key)"}
vim_dancing_santa Dancing Santa general i: 10, v: 100 Transform a person into a Santa and make him/her dance with deers in this snowy festive scene! {"aspect_ratio": "16:9", "pipeline_mode": "video", "image_url": "image URL (image_urls or option key)"}
vim_dreamcareer_0226 Dream Career general i: 10 Transform a person into his/her dream career scene with custom clothing and desired city. {"image_description": "I want to be engineer", "aspect_ratio": "16:9", "image_url": "image URL (image_urls or option key)"}
vim_elegant_presentation Elegant Presentation marketing i: 16, v: 100 A romantic cinematic luxury showcase where any product is elevated through dramatic lighting and deep red rose elegance. {"aspect_ratio": "16:9", "pipeline_mode": "video", "image_url": "image URL (image_urls or option key)"}
vim_expression_grid Expression Grid general i: 10 Create a 4x4 grid of different expressions for a person. {"aspect_ratio": "16:9", "image_url": "image URL (image_urls or option key)"}
vim_fan_catch Fans Ball Catch sport v: 240 A fan on stadium seat catching a ball during a cinematic camera moment. {"image_url": "image URL (image_urls or option key)", "team": "Barcelona", "aspect_ratio": "16:9"}
vim_fast_reimagine Fast Reimagine general i: 10, v: 100 Reimagine a person into any desired experience using dynamic prompt and fast tools. {"image_url": "image URL (image_urls or option key)", "prompt": "Standing on a beach at sunset with palm trees.", "aspect_ratio": "16:9", "pipeline_mode": "video"}
vim_folklore_dancing Folklore Dancing Game general v: 200 Have the person performing folklore dancing in two different countries in a gamified experience! {"image_url": "image URL (image_urls or option key)", "first_country": "India", "second_country": "Mexico", "aspect_ratio": "16:9"}
vim_football_reaction Football Reaction sport v: 444 Have the person jump from the stadium seats to join the favorite football team and score a goal along with avatar vid... {"team_name": "Liverpool", "player_gender": "Man", "player_image_url": "image URL (image_urls or option key)", "avatar_image_url": "image URL (image_urls or option key)", "overlay_layout": "left-small", "aspect_ratio": "16:9"}
vim_football_stadium Football Stadium sport v: 320 Have the person jump from the stadium seats to join the favorite football team and score a goal. {"image_url": "image URL (image_urls or option key)", "team_name": "Barcelona", "aspect_ratio": "16:9", "pipeline_mode": "video"}
vim_game_reaction Game Reaction sport v: 240 Have a person reacting to a game clip for a social media post. {"game_video_url": "video URL", "avatar_image_url": "image URL (image_urls or option key)", "pipeline_mode": "video"}
vim_genz Gen Z general i: 10, v: 100 Transform a person or group into a high-energy anime-inspired scene with bold colors, and expressive animated styling. {"aspect_ratio": "16:9", "pipeline_mode": "video", "image_url": "image URL (image_urls or option key)"}
vim_giant_me Giant Me general i: 10, v: 100 Transform a person into a gigantic figure at city scale. {"image_url": "image URL (image_urls or option key)", "aspect_ratio": "16:9", "pipeline_mode": "video"}
vim_grid2images Grid to Images utility i: 2 Split a grid of images into separate ones. {"image_url": "image URL (image_urls or option key)", "grid_pattern": "2x2"}
vim_heygen_agent Heygen Agent marketing v: 100 Video agent by Heygen that handles avatar selection, scripting, scene composition - all in one to fullfill the given ... {"file_urls": "image URL (image_urls or option key)", "prompt": "Make a marketing video about the product", "duration": "10", "avatar": "auto", "voice": "auto", "aspect_ratio": "9:16"}
vim_images2grid Images to Grid utility i: 2 Tile a set of images into a single grid image. {"image_urls": "image URL (image_urls or option key)", "grid_pattern": "2x2"}
vim_infinite_loop Infinite Loop utility v: 100 Create a 1-min infinite loop animation so video starts and ends on the same frame and text keeps fixed in place. {"image_url": "image URL (image_urls or option key)", "video_tool": "KlingAI"}
vim_instagramframeescape_0226 Instagram Frame Escape general i: 10 Transform a person into an Instagram-style frame escape scene with custom clothing and tag name! {"aspect_ratio": "16:9", "user_name": "Jordan", "job_description": "businessman", "image_url": "image URL (image_urls or option key)"}
vim_karate_person Karate Person sport i: 10, v: 100 A person fighting with a ninja. {"image_url": "image URL (image_urls or option key)", "prompt": "Person is performing a karate motion during a fight with a ninja. The background is a Japanese temple.", "aspect_ratio": "16:9", "pipeline_mode": "video"}
vim_motor_race Motor Race sport i: 20, v: 100 Turn a person into a motor racer competing in a race circuit. {"aspect_ratio": "16:9", "pipeline_mode": "video", "image_url": "image URL (image_urls or option key)"}
vim_new_year_2026 New Year 2026 general i: 10, v: 100 Place a person/perople into a festive new year celebration! {"aspect_ratio": "16:9", "pipeline_mode": "video", "image_url": "image URL (image_urls or option key)"}
vim_platform_presentation Platform Presentation marketing v: 320 A reviewer presenting a platform to the audience given specific lines. {"product_video_url": "video URL", "avatar_image_url": "image URL (image_urls or option key)", "review_dialouge": "This product is amazing!", "overlay_layout": "left-small", "aspect_ratio": "16:9"}
vim_product_bubbles Product Bubbles marketing i: 10, v: 100 Create a set of animated bubbles around a product. {"aspect_ratio": "16:9", "pipeline_mode": "video", "image_url": "image URL (image_urls or option key)"}
vim_product_mobile_ads Product Mobile Ads marketing v: 320 Create an ad for a product on a giant smartphone in a city street setting. {"image_urls": "image URL (image_urls or option key)", "product_name": "Nike Shoes", "aspect_ratio": "9:16", "image_url": "image URL (image_urls or option key)"}
vim_product_poster Product Poster marketing i: 16, v: 100 Create a dynamic product poster. {"aspect_ratio": "16:9", "pipeline_mode": "video", "image_url": "image URL (image_urls or option key)"}
vim_product_shopping Product Shopping @ Mall marketing v: 320 Create a UGC video of an influencer shopping the product in mall settings. {"image_urls": "image URL (image_urls or option key)", "product_name": "Nike Shoes", "aspect_ratio": "16:9"}
vim_product_shot Product Shot marketing i: 16, v: 100 A promotional shot of a product elevated with a related background for more elegance. {"aspect_ratio": "16:9", "pipeline_mode": "video", "image_url": "image URL (image_urls or option key)"}
vim_product_showcase Product Showcase marketing i: 10, v: 100 Have a product standing out with a smart photo-shot settings with a eye-catching motion. {"aspect_ratio": "16:9", "pipeline_mode": "video", "image_url": "image URL (image_urls or option key)"}
vim_sketch_me Sketch Me general i: 10, v: 100 Sketch a person/people from a photo into pencil drawing. {"aspect_ratio": "16:9", "pipeline_mode": "video", "image_url": "image URL (image_urls or option key)"}
vim_sketch_to_fashion_show Sketch to Fashion Show marketing v: 100 Bring a fashion sketch to life as if popping up from the paper to walk in a fashion show with realistic rendering. {"aspect_ratio": "16:9", "image_url": "image URL (image_urls or option key)"}
vim_squishy_face Squishy Face general i: 10, v: 100 Transform a person into a fun and squishy face with motion. {"aspect_ratio": "16:9", "pipeline_mode": "video", "image_url": "image URL (image_urls or option key)"}
vim_sticker_me Sticker Me general i: 10 Turn a person or people into a sticker. {"aspect_ratio": "16:9", "image_url": "image URL (image_urls or option key)"}
vim_superheros Super Heros general i: 16, v: 100 Transform a person or group into a superhero-themed squad with dynamic energy and blockbuster realism. {"aspect_ratio": "16:9", "pipeline_mode": "video", "image_url": "image URL (image_urls or option key)"}
vim_time_freeze_action Time Freeze Action general v: 376 Create a time-freeze video effect in which person is doing certain action with a cinematic snap. {"image_url": "image URL (image_urls or option key)", "location": "Bustling walkway along the Nile River in Cairo city", "objects": "Flocks of pigeons flying in different directions", "action": "Person playfully taps and spins one of the frozen pigeons suspended in the air. Person then walks over to the frozen sad little girl and gently places a chocolate candy in her hands.", "aspect_ratio": "16:9"}
vim_time_freeze_celebration Time Freeze Celebration general v: 376 Create a time-freeze video effect during a celebration with cinematic snap. {"image_url": "image URL (image_urls or option key)", "event": "a massive city celebration at times square in New york city at night after a major team victory", "action": "The person slowly walks through the perfectly frozen crowd and notices a little girl standing completely frozen with her headband slightly misplaced. The person gently fixes the little girls headband while the child remains fully frozen in place.", "aspect_ratio": "16:9"}
vim_tiny_me Tiny Me general i: 10, v: 100 Transform a person into a miniture figure with expressive features. {"aspect_ratio": "16:9", "pipeline_mode": "video", "image_url": "image URL (image_urls or option key)"}
vim_tv2game_celebration TV to Game Celebration sport v: 240 A fan jumping through TV to join the players of the favorite team to celebrate the win. {"image_url": "image URL (image_urls or option key)", "team": "Barcelona", "aspect_ratio": "16:9"}
vim_ugc_review UGC Review of a Product marketing v: 320 Create a UGC video of an influencer reviewing a product in casual settings. {"avatar_url": "image URL (image_urls or option key)", "product_url": "image URL (image_urls or option key)", "review_dialouge": "This product is amazing!", "aspect_ratio": "16:9"}
vim_ugc_tryout UGC Product Tryout marketing v: 320 Create a UGC video of an influencer demoing a product in casual home settings. {"image_urls": "image URL (image_urls or option key)", "product_name": "Nike Shoes", "aspect_ratio": "16:9"}
vim_us_baseball US Baseball sport i: 20, v: 100 Turn a person into a US baseball player of their favorite team celebrating a win. {"team": "Yankees", "aspect_ratio": "16:9", "pipeline_mode": "video", "image_url": "image URL (image_urls or option key)"}
vim_us_basketball US Basketball sport i: 20, v: 100 Turn a person into a US basketball player of their favorite team celebrating a win. {"team": "Lakers", "aspect_ratio": "16:9", "pipeline_mode": "video", "image_url": "image URL (image_urls or option key)"}
vim_us_football US Football sport i: 20, v: 100 Turn a person into a US football player of their favorite team celebrating a win. {"image_url": "image URL (image_urls or option key)", "team": "Patriots", "aspect_ratio": "16:9", "pipeline_mode": "video"}
vim_us_hockey US Hockey sport i: 20, v: 100 Turn a person into a US hockey player of their favorite team celebrating a win. {"team": "Bruins", "aspect_ratio": "16:9", "pipeline_mode": "video", "image_url": "image URL (image_urls or option key)"}
vim_videos2grid Videos to Grid utility v: 10 Tile a set of video into a single grid video. {"video_urls": "video URL", "grid_pattern": "1x2"}
vim_wc26_hero WC 2026 Hero sport i: 20, v: 100 A hero photo of the person wearing the favorite football team t-shirt in different poses with a world cup trophy at c... {"image_url": "image URL (image_urls or option key)", "team": "algeria", "aspect_ratio": "16:9", "pipeline_mode": "video"}
vim_wc26_locker_room WC26 Locker Room sport v: 240 Celebrate a win with the favorite player and team in the locker room! {"image_url": "image URL (image_urls or option key)", "player_url": "https://cdn-us.eachlabs.ai/uploads/2394f7af-a1d7-4300-b1a9-54eebdd8a0a4.png", "team": "algeria", "aspect_ratio": "16:9"}
vim_wc26_poster WC 2026 Poster sport i: 20, v: 100 A poster photo/video of the person wearing the favorite football team t-shirt in a world cup theme. {"image_url": "image URL (image_urls or option key)", "team": "algeria", "aspect_ratio": "16:9", "pipeline_mode": "video"}
vim_wc26_profile WC 2026 Profile sport i: 20, v: 100 A profiel photo/video of the person wearing the favorite football team t-shirt with a world cup 2026 theme. {"image_url": "image URL (image_urls or option key)", "team": "algeria", "user_name": "Jordan", "aspect_ratio": "16:9", "pipeline_mode": "video"}
vim_wc26_shot WC 2026 Shot sport i: 20, v: 100 Capture a ball kick of the person wearing his favorite national football team t-shirt. {"team": "algeria", "aspect_ratio": "16:9", "pipeline_mode": "video", "image_url": "image URL (image_urls or option key)"}
vim_wc26_team WC 2026 Team sport i: 20, v: 100 Have the person wearing his favorite national football team t-shirt and holding a world cup 2026 trophy. {"image_url": "image URL (image_urls or option key)", "team": "algeria", "aspect_ratio": "16:9", "pipeline_mode": "video"}
vim_wc26_trading_card WC 2026 Trading Card sport i: 20, v: 100 Print person onto a world cup 2026 trading card. {"user_name": "Jordan", "aspect_ratio": "16:9", "pipeline_mode": "video", "image_url": "image URL (image_urls or option key)"}
vim_wc26_tshirt WC 2026 TShirt sport i: 20, v: 100 Put a world cup 2026 t-shirt on the person. {"tshirt": "tshirt1", "aspect_ratio": "16:9", "pipeline_mode": "video", "image_url": "image URL (image_urls or option key)"}
vim_wearable_product Wearable Product marketing i: 32, v: 320 Create a UGC video of a group of influencers wearing the products in different locations. {"image_urls": "image URL (image_urlsor option key)", "gender": "Male and Female", "locations": "- gym fitness scene - streetwear urban setting - luxury indoor studio - beach/tropical vibe", "product_name": "value inoptions", "aspect_ratio": "16:9"}
vim_wedding_church Wedding Church general i: 10, v: 100 Transform a couple into a beautiful wedding church scene. {"aspect_ratio": "16:9", "pipeline_mode": "video", "image_url": "image URL (image_urls or option key)"}
vim_wedding_garden Wedding Garden general i: 10, v: 100 Transform couple into a romantic wedding garden scene. {"image_url": "image URL (image_urls or option key)", "aspect_ratio": "16:9", "pipeline_mode": "video"}
vim_wedding_palace Wedding Palace general i: 10, v: 100 Transform a couple into a luxurious wedding palace scene. {"aspect_ratio": "16:9", "pipeline_mode": "video", "image_url": "image URL (image_urls or option key)"}
vim_worn_by_invisible Worn by Invisible marketing i: 16, v: 100 Show a clothingproduct worn by an invisible person. {"aspect_ratio": "16:9", "pipeline_mode": "video", "image_url": "image URL (image_urls or option key)"}

Available Values for Options

Option Description Available Values
action Set the action to do during the time freeze Person playfully taps and spins one of the frozen pigeons suspended in the air. Person then walks over to the frozen sad little girl and gently places a chocolate candy in her hands.
appearance Set your appearance 3D
aspect_ratio 16:9, 3:2, 4:3, 1:1, 3:4, 2:3, 9:16
avatar Select your avatar! auto
avatar_image_url Set your avatar photo image URL (image_urls or option key)
avatar_url Upload influencer / reviewer photo in the background you want image URL (image_urls or option key)
back_view Set back view - optional image URL (image_urls or option key)
company Select your desired company accenture, adobe, alibaba, amazon, amd, apple, asml, at&t, broadcom, bytedance, cisco, dell, google, hp, huawei, ibm, intel, lenovo, lg, meta, microsoft, netflix, nvidia, oracle, panasonic, qualcomm, sap, samsung, sony, tencent, tesla, uber
duration Set video duration in seconds! 10
event Set the event to do time freeze in a massive city celebration at times square in New york city at night after a major team victory
file_urls Upload files image URL (image_urls or option key)
first_country Name the first country you want to perform its folklore dance India
front_view Set front view image URL (image_urls or option key)
game_video_url Set your game video (up to 15 sec) video URL
gender Set the gender of influencers appearing in the video Male and Female
genre_style Set the genre style! Upbeat pop with bright synths, catchy hooks, light drums, summer vibes, 105 BPM
grid_pattern Set grid pattern; WxH 2x2
image_description I want to be engineer, wearing yellow helmet and blue jeans, and living in New York city in 3D pixar style.
image_url Set your photo image URL (image_urls or option key)
image_urls Upload product images image URL (image_urls or option key)
job_description what is your job description? businessman
left_view Set left view - optional image URL (image_urls or option key)
location Set the location to do time freeze at Bustling walkway along the Nile River in Cairo city, with the iconic Cairo Tower standing tall in the horizon
locations list up to 4 locations! - gym fitness scene - streetwear urban setting - luxury indoor studio - beach/tropical vibe
objects Describe the objects in the scene Flocks of pigeons flying in different directions, crowd of people walking around, a little girl wearing red dress
overlay_layout Select the overlay layout left-small, center-small, right-small, left-medium, center-medium, right-medium, left-large, center-large, right-large
pipeline_mode video, image
player_gender Select the player's gender Man
player_image_url Set your player photo image URL (image_urls or option key)
player_url upload your favorite player photo https://cdn-us.eachlabs.ai/uploads/2394f7af-a1d7-4300-b1a9-54eebdd8a0a4.png
product_image Set the product image url! https://distribution.vimmerse.net/presets/image/skincare_product.jpg
product_name Product name? e.g. Nike Shoes, Gucci Bag, Lenovo Laptop Nike Shoes
product_url Upload product image image URL (image_urls or option key)
product_video_url Upload the product / platform demo video video URL
prompt Describe the fight scene Person is performing a karate motion during a fight with a ninja. The background is a Japanese temple.
review_dialouge What is the line you want the reviewer to say? Keep it limited to 15-sec! This product is amazing!, I have been using it for quite some time and it is game changing!
right_view Set right view - optional image URL (image_urls or option key)
second_country Name the second country you want to perform its folklore dance Mexico
self_description Describe yourself and your favorite hobbies I'm a UI/UX designer who loves coffee, cats, and building AI tools.
song_theme Describe the song theme! Dancing, summer memories, colorful skies and carefree moments.
target_audience Describe the target audience! Women aged 25-40 interested in anti-aging skincare
team Set your favorite football team Barcelona
team_name Type your favorite football team Liverpool
tshirt Select your favorite World Cup 2026 Tshirt tshirt1, tshirt2, tshirt3, tshirt4, tshirt5, tshirt6
user_name What is your first name? Jordan
video_tool KlingAI
video_urls Upload videos (ideally of equal sizes, frame rates, durations) video URL
voice Select the voice! auto

Processing capabilities

Depending on the template, processing may include steps such as:

  • create_video
  • overlay_logo
  • create_image
  • publish_frames_with_logo
  • create_elements
  • replace_background
  • overlay_video
  • publish_video_with_logo
  • image_2_image
  • create_audio
  • video_audio_merge
  • video_agent
  • tile_grid_images
  • chat
  • gamify_experience
  • split_grid_images
  • tile_grid_videos
  • crop_to_content
  • video_effects
  • each_workflow

Use GET /v2/workflow/templates?detail=true to see the exact steps and options for a specific template.

Webhook Integration

Some templates support a webhook URL to receive notifications when processing completes. When supported, include webhook_url in the request body. Check template-specific behavior for availability.

Create Workflow

Creates a new workflow and starts asynchronous processing.

This endpoint accepts an application/json body. Template-specific configuration is passed via the options object.

JSON Request Example (Python)

import requests

BASE_URL = "https://api.vimmerse.net"
API_KEY = "YOUR_API_KEY"

url = f"{BASE_URL}/v2/workflow"
headers = {
    "X-Api-Key": API_KEY,
    "Content-Type": "application/json",
}

payload = {
    "title": "Worldcup Activation",
    "description": "Celebrating team win of the worldcup.",
    "visibility_status": "1",
    "image_urls": ["https://distribution.vimmerse.net/presets/image/blonde.jpg"],
    "template_id": "vim_wc26_team",
    "options": {
        "team": "Brazil",
        "aspect_ratio": "3:4",
        "pipeline_mode": "video"
    },
    "event_id": "campaign_2026_q3"
}

response = requests.post(url, headers=headers, json=payload, timeout=60)
response.raise_for_status()
print(response.json())

Full Example: Create Workflow and Poll Until Complete

Copy and run this script, then replace only YOUR_API_KEY.

import requests
import time

BASE_URL = "https://api.vimmerse.net"
API_KEY = "YOUR_API_KEY"
HEADERS = {
    "X-Api-Key": API_KEY,
    "Content-Type": "application/json",
}

# 1) Create workflow
create_url = f"{BASE_URL}/v2/workflow"
create_payload = {
    "title": "Worldcup Activation",
    "description": "Celebrating team win of the worldcup.",
    "visibility_status": "1",
    "image_urls": ["https://distribution.vimmerse.net/presets/image/blonde.jpg"],
    "template_id": "vim_wc26_team",
    "options": {
        "team": "Brazil",
        "aspect_ratio": "3:4",
        "pipeline_mode": "video"
    },
    "event_id": "campaign_2026_q3"
}

create_res = requests.post(create_url, headers=HEADERS, json=create_payload, timeout=60)
create_res.raise_for_status()
workflow_data = create_res.json()["data"]
workflow_id = workflow_data["id"]
print(f"Workflow created: {workflow_id}")
print(f"Initial status: {workflow_data.get('processing_status')}")

# 2) Poll workflow status
status_url = f"{BASE_URL}/v2/workflow/{workflow_id}"
max_attempts = 120
for attempt in range(max_attempts):
    status_res = requests.get(status_url, headers=HEADERS, timeout=30)
    status_res.raise_for_status()
    data = status_res.json()["data"]

    status = data.get("processing_status", "")
    progress = data.get("progress_percentage", 0)
    print(f"Attempt {attempt + 1}: status={status}, progress={progress}%")

    if status == "success":
        print("Workflow completed successfully.")
        break
    if status == "fail":
        raise RuntimeError("Workflow processing failed.")

    time.sleep(10)
else:
    raise TimeoutError("Workflow processing is taking longer than expected.")

# 3) Print final outputs
result_items = data.get("result", [])
completion_items = data.get("completions", [])

print(f"Final results: {len(result_items)} item(s)")
for item in result_items:
    print(f"- {item.get('content_type')}: {item.get('url')}")

print(f"Step completions: {len(completion_items)} step(s)")
for step in completion_items:
    step_id = step.get("id") or step.get("flow")
    step_results = step.get("result", [])
    print(f"- {step_id}: {len(step_results)} output(s)")
SecurityAPIKeyHeader
Request
header Parameters
Authorization (string) or Authorization (null) (Authorization)
Username (string) or Username (null) (Username)
X-Client-Type (string) or X-Client-Type (null) (X-Client-Type)
Request Body schema: application/json
required
title
string (Title)
Default: ""
description
string (Description)
Default: ""
visibility_status
string (Visibility Status)
Default: "1"

Workflow visibility status.

image_urls
Array of strings (Image URLs)

Input image URLs for workflow generation.

template_id
string (Template ID)
Default: "vim_wc26_team"

Template ID of the workflow.

object (Options)

Workflow options object.

event_id
string (Event ID)
Default: "no_event"

Event ID of the workflow.

Responses
200

New Media

402

Insufficient Credit

404

Not Found

422

Validation Error

post/v2/workflow
Request samples
Response samples
application/json
{}

Estimate Credits

Returns the template list-price credits for POST /v2/workflow given template_id and options. No authentication required. When a template defines both image and video list prices, options.pipeline_mode (image or video) selects which applies. Actual runtime charges may include per-step metering and cloud fees beyond this estimate.

Request
Request Body schema: application/json
required
template_id
string (Template ID)
Default: "vim_wc26_team"

Workflow template ID (same as POST /v2/workflow).

object (Options)

Template options; pipeline_mode (image vs video) selects list price when a template defines both.

Responses
200

Credit estimate and breakdown

422

Validation Error

post/v2/workflow/estimate-credits
Request samples
Response samples
application/json
{
  • "total_credits": 0,
  • "breakdown": { }
}

List Workflow Templates

Returns the workflow template catalog for building UIs, customer scripts, and API playgrounds.

Requires X-Api-Key. Templates are scoped to the customer tied to your API key (plus product defaults). Inactive templates are omitted.

Response shape

  • detail=false (default) — summary rows: template_id, inputs, label, credits, thumbnails, description, category, etc.
  • detail=true — full template definition (available_options, steps, outputs, and related metadata).

Filters

  • category — optional; e.g. sport, marketing, general, utility, healthcare. Omit to return all categories you can access.
  • template_ids — optional; return only specific template IDs (must be in your catalog).

Examples

GET /v2/workflow/templates
GET /v2/workflow/templates?category=sport
GET /v2/workflow/templates?detail=true
GET /v2/workflow/templates?template_ids=vim_wc26_team&detail=true

Re-fetch after deploy when templates or options change.

SecurityAPIKeyHeader
Request
query Parameters
Array of Template Ids (strings) or Template Ids (null) (Template Ids)

Return only these template IDs (repeat: ?template_ids=a&template_ids=b).

Category (string) or Category (null) (Category)

Filter by template category (e.g. sport, marketing, general). Omit to return all categories available to your account.

detail
boolean (Detail)
Default: false

When true, include full template definitions (available_options, steps, etc.). When false (default), return summary rows only.

header Parameters
Authorization (string) or Authorization (null) (Authorization)
Username (string) or Username (null) (Username)
X-Client-Type (string) or X-Client-Type (null) (X-Client-Type)
Responses
200

Successful Response

422

Validation Error

get/v2/workflow/templates
Request samples
Response samples
application/json
{
  • "detail": false,
  • "workflow_templates": [
    ],
  • "count": 0
}

Save Workflow Template

Create or update a custom workflow template (JSON body). Requires authentication.

SecurityAPIKeyHeader
Request
header Parameters
Authorization (string) or Authorization (null) (Authorization)
Username (string) or Username (null) (Username)
X-Client-Type (string) or X-Client-Type (null) (X-Client-Type)
Request Body schema: application/json
required
id
required
string (Template ID)

Unique template identifier.

label
string (Label)
Default: ""
category
string (Category)
Default: "general"
description
string (Description)
Default: ""
object (Available Options)
Array of objects (Steps)
object (Outputs)
Required Credits (integer) or Required Credits (null) (Required Credits)
thumbnail_image
string (Thumbnail Image)
Default: ""
thumbnail_video
string (Thumbnail Video)
Default: ""
customers
Array of strings (Customers)
events
Array of strings (Events)
property name*
additional property
any
Responses
200

Successful Response

422

Validation Error

post/v2/workflow/templates
Request samples
Response samples
application/json
{
  • "id": "",
  • "version": 1,
  • "active": 1,
  • "user_designed": 0
}

Workflow template editor metadata

Step types, option component types, and substitution rules for the template editor UI.

SecurityAPIKeyHeader
Request
header Parameters
Authorization (string) or Authorization (null) (Authorization)
Username (string) or Username (null) (Username)
X-Client-Type (string) or X-Client-Type (null) (X-Client-Type)
Responses
200

Successful Response

422

Validation Error

get/v2/workflow/templates/editor/meta
Request samples
Response samples
application/json
{ }

Validate workflow template JSON

Validate a template definition without saving (step types, ids, dependency graph).

SecurityAPIKeyHeader
Request
header Parameters
Authorization (string) or Authorization (null) (Authorization)
Username (string) or Username (null) (Username)
X-Client-Type (string) or X-Client-Type (null) (X-Client-Type)
Request Body schema: application/json
required
id
required
string (Template ID)

Unique template identifier.

label
string (Label)
Default: ""
category
string (Category)
Default: "general"
description
string (Description)
Default: ""
object (Available Options)
Array of objects (Steps)
object (Outputs)
Required Credits (integer) or Required Credits (null) (Required Credits)
thumbnail_image
string (Thumbnail Image)
Default: ""
thumbnail_video
string (Thumbnail Video)
Default: ""
customers
Array of strings (Customers)
events
Array of strings (Events)
property name*
additional property
any
Responses
200

Successful Response

422

Validation Error

post/v2/workflow/templates/validate
Request samples
Response samples
application/json
{ }

Preview workflow template (dry-run)

Dry-run a template JSON: validation, active execution layers (respecting when / preview options), skipped steps, active outputs, and per-step credit estimate.

SecurityAPIKeyHeader
Request
header Parameters
Authorization (string) or Authorization (null) (Authorization)
Username (string) or Username (null) (Username)
X-Client-Type (string) or X-Client-Type (null) (X-Client-Type)
Request Body schema: application/json
required
id
required
string (Template ID)

Unique template identifier.

label
string (Label)
Default: ""
category
string (Category)
Default: "general"
description
string (Description)
Default: ""
object (Available Options)
Array of objects (Steps)
object (Outputs)
Required Credits (integer) or Required Credits (null) (Required Credits)
thumbnail_image
string (Thumbnail Image)
Default: ""
thumbnail_video
string (Thumbnail Video)
Default: ""
customers
Array of strings (Customers)
events
Array of strings (Events)
property name*
additional property
any
Responses
200

Successful Response

422

Validation Error

post/v2/workflow/templates/preview
Request samples
Response samples
application/json
{ }

Get Workflow Template

Read a workflow template by ID (system or custom). Requires authentication.

SecurityAPIKeyHeader
Request
path Parameters
template_id
required
string (Template Id)

Workflow template ID

header Parameters
Authorization (string) or Authorization (null) (Authorization)
Username (string) or Username (null) (Username)
X-Client-Type (string) or X-Client-Type (null) (X-Client-Type)
Responses
200

Successful Response

422

Validation Error

get/v2/workflow/templates/{template_id}
Request samples
Response samples
application/json
{
  • "id": "",
  • "version": 1,
  • "active": 1,
  • "user_designed": 0
}

Delete Workflow Template

Soft-delete a custom workflow template. Requires authentication.

SecurityAPIKeyHeader
Request
path Parameters
template_id
required
string (Template Id)

Workflow template ID

header Parameters
Authorization (string) or Authorization (null) (Authorization)
Username (string) or Username (null) (Username)
X-Client-Type (string) or X-Client-Type (null) (X-Client-Type)
Responses
200

Successful Response

422

Validation Error

delete/v2/workflow/templates/{template_id}
Request samples
Response samples
application/json
{
  • "id": "",
  • "version": 1,
  • "active": 1,
  • "user_designed": 0
}

Get Workflow Status

Retrieves workflow details including processing status, progress, and generated outputs.

Use this endpoint in polling loops after creation until processing_status is success or fail.

SecurityAPIKeyHeader
Request
path Parameters
workflow_id
required
string (Workflow ID)

Unique identifier of the workflow

header Parameters
Authorization (string) or Authorization (null) (Authorization)
Username (string) or Username (null) (Username)
X-Client-Type (string) or X-Client-Type (null) (X-Client-Type)
Responses
200

Workflow Object

404

Not Found

422

Validation Error

get/v2/workflow/{workflow_id}
Request samples
Response samples
application/json
{}