The Workflow API helps you automate multi-step media production pipelines. You submit a template, inputs, and options, then track progress until completion.
result and step outputs from completions.image_urls in the request body.template_id to a workflow template from the catalog.options object (see tables below). Common keys include image_url, aspect_ratio, and pipeline_mode (image or video).processing_status is success or fail, then read result and per-step outputs in completions.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.
| 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)"} |
| 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 |
Depending on the template, processing may include steps such as:
create_videooverlay_logocreate_imagepublish_frames_with_logocreate_elementsreplace_backgroundoverlay_videopublish_video_with_logoimage_2_imagecreate_audiovideo_audio_mergevideo_agenttile_grid_imageschatgamify_experiencesplit_grid_imagestile_grid_videoscrop_to_contentvideo_effectseach_workflowUse GET /v2/workflow/templates?detail=true to see the exact steps and options for a specific template.
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.
Creates a new workflow and starts asynchronous processing.
This endpoint accepts an application/json body. Template-specific configuration is passed via the options object.
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())
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)")
Authorization (string) or Authorization (null) (Authorization) | |
Username (string) or Username (null) (Username) | |
X-Client-Type (string) or X-Client-Type (null) (X-Client-Type) |
New Media
Insufficient Credit
Not Found
Validation Error
{- "id": "43c8e3a4-c074-43ef-a956-b682bdcd8305",
- "title": "Worldcup Activation",
- "description": "Celebrating team win of the worldcup.",
- "visibility_status": "1",
- "model": "vim_wc26_team",
- "options": {
- "team": "Brazil",
- "aspect_ratio": "3:4",
- "pipeline_mode": "video"
}, - "primary_user_id": "basel",
- "customer_id": "vimmerse-product",
- "processing_status": "success",
- "progress_percentage": 100,
- "used_credits": 120,
- "total_duration": 2619,
- "event_id": "no_event",
- "completions": [
- {
- "id": "generate_team_image",
- "flow": "image_2_image",
- "used_credits": 4,
- "duration": 45,
- "result": [
- {
- "content_type": "image/png",
}
]
}, - {
- "id": "animate_team_video",
- "flow": "create_video",
- "used_credits": 80,
- "duration": 2499,
- "result": [
- {
- "content_type": "video/mp4",
}
]
}
], - "result": [
- {
- "content_type": "video/mp4",
}
], - "created_at": "2026-05-16 16:34:59.780864+00:00",
- "updated_at": "2026-05-16 16:36:47.510893+00:00"
}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.
Credit estimate and breakdown
Validation Error
{- "total_credits": 0,
- "breakdown": { }
}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.
Authorization (string) or Authorization (null) (Authorization) | |
Username (string) or Username (null) (Username) | |
X-Client-Type (string) or X-Client-Type (null) (X-Client-Type) |
Successful Response
Validation Error
{- "detail": false,
- "workflow_templates": [
- { }
], - "count": 0
}Create or update a custom workflow template (JSON body). Requires authentication.
Authorization (string) or Authorization (null) (Authorization) | |
Username (string) or Username (null) (Username) | |
X-Client-Type (string) or X-Client-Type (null) (X-Client-Type) |
Successful Response
Validation Error
{- "id": "",
- "version": 1,
- "active": 1,
- "user_designed": 0
}Step types, option component types, and substitution rules for the template editor UI.
Authorization (string) or Authorization (null) (Authorization) | |
Username (string) or Username (null) (Username) | |
X-Client-Type (string) or X-Client-Type (null) (X-Client-Type) |
Successful Response
Validation Error
{ }Validate a template definition without saving (step types, ids, dependency graph).
Authorization (string) or Authorization (null) (Authorization) | |
Username (string) or Username (null) (Username) | |
X-Client-Type (string) or X-Client-Type (null) (X-Client-Type) |
Successful Response
Validation Error
{ }Dry-run a template JSON: validation, active execution layers (respecting when / preview options), skipped steps, active outputs, and per-step credit estimate.
Authorization (string) or Authorization (null) (Authorization) | |
Username (string) or Username (null) (Username) | |
X-Client-Type (string) or X-Client-Type (null) (X-Client-Type) |
Successful Response
Validation Error
{ }Read a workflow template by ID (system or custom). Requires authentication.
Successful Response
Validation Error
{- "id": "",
- "version": 1,
- "active": 1,
- "user_designed": 0
}Soft-delete a custom workflow template. Requires authentication.
Successful Response
Validation Error
{- "id": "",
- "version": 1,
- "active": 1,
- "user_designed": 0
}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.
Workflow Object
Not Found
Validation Error
{- "id": "43c8e3a4-c074-43ef-a956-b682bdcd8305",
- "title": "Worldcup Activation",
- "description": "Celebrating team win of the worldcup.",
- "visibility_status": "1",
- "model": "vim_wc26_team",
- "options": {
- "team": "Brazil",
- "aspect_ratio": "3:4",
- "pipeline_mode": "video"
}, - "primary_user_id": "basel",
- "customer_id": "vimmerse-product",
- "processing_status": "success",
- "progress_percentage": 100,
- "used_credits": 120,
- "total_duration": 2619,
- "event_id": "no_event",
- "completions": [
- {
- "id": "generate_team_image",
- "flow": "image_2_image",
- "used_credits": 4,
- "duration": 45,
- "result": [
- {
- "content_type": "image/png",
}
]
}, - {
- "id": "animate_team_video",
- "flow": "create_video",
- "used_credits": 80,
- "duration": 2499,
- "result": [
- {
- "content_type": "video/mp4",
}
]
}
], - "result": [
- {
- "content_type": "video/mp4",
}
], - "created_at": "2026-05-16 16:34:59.780864+00:00",
- "updated_at": "2026-05-16 16:36:47.510893+00:00"
}