Create Storyboard Preview
Videos
Create Storyboard Preview
Generate a video storyboard preview to review scenes, visuals, and settings before final rendering
POST
Create Storyboard Preview
Documentation Index
Fetch the complete documentation index at: https://docs.pictory.ai/llms.txt
Use this file to discover all available pages before exploring further.
Overview
The Storyboard Preview API generates a preview of your video project, allowing you to review the storyboard structure, scene breakdown, visual selections, and configuration before committing to the final render. This is an essential step in the video creation workflow that helps you validate your content and make adjustments without incurring full rendering costs.The storyboard preview creates a project with scene thumbnails and metadata. To generate the final rendered video, use the Render from Preview API after reviewing and approving the preview.
Render Workflow Options
| Workflow | API | When to Use |
|---|---|---|
| Create Preview | This API | Generate preview to review scenes before rendering |
| Render from Preview | Render from Preview | Render preview as-is without modifications |
| Render with Modifications | Render Video | Modify preview elements before rendering |
| Render Saved Project | Render Project | Render existing project created in App or via API |
| Direct Render | Render Storyboard Video | Skip preview, render directly from input |
Preview vs. Final Render
| Aspect | Storyboard Preview | Final Render |
|---|---|---|
| Purpose | Review and validate content | Produce final video file |
| Output | Scene thumbnails, metadata, project structure | Full HD video file |
| Speed | Fast | Slower |
| Cost | Lower resource usage | Full rendering resources |
| Editable | Yes, make changes before render | Video is final |
| Use Case | Content approval, iteration | Final delivery |
Use Cases
Content Review
Preview how your text will be split into scenes before rendering
Visual Validation
Review AI-selected visuals and backgrounds for each scene
Scene Adjustment
Identify scenes that need text or visual changes
Approval Workflow
Share previews with stakeholders before final render
Cost Optimization
Validate content before using rendering resources
Iterative Creation
Quickly iterate on content and settings
Template Testing
Test templates and brand settings before production
Batch Preparation
Prepare multiple video projects for batch rendering
API Endpoint
Request Headers
API key for authentication
Must be
application/jsonRequest Body Parameters
Name for your video project (alphanumeric, spaces, underscores, and hyphens only, max 150 characters)
Width of the generated video in pixels. Must be provided together with
videoHeight.Height of the generated video in pixels. Must be provided together with
videoWidth.Video aspect ratio. Options:
1:1, 16:9, 9:16, 4:5Language of the text content.Allowed values:
zh, nl, en, fr, de, hi, it, ja, ko, mr, pt, ru, es, tazh Chinese, nl Dutch, en English, fr French, de German, hi Hindi, it Italian, ja Japanese, ko Korean, mr Marathi, pt Portuguese, ru Russian, es Spanish, ta TamilWhether to save the project in your Pictory account for later editing. Default:
falseURL where the completed storyboard preview output will be sent via POST request when finished (max 500 characters)
Custom data object that will be included in the webhook POST payload when the job completes. Use this to pass through any metadata (e.g., internal IDs, tracking info) that you need in your webhook handler.
ID of a template to use. Get from Get Templates API.
Key-value object for template variables. Only applicable when
templateId is provided.ID of the brand to apply. Get from Get Video Brands API. Cannot be used with
brandName.Name of the brand to apply. Cannot be used with
brandId.Name of the smart layout to apply. Get available layouts from Get Smart Layouts API. Cannot be used with
smartLayoutId.ID of the smart layout to apply. Get from Get Smart Layouts API. Cannot be used with
smartLayoutName.Specifies which storyboard version to use. Set to
v3 to create a latest Pictory storyboard. Omit this field to use the classic storyboard.Options:v3— Uses the latest Pictory storyboard- Omit or any other value — Uses the classic/legacy storyboard
ID of a saved text style for subtitles. Get from Get Text Styles API. Cannot be used with
subtitleStyleName.Name of a saved text style for subtitles. Cannot be used with
subtitleStyleId.Inline subtitle style configuration. See subtitleStyle Object.
AWS connection ID for accessing private S3 assets. Get from Get AWS Connections API.
Vimeo connection ID for uploading videos directly to Vimeo. Get from Get Vimeo Connections API.
Array of destination configurations for uploading the generated video (max 5). See destinations Array.
Voice-over configuration for AI narration. See voiceOver Object.
Background music configuration for the video. See backgroundMusic Object.
Logo overlay configuration. See logo Object.
Array of scene objects containing the content to convert into video. Required unless using
templateId. See scenes Array.AI avatar configuration for presenter-style videos. See avatar Object.
voiceOver Object
Voice-over configuration for AI narration.The following fields are nested inside the top-level
voiceOver object. For example, voiceOver.enabled means enabled is a property of the voiceOver object.Enable or disable voice-over.
Array of AI voice configurations (max 10). See aiVoices Array.
External voice file configuration. See externalVoice Object. Cannot be used with
aiVoices.aiVoices Array
The following fields are nested inside each element of the
voiceOver.aiVoices array. For example, voiceOver.aiVoices[].speaker means speaker is a property of each item in the aiVoices array, which itself is nested inside the voiceOver object. The [] notation indicates an array element.Voice speaker name (e.g., “Brian”, “Emma”). Get available voices from Get Voiceover Tracks API.
Speech speed from 50 to 200. Default:
100Volume level from -1 to 1. Default:
0ElevenLabs premium voice settings. See premiumVoiceSettings Object.
premiumVoiceSettings Object
The following fields are nested inside
premiumVoiceSettings, which is a property of each voiceOver.aiVoices[] element. For example, voiceOver.aiVoices[].premiumVoiceSettings.modelId means modelId is inside premiumVoiceSettings, inside each voice in the aiVoices array, inside the voiceOver object.ElevenLabs model. Options:
eleven_v3, eleven_multilingual_v2, eleven_flash_v2_5, eleven_turbo_v2_5, eleven_turbo_v2, eleven_flash_v2, eleven_multilingual_v1, eleven_monolingual_v1Voice stability as percentage (e.g., “50%”)
Enable speaker boost enhancement.
Similarity boost as percentage (e.g., “75%”)
Voice style as percentage (e.g., “50%“)
externalVoice Object
The following fields are nested inside the
voiceOver.externalVoice object. For example, voiceOver.externalVoice.voiceUrl means voiceUrl is a property of externalVoice, which itself is nested inside the voiceOver object.URL to external voice audio file.
Auto-synchronize voice with video subtitles.
Audio amplification level from -1 to 1. Default:
0avatar Object
AI avatar configuration for creating presenter-style videos with lifelike avatars that lip-sync to AI narration.Avatars require voice-over to be enabled. Use the Get Avatars API to retrieve available
avatarId values.Unique identifier for the avatar look (e.g., “Annie_expressive12_public”). Get from Get Avatars API.
Preset position for the avatar. Options:
top-left, top-center, top-right, center-left, center-center, center-right, bottom-left, bottom-center, bottom-rightDefault: bottom-rightAvatar width as percentage (e.g., “20%”, “25%”, “30%”). Must be an integer percentage from 0% to 100%.Default:
"20%"Corner rounding. Options:
0 (square), 50 (rounded), 100 (circular)Border color in RGBA format (e.g., “rgba(255,255,255,1)”, “rgba(0,0,0,1)”, “rgba(132,44,254,1)”)
Border width in pixels. Minimum: 0
Background color in RGBA format (e.g., “rgba(255,255,255,1)”, “rgba(0,0,0,0.5)”)
Hide the avatar globally across all scenes. When
true, the entire avatar pipeline is skipped. Can be overridden per scene.Default: falseAvatar settings can be overridden at the scene level. See scenes[].avatar Object for scene-specific customization.
backgroundMusic Object
Background music configuration for the video.The following fields are nested inside the top-level
backgroundMusic object. For example, backgroundMusic.enabled means enabled is a property of the backgroundMusic object.Enable or disable background music.
Auto-select background music. Cannot be used with
musicUrl.URL to custom background music file. Cannot be used with
autoMusic.Volume level from 0 to 1. Default:
0.5Time clips to use from the music (max 10). Each clip has
start and end numbers in seconds.logo Object
Logo overlay configuration.The following fields are nested inside the top-level
logo object. For example, logo.url means url is a property of the logo object.URL to logo image file.
Logo position. Options:
top-left, top-right, top-center, center-left, center-center, center-right, bottom-left, bottom-center, bottom-rightLogo width as percentage (e.g., “15%“)
subtitleStyle Object
Inline subtitle style configuration. Can be used at video level or scene level.The following fields are nested inside the
subtitleStyle object. For example, subtitleStyle.fontFamily means fontFamily is a property of the subtitleStyle object. This object can be used at the top level or inside scenes[] as scenes[].subtitleStyle.URL to custom font file. When provided,
fontFamily is required.Font family name. Required when
fontUrl is provided. See Supported Font Families.Font size in pixels. Minimum: 1
Text color in RGBA format (e.g., “rgba(255,255,255,1)”)
Background color in RGBA format (e.g., “rgba(0,0,0,0.5)”).
Shadow color.
Shadow width as percentage (e.g., “10%”)
Color for highlighted keywords in RGBA format (e.g., “rgba(255,255,0,1)”).
Text position. Options:
top-left, top-center, top-right, center-left, center-center, center-right, bottom-left, bottom-center, bottom-rightText alignment. Options:
left, center, rightText decorations. Options:
bold, underline, italics, linethroughText case. Options:
uppercase, lowercase, capitalize, smallcapitalizeParagraph width as percentage (e.g., “80%”)
Text animations (max 2: one entry, one exit). See animations Array.See Text Animations Guide for all animation types and examples.
animations Array
The following fields are nested inside each element of the
subtitleStyle.animations array. For example, subtitleStyle.animations[].name means name is a property of each item in the animations array, which itself is nested inside the subtitleStyle object. The [] notation indicates an array element.Animation name. Options:
none, fade, drift, wipe, text reveal, elastic, typewriter, blur, bulletinAnimation type. Options:
entry, exitAnimation speed. Options:
slow, medium, fast, customCustom speed value (min 0.5). Required when speed is
custom.Animation direction. Options:
up, down, left, rightWriting style for text animations. Options:
character, word, line, paragraphControls how upcoming words appear on screen. Only available with
fade and blur entry animations. When AI voiceover is enabled, words sync with the spoken audio.Options:"hidden"— Upcoming words are invisible, words appear only when spoken"subtle"— Upcoming words are faintly visible, current word is highlighted"prominent"— All text is clearly visible, spoken word is highlighted brighter
Supported Font Families
Anton, Archivo Narrow, Arial, Averia Libre, Barlow, Barlow Black, Bebas Neue, Calibri, Caprasimo, Capriola, Carter One, Caveat, Chakra Petch, Chewy, Comfortaa, Courier Prime, Dancing Script, Dangrek, Delius Unicase, DM Sans, Grandstander, Gruppo, Heartbeat, Helvetica, Helvetica Neue Medium, JM Modern, Josefin Sans, Julius Sans One, Laisha, Lato, Lato Extrabold, Lexend, LT Wave, Manrope, Merriweather, Montserrat, Moon dance, Mustard, Notosans, Opensans, Optik, Party Confetti, Patua One, Playfair Display, Plus Jakarta Sans, Poppins, Poppins Extrabold, Proxima Nova, Quicksand, Raleway, Raleway Black, Raleway Thin, Roboto, Rokkitt, Rowdies, Russo One, Satisfy, Sora, Source Sans Pro, Space Grotesk, Space mono, Special Elite, Strive, Titillium Web, Titillium Web Black, Ubuntu, Unbounded, Work Sans, Noto Sans JP, Noto Serif JP, Noto Sans Tamil, Noto Sans Devanagari, Noto Serif Devanagari
destinations Array
Array of destination configurations for uploading the generated video (max 5).Vimeo Destination
The following fields are nested inside each element of the top-level
destinations array. For example, destinations[].type means type is a property of each item in the destinations array. The [] notation indicates an array element.Must be
vimeoVimeo folder URI.
Content rating. Options:
violence, drugs, language, nudity, advertisement, safe, unratedPrivacy settings. See Vimeo Privacy Object.
Vimeo Privacy Object
The following fields are nested inside the
privacy object of each destinations[] element. For example, destinations[].privacy.view means view is a property of privacy, which itself is nested inside each item of the destinations array.View access. Options:
anybody, contacts, disable, nobody, password, unlisted, usersEmbed access. Options:
private, public, whitelistComment access. Options:
anybody, contacts, nobodyAllow adding to albums/channels.
Allow downloads.
scenes Array
Each scene in thescenes array can contain various content sources and settings.
The following fields are nested inside each element of the top-level
scenes array. For example, scenes[].story means story is a property of each item in the scenes array. The [] notation indicates an array element.Text content for creating video from text (max 15000 characters).
AI story generation configuration. See storyCoPilot Object.
URL to blog/article content.
URL to PowerPoint presentation file.
URL to audio file for audio-to-video conversion. Requires
audioLanguage.URL to video file for video repurposing. Requires
audioLanguage.Create new scene on each new line. Default:
falseCreate new scene at end of each sentence. Default:
falseMaximum number of caption lines displayed simultaneously. Integer from
1 to 4. When omitted, all caption lines for the scene are displayed at once.1— Single line (ideal for TikTok/Reels)2— Two lines (standard for most content)3— Three lines (educational/detailed content)4— Four lines (information-heavy content)
smartLayoutId or smartLayoutName). When AI voiceover is enabled, caption lines sync with the spoken audio. See Dynamic Captions Guide.Highlight keywords in subtitles.
Hide subtitles for this scene.
Minimum duration for the scene in seconds.
Pause duration at the end of the scene in seconds.
Transition effect. Options:
none, wipeup, wipedown, wipeleft, wiperight, smoothleft, smoothright, radial, circlecrop, hblur, fadeLanguage of audio content. Required for
audioUrl and videoUrl.Allowed values: en-US, en-AU, en-GB, en-IN, en-IE, en-AB, en-WL, fr-CA, fr-FR, de-CH, de-DE, it-IT, es-ES, es-US, nl-NL, pt-BR, ja-JP, ko-KR, ru-RU, hi-IN, ta-IN, mr-INen-US English (US), en-AU English (Australia), en-GB English (UK), en-IN English (India), en-IE English (Ireland), en-AB English (Arabic accent), en-WL English (Wales), fr-CA French (Canada), fr-FR French (France), de-CH German (Switzerland), de-DE German (Germany), it-IT Italian (Italy), es-ES Spanish (Spain), es-US Spanish (US), nl-NL Dutch (Netherlands), pt-BR Portuguese (Brazil), ja-JP Japanese (Japan), ko-KR Korean (Korea), ru-RU Russian (Russia), hi-IN Hindi (India), ta-IN Tamil (India), mr-IN Marathi (India)Use speaker notes from PowerPoint. Only valid with
pptUrl.Whether story text contains SSML markup. Only valid with
story. Default: falseSeparate caption text for the scene (max 3000 characters). Requires
story.Language of caption text. Only valid with
caption.Allowed values: zh, nl, en, fr, de, hi, it, ja, ko, mr, pt, ru, es, tazh Chinese, nl Dutch, en English, fr French, de German, hi Hindi, it Italian, ja Japanese, ko Korean, mr Marathi, pt Portuguese, ru Russian, es Spanish, ta TamilID of a saved text style for this scene’s subtitles. Cannot be used with
subtitleStyleName.Name of a saved text style for this scene’s subtitles. Cannot be used with
subtitleStyleId.Inline subtitle style for this scene. Overrides video-level subtitle style. See subtitleStyle Object.
Voice-over configuration specific to this scene. Overrides video-level settings. See scenes[].voiceOver Object.
Background music configuration specific to this scene. See scenes[].backgroundMusic Object.
Avatar customization specific to this scene. Overrides global avatar settings. See scenes[].avatar Object.
Background media configuration for this scene. See background Object.
Array of B-roll background configurations. See backgroundBrolls Array.
Array of background images to use as a corpus (max 100). See backgroundCorpus Array.
Transcription of input video or audio. Required when repurposing
audioUrl or videoUrl. See transcript Array.Settings for repurposing media content. Only valid with
audioUrl or videoUrl. See mediaRepurposeSettings Object.Configuration for manipulating template scenes. Only available when
templateId is provided. See templateOverride Object.storyCoPilot Object
AI story generation configuration for creating video scripts automatically.The following fields are nested inside the
storyCoPilot object, which is a property of each scenes[] element. For example, scenes[].storyCoPilot.prompt means prompt is a property of storyCoPilot, which itself is nested inside each item of the scenes array.Topic or description for AI to generate content (1-5000 characters).
Type of video to generate. Options:
Explainer, Marketing, Internal Communication, Tutorial, Product. Default: ExplainerTarget duration in seconds (1-600).
Target platform. Options:
YouTube, TikTok, Instagram, Facebook, LinkedIn, TwitterTone of the generated content. Options:
professional, casual, friendly, informative, persuasive, exciting, educational, humorous, serious, conversationalscenes[].voiceOver Object
Voice-over configuration specific to a scene. Overrides video-level voice-over settings.The following fields are nested inside the
voiceOver object at the scene level. For example, scenes[].voiceOver.enabled means enabled is a property of voiceOver, which itself is nested inside each item of the scenes array. This is separate from the top-level voiceOver object.Enable or disable voice-over for this scene.
Array of AI voice configurations (max 10). Same structure as aiVoices Array.
External voice configuration with
voiceUrl, clips array, and amplificationLevel.scenes[].backgroundMusic Object
Background music configuration specific to a scene.The following fields are nested inside the
backgroundMusic object at the scene level. For example, scenes[].backgroundMusic.enabled means enabled is a property of backgroundMusic, which itself is nested inside each item of the scenes array. This is separate from the top-level backgroundMusic object.Enable or disable background music for this scene.
scenes[].avatar Object
Scene-level avatar customization. Overrides global avatar Object settings for this specific scene.Scene-level settings override global avatar configuration. Any property not specified at the scene level inherits from the global avatar settings.
Preset position for the avatar in this scene. Options:
top-left, top-center, top-right, center-left, center-center, center-right, bottom-left, bottom-center, bottom-rightDistance from top edge as percentage (e.g., “10%”, “25%”, “50%”). Integer percentages only (0%-100%). Cannot be used with
position.Distance from left edge as percentage (e.g., “5%”, “50%”, “80%”). Integer percentages only (0%-100%). Cannot be used with
position.Avatar width as percentage for this scene (e.g., “20%”, “25%”, “30%”). Must be an integer percentage from 0% to 100%.
Corner rounding for this scene. Options:
0 (square), 50 (rounded), 100 (circular)Border color in RGBA format for this scene (e.g., “rgba(255,255,255,1)”, “rgba(0,0,0,1)”, “rgba(132,44,254,1)”)
Border width in pixels for this scene. Minimum: 0
Background color in RGBA format for this scene (e.g., “rgba(255,255,255,1)”, “rgba(0,0,0,0.5)”)
Hide avatar for this specific scene (
true or false)background Object
Background media configuration for a scene.The following fields are nested inside the
background object, which is a property of each scenes[] element. For example, scenes[].background.visualUrl means visualUrl is a property of background, which itself is nested inside each item of the scenes array.URL to background video or image. Cannot be used with
color or aiVisual.Solid background color in RGBA format (e.g., “rgba(0,0,0,1)”). Cannot be used with
visualUrl or aiVisual.AI-generated visual configuration. Cannot be used with
visualUrl or color. See aiVisual Object.Media type. Options:
video, image. Required when aiVisual is provided — determines whether an AI image or AI video clip is generated.Search filter for auto-selecting visuals. See searchFilter Object.
Time clips to use from background video. Only valid when
type is video and visualUrl is provided. Each clip has start and end numbers in seconds.Background playback settings. See background.settings Object.
aiVisual Object
AI-generated visual configuration. Use withbackground.type set to "image" for AI-generated images or "video" for AI-generated video clips.
The following fields are nested inside the
aiVisual object, which is a property of scenes[].background. For example, scenes[].background.aiVisual.prompt means prompt is a property of aiVisual, which itself is nested inside background, inside each item of the scenes array.- AI Image Example
- AI Video Clip Example
- Video with First Frame
- Image with Reference
- Visual Continuity
Text prompt describing the visual to generate (max 500 characters). If omitted, the system auto-generates a prompt from the scene’s story text.When a story is split into multiple scenes (using
createSceneOnEndOfSentence or createSceneOnNewLine), this prompt acts as a creative direction for the entire video rather than a prompt for a specific scene. The system uses it to guide the auto-generated prompts for each individual scene, ensuring a consistent visual tone. A good creative direction prompt follows this structure: [Action/Movement] + [Scene/Environment] + [Camera Technique] + [Visual Style]. For example: "Smooth cinematic tracking shots in modern creative workspaces with warm golden-hour lighting and shallow depth of field".AI model to use. The valid options depend on
background.type:Image models (when type is "image"): flux-schnell, seedream3.0, nanobanana, nanobanana-proVideo models (when type is "video"): pixverse5.5, veo3.1_fast, veo3.1Visual style for generated images. Only applicable when
type is "image". Options: photorealistic, artistic, cartoon, minimalist, vintage, futuristicDuration of the generated video clip. Only applicable when
type is "video". Valid values depend on the model:pixverse5.5:"5s","8s","10s"(default:"5s")veo3.1_fast:"4s","6s","8s"(default:"4s")veo3.1:"4s","6s","8s"(default:"4s")
When set to
true, enables visual continuity between consecutive AI-generated scenes. The system automatically uses the output of the previous scene as a reference for the next scene, creating smooth visual transitions. For video scenes, the last frame of the previous video is used. For image scenes, the generated image of the previous scene is used. This field works with both "video" and "image" types.Visual continuity applies in two scenarios:- Within the same story: Consecutive scenes that were split from the same original story use the previous scene’s output as a reference for the next scene.
- Across consecutive stories: Continuity is also maintained between the last scene of one story and the first scene of the next story, enabling seamless transitions across story boundaries.
visualContinuity must be set to true for the system to use the previous scene’s output as a reference. If visualContinuity is not set or is false, the following behavior applies for consecutive scenes from the same story:- Image scenes: All user-provided reference images (such as
referenceImageUrl) are cleared, and visuals are generated independently. - Video scenes: Only
firstFrameImageUrlis cleared if it was provided. However,referenceImageUrlsare preserved and still used for generation.
This field has no effect on the first scene in a sequence. When continuity is active and the previous scene’s output is unavailable, the system falls back to generating the visual without a reference image.
URL of an image to use as the first frame of the generated video clip. The AI model generates a video that begins from this image and transitions into the content described in the prompt. Only applicable when
type is "video". Cannot be used together with referenceImageUrls.URL of a reference image to guide the style and composition of the generated image. Only applicable when
type is "image". For video generation, use firstFrameImageUrl or referenceImageUrls instead.An array of 1–2 reference image URLs to guide the style and composition of the generated video clip. Only applicable when
type is "video". Cannot be used together with firstFrameImageUrl. For image generation, use referenceImageUrl instead.Reference Image Fields — Quick Reference
| Field | Applicable Type | Description |
|---|---|---|
firstFrameImageUrl | "video" only | Image used as the starting frame of the generated video |
referenceImageUrl | "image" only | Single reference image for AI image generation |
referenceImageUrls | "video" only | 1–2 reference images for AI video generation |
Image Models — AI Credit Cost
| Model | AI Credits (per image) | Best For |
|---|---|---|
flux-schnell | 0.6 | Reliable for basic layouts |
seedream3.0 | 2 | Reliable for text and numbers |
nanobanana | 4 | Excels at details |
nanobanana-pro | 14 | Superior cinematic quality |
Video Models — AI Credit Cost
Credits are charged per second of video generated.| Model | AI Credits (per second) | Best For |
|---|---|---|
pixverse5.5 | 1.6 | Reliable for basic motion |
veo3.1_fast | 10 | Efficient cinematic quality |
veo3.1 | 20 | Superior cinematic quality |
searchFilter Object
The following fields are nested inside the
searchFilter object, which is a property of scenes[].background. For example, scenes[].background.searchFilter.category means category is a property of searchFilter, which itself is nested inside background, inside each item of the scenes array.Category filter for media search. See Visual Filter Categories.
Custom search query to find relevant visuals for your scene (max 3000 characters). Use descriptive terms to get more accurate background media results (e.g., “business team collaborating in modern office”, “aerial view of city skyline at sunset”).
Keywords for search (max 10, each 2-100 characters).
Media libraries to search. Options:
story_blocks, gettybackground.settings Object
The following fields are nested inside the
settings object, which is a property of scenes[].background. For example, scenes[].background.settings.mute means mute is a property of settings, which itself is nested inside background, inside each item of the scenes array.Mute audio from background media.
Loop the background media.
Apply zoom and pan effects. Cannot be used with
kenBurnsEffect.Apply Ken Burns effect (images only). Cannot be used with
zoomAndPan.Visual Filter Categories
Available Categories
Available Categories
Aerial:
Aerial, Aerial/Coastal_and_Marine, Aerial/Infrastructure, Aerial/Natural_Landscapes, Aerial/Urban_LandscapesAnimals: Animals, Animals/Farm_Animals, Animals/Marine_Life, Animals/Pets, Animals/WildlifeBusiness: Business_and_Professions, Business_and_Professions/Business_Concepts, Business_and_Professions/Office_Work, Business_and_Professions/ProfessionsEffects: Effects, Effects/Chemical_Reactions, Effects/Explosions, Effects/Fire_and_Smoke, Effects/Glitches, Effects/Lighting_Effects, Effects/ParticlesFood: Food_and_Beverage, Food_and_Beverage/Beverages, Food_and_Beverage/Food_Preparation, Food_and_Beverage/MealsGraphics: Graphics, Graphics/Backgrounds, Graphics/Effects, Graphics/PatternsHistorical: Historical, Historical/Eras, Historical/Events, Historical/FiguresHolidays: Holidays_and_Celebrations, Holidays_and_Celebrations/Cultural_Celebrations, Holidays_and_Celebrations/Festivals, Holidays_and_Celebrations/Life_EventsLifestyle: Lifestyle, Lifestyle/Health_and_Fitness, Lifestyle/Hobbies, Lifestyle/Home_and_FamilyMedical: MedicalNature: Nature, Nature/Landscapes, Nature/Plants_and_Trees, Nature/Sunrises_and_Sunsets, Nature/Waterfalls, Nature/WeatherPeople: People, People/Activities, People/Groups, People/PortraitsPlaces: Places_and_Landmarks, Places_and_Landmarks/Rural_Areas, Places_and_Landmarks/Tourist_Attractions, Places_and_Landmarks/Urban_AreasSports: Sports_and_Recreation, Sports_and_Recreation/Individual_Sports, Sports_and_Recreation/Outdoor_Activities, Sports_and_Recreation/Team_SportsTechnology: Technology, Technology/Devices, Technology/InnovationbackgroundBrolls Array
Array of B-roll background configurations for creating dynamic scene transitions.The following fields are nested inside each element of the
scenes[].backgroundBrolls array. For example, scenes[].backgroundBrolls[].brollClip means brollClip is a property of each item in the backgroundBrolls array, which itself is nested inside each item of the scenes array.Time clip configuration for B-roll. Contains
start (number, required) and end (number, required) in seconds.backgroundCorpus Array
Array of background images to use as a corpus for the scene (max 100 items).The following fields are nested inside each element of the
scenes[].backgroundCorpus array. For example, scenes[].backgroundCorpus[].visualUrl means visualUrl is a property of each item in the backgroundCorpus array, which itself is nested inside each item of the scenes array.URL to background image.
Must be
image.Mark as preferred image for selection.
transcript Array
Transcription of input video or audio content.The following fields are nested inside the
scenes[].transcript array. For example, scenes[].transcript[].speakerId means speakerId is a property of each item in the transcript array, which itself is nested inside each item of the scenes array. Fields like scenes[].transcript[].words[].word go one level deeper — word is inside each item of the words array, which is inside each transcript element.Speaker identifier.
Array of word objects.
The word text.
Start time in seconds (min 0).
End time in seconds (must be >= start_time).
Whether this is a pause.
Whether this is a filler word.
Speaker identifier for this word.
mediaRepurposeSettings Object
Settings for repurposing audio or video content.The following fields are nested inside the
mediaRepurposeSettings object, which is a property of each scenes[] element. For example, scenes[].mediaRepurposeSettings.highlightLength means highlightLength is a property of mediaRepurposeSettings, which itself is nested inside each item of the scenes array.Length of highlight in seconds (5-180).
Remove filler words from the content.
Remove silences from the content.
Silence threshold in seconds (0-10).
templateOverride Object
Configuration for manipulating template scenes. Only available whentemplateId is provided.
The following fields are nested inside the
templateOverride object, which is a property of each scenes[] element. For example, scenes[].templateOverride.sceneId means sceneId is a property of templateOverride, which itself is nested inside each item of the scenes array.ID of the existing scene to modify. Cannot be used with
scenePosition.Position of the existing scene to modify (1-based). Cannot be used with
sceneId.New position for a newly inserted scene (1-based). Only for new scenes.
Insert new scene after this scene ID. Only for new scenes. Cannot be used with
newScenePosition.Insert new scene before this scene ID. Only for new scenes. Cannot be used with
newScenePosition or insertAfterSceneId.Replace the scene with this ID. Only for new scenes. Cannot be used with
newScenePosition.Replace the scene at this position (1-based). Only for new scenes. Cannot be used with
newScenePosition or replaceSceneId.Base scene ID to copy settings from. Only for new scenes.
Base scene position to copy settings from (1-based). Only for new scenes. Cannot be used with
baseSceneId.Delete this scene. Only for existing scenes.
Copy this scene. Only for existing scenes.
Array of subtitle configurations (max 500). Only for existing scenes. See templateOverride.subtitles Array.
Array of layer configurations (max 500). Only for existing scenes. See templateOverride.layers Array.
templateOverride.subtitles Array
The following fields are nested inside each element of the
scenes[].templateOverride.subtitles array. For example, scenes[].templateOverride.subtitles[].text means text is a property of each item in the subtitles array, which itself is nested inside templateOverride, inside each item of the scenes array.Subtitle text (1-40000 characters).
Minimum duration in seconds.
ID of saved text style.
Name of saved text style.
Inline style configuration. See subtitleStyle Object.
templateOverride.layers Array
Layers allow you to customize text, image, and video elements within template scenes.The following fields are nested inside the
scenes[].templateOverride.layers structure, which is an array of arrays. The [][] notation indicates that layers is an array of arrays — the outer [] represents each subtitle group, and the inner [] represents each layer element within that group. For example, scenes[].templateOverride.layers[][].layerId means layerId is a property of each layer element inside the nested array structure.ID of the layer to modify (max 100 characters).
Layer type. Options:
text, image, videoText content (max 40000 characters). For
text type only.Media URL. For
image or video type only.Text style ID. For
text type only.Text style name. For
text type only.Inline text style. See subtitleStyle Object. For
text type only.Delete this layer.
Response
When the storyboard request is successfully submitted, a job is created and a job ID is returned. Use this job ID to poll the Get Storyboard Preview Job by ID endpoint for the completed storyboard preview.Indicates whether the request was successful
Contains the storyboard job information
Unique identifier for the storyboard preview job. Use this to track the job status and retrieve results via the Get Storyboard Preview Job by ID endpoint.
Next Steps
Once you have thejobId, poll the Get Storyboard Preview Job by ID endpoint to check the job status and retrieve the completed storyboard preview. Use a polling interval of 10–30 seconds.
When the job completes, you will receive:
renderParams— The rendering data for the video. To customize the video, update this data and use the Render Video API to render with your modifications. To update the preview with changes, save the updated data using the Update Storyboard Elements API.storyboard— The processed input storyboard. If you want to change anything in the original storyboard request, use this processed response to make a new request with updates — it will process faster since the storyboard is already broken down into scenes, voices, and other components.previewUrl— The preview URL for the video storyboard. Use this to view the preview in a browser or embed it in an iframe for app integrations. See the Embed Preview Player guide for details.
Code Examples
Basic Text to Video Preview
Preview with Smart Layout
Preview with AI Story Generation
Preview with AI-Generated Background Image
Preview with AI-Generated Background Video Clip
Full Featured Preview Example
Error Handling
400 - Missing Required Fields
400 - Missing Required Fields
videoName and scenes are provided.400 - Invalid Scene Configuration
400 - Invalid Scene Configuration
400 - Smart Layout Conflict
400 - Smart Layout Conflict
maxSubtitleLines when using smart layouts.401 - Unauthorized
401 - Unauthorized
429 - Rate Limit Exceeded
429 - Rate Limit Exceeded
Solution: Implement exponential backoff and space out requests.
Related Guides
AI-Generated Background Images
Generate AI images as scene backgrounds
AI-Generated Background Video Clips
Generate AI video clips as scene backgrounds
AI Voice-Over
Add professional AI narration
Smart Layouts
Apply professional visual layouts
Story CoPilot
Generate scripts with AI
Background Music
Add music to your videos
Brand Settings
Apply consistent branding
Subtitle Styles
Customize caption formatting
Next Steps
After creating your storyboard preview:Check Preview Status
Monitor preview generation progress and retrieve results
Render Final Video
Convert approved preview into final video file
Update Project
Modify scenes or settings before rendering
Get Project Details
Retrieve full project information
Supporting APIs
Get Voiceover Tracks
List available AI voices for your preview
Get Text Styles
View saved subtitle styles
Get Video Brands
List available brands
Search Media
Find stock visuals for your scenes
