Create Storyboard Preview
curl --request POST \
--url https://api.pictory.ai/pictoryapis/v2/video/storyboard \
--header 'Authorization: <authorization>' \
--header 'Content-Type: <content-type>' \
--data '
{
"videoName": "<string>",
"videoWidth": 123,
"videoHeight": 123,
"aspectRatio": "<string>",
"language": "<string>",
"saveProject": true,
"webhook": "<string>",
"webhookInput": {},
"templateId": "<string>",
"variables": {},
"brandId": "<string>",
"brandName": "<string>",
"smartLayoutName": "<string>",
"smartLayoutId": "<string>",
"aiStoryboard": {},
"storyboardVersion": "<string>",
"subtitleStyleId": "<string>",
"subtitleStyleName": "<string>",
"subtitleStyle": {},
"awsConnectionId": "<string>",
"vimeoConnectionId": "<string>",
"destinations": [
{}
],
"voiceOver": {},
"backgroundMusic": {},
"logo": {},
"scenes": [
{}
],
"avatar": {},
"aiStoryboard.enabled": true,
"voiceOver.enabled": true,
"voiceOver.aiVoices": [
{}
],
"voiceOver.externalVoice": {},
"voiceOver.aiVoices[].speaker": "<string>",
"voiceOver.aiVoices[].speed": 123,
"voiceOver.aiVoices[].amplificationLevel": 123,
"voiceOver.aiVoices[].premiumVoiceSettings": {},
"voiceOver.aiVoices[].premiumVoiceSettings.modelId": "<string>",
"voiceOver.aiVoices[].premiumVoiceSettings.stability": "<string>",
"voiceOver.aiVoices[].premiumVoiceSettings.useSpeakerBoost": true,
"voiceOver.aiVoices[].premiumVoiceSettings.similarityBoost": "<string>",
"voiceOver.aiVoices[].premiumVoiceSettings.style": "<string>",
"voiceOver.externalVoice.voiceUrl": "<string>",
"voiceOver.externalVoice.syncVoice": true,
"voiceOver.externalVoice.amplificationLevel": 123,
"avatar.avatarId": "<string>",
"avatar.position": "<string>",
"avatar.width": "<string>",
"avatar.borderRadius": "<string>",
"avatar.borderColor": "<string>",
"avatar.borderThickness": 123,
"avatar.backgroundColor": "<string>",
"avatar.hide": true,
"backgroundMusic.enabled": true,
"backgroundMusic.autoMusic": true,
"backgroundMusic.musicUrl": "<string>",
"backgroundMusic.volume": 123,
"backgroundMusic.clips": [
{}
],
"logo.url": "<string>",
"logo.position": "<string>",
"logo.width": "<string>",
"subtitleStyle.fontUrl": "<string>",
"subtitleStyle.fontFamily": "<string>",
"subtitleStyle.fontSize": 123,
"subtitleStyle.color": "<string>",
"subtitleStyle.backgroundColor": "<string>",
"subtitleStyle.shadowColor": "<string>",
"subtitleStyle.shadowWidth": "<string>",
"subtitleStyle.keywordColor": "<string>",
"subtitleStyle.position": "<string>",
"subtitleStyle.alignment": "<string>",
"subtitleStyle.decorations": [
{}
],
"subtitleStyle.case": "<string>",
"subtitleStyle.paragraphWidth": "<string>",
"subtitleStyle.animations": [
{}
],
"subtitleStyle.animations[].name": "<string>",
"subtitleStyle.animations[].type": "<string>",
"subtitleStyle.animations[].speed": "<string>",
"subtitleStyle.animations[].customSpeedValue": 123,
"subtitleStyle.animations[].direction": "<string>",
"subtitleStyle.animations[].writingStyle": "<string>",
"subtitleStyle.animations[].futureWords": "<string>",
"destinations[].type": "<string>",
"destinations[].folder_uri": "<string>",
"destinations[].content_rating": [
{}
],
"destinations[].privacy": {},
"destinations[].privacy.view": "<string>",
"destinations[].privacy.embed": "<string>",
"destinations[].privacy.comments": "<string>",
"destinations[].privacy.add": true,
"destinations[].privacy.download": true,
"scenes[].story": "<string>",
"scenes[].brief": {},
"scenes[].blogUrl": "<string>",
"scenes[].pptUrl": "<string>",
"scenes[].audioUrl": "<string>",
"scenes[].videoUrl": "<string>",
"scenes[].createSceneOnNewLine": true,
"scenes[].createSceneOnEndOfSentence": true,
"scenes[].maxSubtitleLines": 123,
"scenes[].highlightKeywords": true,
"scenes[].hideSubtitles": true,
"scenes[].minimumDuration": 123,
"scenes[].endPauseDuration": 123,
"scenes[].sceneTransition": "<string>",
"scenes[].audioLanguage": "<string>",
"scenes[].useSpeakerNotes": true,
"scenes[].pptSlideAnimation": {
"enabled": true,
"model": "<string>",
"slides": [
123
]
},
"scenes[].isSSMLStory": true,
"scenes[].caption": "<string>",
"scenes[].captionLanguage": "<string>",
"scenes[].subtitleStyleId": "<string>",
"scenes[].subtitleStyleName": "<string>",
"scenes[].subtitleStyle": {},
"scenes[].voiceOver": {},
"scenes[].backgroundMusic": {},
"scenes[].avatar": {},
"scenes[].background": {},
"scenes[].backgroundBrolls": [
{}
],
"scenes[].backgroundCorpus": [
{}
],
"scenes[].transcript": [
{}
],
"scenes[].mediaRepurposeSettings": {},
"scenes[].templateOverride": {},
"scenes[].elements": [
{}
],
"scenes[].brief.prompt": "<string>",
"scenes[].brief.videoGoal": "<string>",
"scenes[].brief.duration": 123,
"scenes[].brief.platform": "<string>",
"scenes[].brief.tone": "<string>",
"scenes[].voiceOver.enabled": true,
"scenes[].voiceOver.aiVoices": [
{}
],
"scenes[].voiceOver.externalVoice": {},
"scenes[].backgroundMusic.enabled": true,
"scenes[].avatar.position": "<string>",
"scenes[].avatar.top": "<string>",
"scenes[].avatar.left": "<string>",
"scenes[].avatar.width": "<string>",
"scenes[].avatar.borderRadius": "<string>",
"scenes[].avatar.borderColor": "<string>",
"scenes[].avatar.borderThickness": 123,
"scenes[].avatar.backgroundColor": "<string>",
"scenes[].avatar.hide": true,
"scenes[].background.visualUrl": "<string>",
"scenes[].background.color": "<string>",
"scenes[].background.aiVisual": {},
"scenes[].background.type": "<string>",
"scenes[].background.searchFilter": {},
"scenes[].background.clips": [
{}
],
"scenes[].background.settings": {},
"scenes[].background.colorOverlay": {},
"scenes[].background.aiVisual.prompt": "<string>",
"scenes[].background.aiVisual.model": "<string>",
"scenes[].background.aiVisual.mediaStyle": "<string>",
"scenes[].background.aiVisual.videoDuration": "<string>",
"scenes[].background.aiVisual.visualContinuity": true,
"scenes[].background.aiVisual.firstFrameImageUrl": "<string>",
"scenes[].background.aiVisual.referenceImageUrl": "<string>",
"scenes[].background.aiVisual.referenceImageUrls": [
"<string>"
],
"scenes[].background.searchFilter.category": "<string>",
"scenes[].background.searchFilter.query": "<string>",
"scenes[].background.searchFilter.keywords": [
{}
],
"scenes[].background.searchFilter.libraries": [
{}
],
"scenes[].background.settings.mute": true,
"scenes[].background.settings.loop": true,
"scenes[].background.settings.zoomAndPan": true,
"scenes[].background.settings.kenBurnsEffect": true,
"scenes[].background.colorOverlay.color": "<string>",
"scenes[].background.colorOverlay.opacity": 123,
"scenes[].backgroundBrolls[].brollClip": {},
"scenes[].backgroundCorpus[].visualUrl": "<string>",
"scenes[].backgroundCorpus[].type": "<string>",
"scenes[].backgroundCorpus[].prefer": true,
"scenes[].elements[].type": "<string>",
"scenes[].elements[].name": "<string>",
"scenes[].elements[].fill": "<string>",
"scenes[].elements[].stroke": "<string>",
"scenes[].elements[].strokeWidth": 123,
"scenes[].elements[].borderRadius": 123,
"scenes[].elements[].height": "<string>",
"scenes[].elements[].text": "<string>",
"scenes[].elements[].textVariant": "<string>",
"scenes[].elements[].style": {},
"scenes[].elements[].styleId": "<string>",
"scenes[].elements[].styleName": "<string>",
"scenes[].elements[].visualUrl": "<string>",
"scenes[].elements[].searchFilter": {},
"scenes[].elements[].aiVisual": {},
"scenes[].elements[].settings": {},
"scenes[].elements[].colorOverlay": {},
"scenes[].elements[].position": "<string>",
"scenes[].elements[].top": "<string>",
"scenes[].elements[].left": "<string>",
"scenes[].elements[].width": "<string>",
"scenes[].transcript[].speakerId": 123,
"scenes[].transcript[].words": [
{}
],
"scenes[].transcript[].words[].word": "<string>",
"scenes[].transcript[].words[].start_time": 123,
"scenes[].transcript[].words[].end_time": 123,
"scenes[].transcript[].words[].is_pause": true,
"scenes[].transcript[].words[].is_filler": true,
"scenes[].transcript[].words[].speakerId": 123,
"scenes[].mediaRepurposeSettings.highlightLength": 123,
"scenes[].mediaRepurposeSettings.removeFillerWords": true,
"scenes[].mediaRepurposeSettings.removeSilences": true,
"scenes[].mediaRepurposeSettings.silenceThresholdSeconds": 123,
"scenes[].templateOverride.sceneId": "<string>",
"scenes[].templateOverride.scenePosition": 123,
"scenes[].templateOverride.newScenePosition": 123,
"scenes[].templateOverride.insertAfterSceneId": "<string>",
"scenes[].templateOverride.insertBeforeSceneId": "<string>",
"scenes[].templateOverride.replaceSceneId": "<string>",
"scenes[].templateOverride.replaceScenePosition": 123,
"scenes[].templateOverride.baseSceneId": "<string>",
"scenes[].templateOverride.baseScenePosition": 123,
"scenes[].templateOverride.deleteScene": true,
"scenes[].templateOverride.copyScene": true,
"scenes[].templateOverride.subtitles": [
{}
],
"scenes[].templateOverride.layers": [
{}
],
"scenes[].templateOverride.subtitles[].text": "<string>",
"scenes[].templateOverride.subtitles[].minimumDuration": 123,
"scenes[].templateOverride.subtitles[].styleId": "<string>",
"scenes[].templateOverride.subtitles[].styleName": "<string>",
"scenes[].templateOverride.subtitles[].style": {},
"scenes[].templateOverride.layers[][].layerId": "<string>",
"scenes[].templateOverride.layers[][].type": "<string>",
"scenes[].templateOverride.layers[][].text": "<string>",
"scenes[].templateOverride.layers[][].url": "<string>",
"scenes[].templateOverride.layers[][].styleId": "<string>",
"scenes[].templateOverride.layers[][].styleName": "<string>",
"scenes[].templateOverride.layers[][].style": {},
"scenes[].templateOverride.layers[][].deleteLayer": true
}
'import requests
url = "https://api.pictory.ai/pictoryapis/v2/video/storyboard"
payload = {
"videoName": "<string>",
"videoWidth": 123,
"videoHeight": 123,
"aspectRatio": "<string>",
"language": "<string>",
"saveProject": True,
"webhook": "<string>",
"webhookInput": {},
"templateId": "<string>",
"variables": {},
"brandId": "<string>",
"brandName": "<string>",
"smartLayoutName": "<string>",
"smartLayoutId": "<string>",
"aiStoryboard": {},
"storyboardVersion": "<string>",
"subtitleStyleId": "<string>",
"subtitleStyleName": "<string>",
"subtitleStyle": {},
"awsConnectionId": "<string>",
"vimeoConnectionId": "<string>",
"destinations": [{}],
"voiceOver": {},
"backgroundMusic": {},
"logo": {},
"scenes": [{}],
"avatar": {},
"aiStoryboard.enabled": True,
"voiceOver.enabled": True,
"voiceOver.aiVoices": [{}],
"voiceOver.externalVoice": {},
"voiceOver.aiVoices[].speaker": "<string>",
"voiceOver.aiVoices[].speed": 123,
"voiceOver.aiVoices[].amplificationLevel": 123,
"voiceOver.aiVoices[].premiumVoiceSettings": {},
"voiceOver.aiVoices[].premiumVoiceSettings.modelId": "<string>",
"voiceOver.aiVoices[].premiumVoiceSettings.stability": "<string>",
"voiceOver.aiVoices[].premiumVoiceSettings.useSpeakerBoost": True,
"voiceOver.aiVoices[].premiumVoiceSettings.similarityBoost": "<string>",
"voiceOver.aiVoices[].premiumVoiceSettings.style": "<string>",
"voiceOver.externalVoice.voiceUrl": "<string>",
"voiceOver.externalVoice.syncVoice": True,
"voiceOver.externalVoice.amplificationLevel": 123,
"avatar.avatarId": "<string>",
"avatar.position": "<string>",
"avatar.width": "<string>",
"avatar.borderRadius": "<string>",
"avatar.borderColor": "<string>",
"avatar.borderThickness": 123,
"avatar.backgroundColor": "<string>",
"avatar.hide": True,
"backgroundMusic.enabled": True,
"backgroundMusic.autoMusic": True,
"backgroundMusic.musicUrl": "<string>",
"backgroundMusic.volume": 123,
"backgroundMusic.clips": [{}],
"logo.url": "<string>",
"logo.position": "<string>",
"logo.width": "<string>",
"subtitleStyle.fontUrl": "<string>",
"subtitleStyle.fontFamily": "<string>",
"subtitleStyle.fontSize": 123,
"subtitleStyle.color": "<string>",
"subtitleStyle.backgroundColor": "<string>",
"subtitleStyle.shadowColor": "<string>",
"subtitleStyle.shadowWidth": "<string>",
"subtitleStyle.keywordColor": "<string>",
"subtitleStyle.position": "<string>",
"subtitleStyle.alignment": "<string>",
"subtitleStyle.decorations": [{}],
"subtitleStyle.case": "<string>",
"subtitleStyle.paragraphWidth": "<string>",
"subtitleStyle.animations": [{}],
"subtitleStyle.animations[].name": "<string>",
"subtitleStyle.animations[].type": "<string>",
"subtitleStyle.animations[].speed": "<string>",
"subtitleStyle.animations[].customSpeedValue": 123,
"subtitleStyle.animations[].direction": "<string>",
"subtitleStyle.animations[].writingStyle": "<string>",
"subtitleStyle.animations[].futureWords": "<string>",
"destinations[].type": "<string>",
"destinations[].folder_uri": "<string>",
"destinations[].content_rating": [{}],
"destinations[].privacy": {},
"destinations[].privacy.view": "<string>",
"destinations[].privacy.embed": "<string>",
"destinations[].privacy.comments": "<string>",
"destinations[].privacy.add": True,
"destinations[].privacy.download": True,
"scenes[].story": "<string>",
"scenes[].brief": {},
"scenes[].blogUrl": "<string>",
"scenes[].pptUrl": "<string>",
"scenes[].audioUrl": "<string>",
"scenes[].videoUrl": "<string>",
"scenes[].createSceneOnNewLine": True,
"scenes[].createSceneOnEndOfSentence": True,
"scenes[].maxSubtitleLines": 123,
"scenes[].highlightKeywords": True,
"scenes[].hideSubtitles": True,
"scenes[].minimumDuration": 123,
"scenes[].endPauseDuration": 123,
"scenes[].sceneTransition": "<string>",
"scenes[].audioLanguage": "<string>",
"scenes[].useSpeakerNotes": True,
"scenes[].pptSlideAnimation": {
"enabled": True,
"model": "<string>",
"slides": [123]
},
"scenes[].isSSMLStory": True,
"scenes[].caption": "<string>",
"scenes[].captionLanguage": "<string>",
"scenes[].subtitleStyleId": "<string>",
"scenes[].subtitleStyleName": "<string>",
"scenes[].subtitleStyle": {},
"scenes[].voiceOver": {},
"scenes[].backgroundMusic": {},
"scenes[].avatar": {},
"scenes[].background": {},
"scenes[].backgroundBrolls": [{}],
"scenes[].backgroundCorpus": [{}],
"scenes[].transcript": [{}],
"scenes[].mediaRepurposeSettings": {},
"scenes[].templateOverride": {},
"scenes[].elements": [{}],
"scenes[].brief.prompt": "<string>",
"scenes[].brief.videoGoal": "<string>",
"scenes[].brief.duration": 123,
"scenes[].brief.platform": "<string>",
"scenes[].brief.tone": "<string>",
"scenes[].voiceOver.enabled": True,
"scenes[].voiceOver.aiVoices": [{}],
"scenes[].voiceOver.externalVoice": {},
"scenes[].backgroundMusic.enabled": True,
"scenes[].avatar.position": "<string>",
"scenes[].avatar.top": "<string>",
"scenes[].avatar.left": "<string>",
"scenes[].avatar.width": "<string>",
"scenes[].avatar.borderRadius": "<string>",
"scenes[].avatar.borderColor": "<string>",
"scenes[].avatar.borderThickness": 123,
"scenes[].avatar.backgroundColor": "<string>",
"scenes[].avatar.hide": True,
"scenes[].background.visualUrl": "<string>",
"scenes[].background.color": "<string>",
"scenes[].background.aiVisual": {},
"scenes[].background.type": "<string>",
"scenes[].background.searchFilter": {},
"scenes[].background.clips": [{}],
"scenes[].background.settings": {},
"scenes[].background.colorOverlay": {},
"scenes[].background.aiVisual.prompt": "<string>",
"scenes[].background.aiVisual.model": "<string>",
"scenes[].background.aiVisual.mediaStyle": "<string>",
"scenes[].background.aiVisual.videoDuration": "<string>",
"scenes[].background.aiVisual.visualContinuity": True,
"scenes[].background.aiVisual.firstFrameImageUrl": "<string>",
"scenes[].background.aiVisual.referenceImageUrl": "<string>",
"scenes[].background.aiVisual.referenceImageUrls": ["<string>"],
"scenes[].background.searchFilter.category": "<string>",
"scenes[].background.searchFilter.query": "<string>",
"scenes[].background.searchFilter.keywords": [{}],
"scenes[].background.searchFilter.libraries": [{}],
"scenes[].background.settings.mute": True,
"scenes[].background.settings.loop": True,
"scenes[].background.settings.zoomAndPan": True,
"scenes[].background.settings.kenBurnsEffect": True,
"scenes[].background.colorOverlay.color": "<string>",
"scenes[].background.colorOverlay.opacity": 123,
"scenes[].backgroundBrolls[].brollClip": {},
"scenes[].backgroundCorpus[].visualUrl": "<string>",
"scenes[].backgroundCorpus[].type": "<string>",
"scenes[].backgroundCorpus[].prefer": True,
"scenes[].elements[].type": "<string>",
"scenes[].elements[].name": "<string>",
"scenes[].elements[].fill": "<string>",
"scenes[].elements[].stroke": "<string>",
"scenes[].elements[].strokeWidth": 123,
"scenes[].elements[].borderRadius": 123,
"scenes[].elements[].height": "<string>",
"scenes[].elements[].text": "<string>",
"scenes[].elements[].textVariant": "<string>",
"scenes[].elements[].style": {},
"scenes[].elements[].styleId": "<string>",
"scenes[].elements[].styleName": "<string>",
"scenes[].elements[].visualUrl": "<string>",
"scenes[].elements[].searchFilter": {},
"scenes[].elements[].aiVisual": {},
"scenes[].elements[].settings": {},
"scenes[].elements[].colorOverlay": {},
"scenes[].elements[].position": "<string>",
"scenes[].elements[].top": "<string>",
"scenes[].elements[].left": "<string>",
"scenes[].elements[].width": "<string>",
"scenes[].transcript[].speakerId": 123,
"scenes[].transcript[].words": [{}],
"scenes[].transcript[].words[].word": "<string>",
"scenes[].transcript[].words[].start_time": 123,
"scenes[].transcript[].words[].end_time": 123,
"scenes[].transcript[].words[].is_pause": True,
"scenes[].transcript[].words[].is_filler": True,
"scenes[].transcript[].words[].speakerId": 123,
"scenes[].mediaRepurposeSettings.highlightLength": 123,
"scenes[].mediaRepurposeSettings.removeFillerWords": True,
"scenes[].mediaRepurposeSettings.removeSilences": True,
"scenes[].mediaRepurposeSettings.silenceThresholdSeconds": 123,
"scenes[].templateOverride.sceneId": "<string>",
"scenes[].templateOverride.scenePosition": 123,
"scenes[].templateOverride.newScenePosition": 123,
"scenes[].templateOverride.insertAfterSceneId": "<string>",
"scenes[].templateOverride.insertBeforeSceneId": "<string>",
"scenes[].templateOverride.replaceSceneId": "<string>",
"scenes[].templateOverride.replaceScenePosition": 123,
"scenes[].templateOverride.baseSceneId": "<string>",
"scenes[].templateOverride.baseScenePosition": 123,
"scenes[].templateOverride.deleteScene": True,
"scenes[].templateOverride.copyScene": True,
"scenes[].templateOverride.subtitles": [{}],
"scenes[].templateOverride.layers": [{}],
"scenes[].templateOverride.subtitles[].text": "<string>",
"scenes[].templateOverride.subtitles[].minimumDuration": 123,
"scenes[].templateOverride.subtitles[].styleId": "<string>",
"scenes[].templateOverride.subtitles[].styleName": "<string>",
"scenes[].templateOverride.subtitles[].style": {},
"scenes[].templateOverride.layers[][].layerId": "<string>",
"scenes[].templateOverride.layers[][].type": "<string>",
"scenes[].templateOverride.layers[][].text": "<string>",
"scenes[].templateOverride.layers[][].url": "<string>",
"scenes[].templateOverride.layers[][].styleId": "<string>",
"scenes[].templateOverride.layers[][].styleName": "<string>",
"scenes[].templateOverride.layers[][].style": {},
"scenes[].templateOverride.layers[][].deleteLayer": True
}
headers = {
"Authorization": "<authorization>",
"Content-Type": "<content-type>"
}
response = requests.post(url, json=payload, headers=headers)
print(response.text)const options = {
method: 'POST',
headers: {Authorization: '<authorization>', 'Content-Type': '<content-type>'},
body: JSON.stringify({
videoName: '<string>',
videoWidth: 123,
videoHeight: 123,
aspectRatio: '<string>',
language: '<string>',
saveProject: true,
webhook: '<string>',
webhookInput: {},
templateId: '<string>',
variables: {},
brandId: '<string>',
brandName: '<string>',
smartLayoutName: '<string>',
smartLayoutId: '<string>',
aiStoryboard: {},
storyboardVersion: '<string>',
subtitleStyleId: '<string>',
subtitleStyleName: '<string>',
subtitleStyle: {},
awsConnectionId: '<string>',
vimeoConnectionId: '<string>',
destinations: [{}],
voiceOver: {},
backgroundMusic: {},
logo: {},
scenes: [{}],
avatar: {},
'aiStoryboard.enabled': true,
'voiceOver.enabled': true,
'voiceOver.aiVoices': [{}],
'voiceOver.externalVoice': {},
'voiceOver.aiVoices[].speaker': '<string>',
'voiceOver.aiVoices[].speed': 123,
'voiceOver.aiVoices[].amplificationLevel': 123,
'voiceOver.aiVoices[].premiumVoiceSettings': {},
'voiceOver.aiVoices[].premiumVoiceSettings.modelId': '<string>',
'voiceOver.aiVoices[].premiumVoiceSettings.stability': '<string>',
'voiceOver.aiVoices[].premiumVoiceSettings.useSpeakerBoost': true,
'voiceOver.aiVoices[].premiumVoiceSettings.similarityBoost': '<string>',
'voiceOver.aiVoices[].premiumVoiceSettings.style': '<string>',
'voiceOver.externalVoice.voiceUrl': '<string>',
'voiceOver.externalVoice.syncVoice': true,
'voiceOver.externalVoice.amplificationLevel': 123,
'avatar.avatarId': '<string>',
'avatar.position': '<string>',
'avatar.width': '<string>',
'avatar.borderRadius': '<string>',
'avatar.borderColor': '<string>',
'avatar.borderThickness': 123,
'avatar.backgroundColor': '<string>',
'avatar.hide': true,
'backgroundMusic.enabled': true,
'backgroundMusic.autoMusic': true,
'backgroundMusic.musicUrl': '<string>',
'backgroundMusic.volume': 123,
'backgroundMusic.clips': [{}],
'logo.url': '<string>',
'logo.position': '<string>',
'logo.width': '<string>',
'subtitleStyle.fontUrl': '<string>',
'subtitleStyle.fontFamily': '<string>',
'subtitleStyle.fontSize': 123,
'subtitleStyle.color': '<string>',
'subtitleStyle.backgroundColor': '<string>',
'subtitleStyle.shadowColor': '<string>',
'subtitleStyle.shadowWidth': '<string>',
'subtitleStyle.keywordColor': '<string>',
'subtitleStyle.position': '<string>',
'subtitleStyle.alignment': '<string>',
'subtitleStyle.decorations': [{}],
'subtitleStyle.case': '<string>',
'subtitleStyle.paragraphWidth': '<string>',
'subtitleStyle.animations': [{}],
'subtitleStyle.animations[].name': '<string>',
'subtitleStyle.animations[].type': '<string>',
'subtitleStyle.animations[].speed': '<string>',
'subtitleStyle.animations[].customSpeedValue': 123,
'subtitleStyle.animations[].direction': '<string>',
'subtitleStyle.animations[].writingStyle': '<string>',
'subtitleStyle.animations[].futureWords': '<string>',
'destinations[].type': '<string>',
'destinations[].folder_uri': '<string>',
'destinations[].content_rating': [{}],
'destinations[].privacy': {},
'destinations[].privacy.view': '<string>',
'destinations[].privacy.embed': '<string>',
'destinations[].privacy.comments': '<string>',
'destinations[].privacy.add': true,
'destinations[].privacy.download': true,
'scenes[].story': '<string>',
'scenes[].brief': {},
'scenes[].blogUrl': '<string>',
'scenes[].pptUrl': '<string>',
'scenes[].audioUrl': '<string>',
'scenes[].videoUrl': '<string>',
'scenes[].createSceneOnNewLine': true,
'scenes[].createSceneOnEndOfSentence': true,
'scenes[].maxSubtitleLines': 123,
'scenes[].highlightKeywords': true,
'scenes[].hideSubtitles': true,
'scenes[].minimumDuration': 123,
'scenes[].endPauseDuration': 123,
'scenes[].sceneTransition': '<string>',
'scenes[].audioLanguage': '<string>',
'scenes[].useSpeakerNotes': true,
'scenes[].pptSlideAnimation': {enabled: true, model: '<string>', slides: [123]},
'scenes[].isSSMLStory': true,
'scenes[].caption': '<string>',
'scenes[].captionLanguage': '<string>',
'scenes[].subtitleStyleId': '<string>',
'scenes[].subtitleStyleName': '<string>',
'scenes[].subtitleStyle': {},
'scenes[].voiceOver': {},
'scenes[].backgroundMusic': {},
'scenes[].avatar': {},
'scenes[].background': {},
'scenes[].backgroundBrolls': [{}],
'scenes[].backgroundCorpus': [{}],
'scenes[].transcript': [{}],
'scenes[].mediaRepurposeSettings': {},
'scenes[].templateOverride': {},
'scenes[].elements': [{}],
'scenes[].brief.prompt': '<string>',
'scenes[].brief.videoGoal': '<string>',
'scenes[].brief.duration': 123,
'scenes[].brief.platform': '<string>',
'scenes[].brief.tone': '<string>',
'scenes[].voiceOver.enabled': true,
'scenes[].voiceOver.aiVoices': [{}],
'scenes[].voiceOver.externalVoice': {},
'scenes[].backgroundMusic.enabled': true,
'scenes[].avatar.position': '<string>',
'scenes[].avatar.top': '<string>',
'scenes[].avatar.left': '<string>',
'scenes[].avatar.width': '<string>',
'scenes[].avatar.borderRadius': '<string>',
'scenes[].avatar.borderColor': '<string>',
'scenes[].avatar.borderThickness': 123,
'scenes[].avatar.backgroundColor': '<string>',
'scenes[].avatar.hide': true,
'scenes[].background.visualUrl': '<string>',
'scenes[].background.color': '<string>',
'scenes[].background.aiVisual': {},
'scenes[].background.type': '<string>',
'scenes[].background.searchFilter': {},
'scenes[].background.clips': [{}],
'scenes[].background.settings': {},
'scenes[].background.colorOverlay': {},
'scenes[].background.aiVisual.prompt': '<string>',
'scenes[].background.aiVisual.model': '<string>',
'scenes[].background.aiVisual.mediaStyle': '<string>',
'scenes[].background.aiVisual.videoDuration': '<string>',
'scenes[].background.aiVisual.visualContinuity': true,
'scenes[].background.aiVisual.firstFrameImageUrl': '<string>',
'scenes[].background.aiVisual.referenceImageUrl': '<string>',
'scenes[].background.aiVisual.referenceImageUrls': ['<string>'],
'scenes[].background.searchFilter.category': '<string>',
'scenes[].background.searchFilter.query': '<string>',
'scenes[].background.searchFilter.keywords': [{}],
'scenes[].background.searchFilter.libraries': [{}],
'scenes[].background.settings.mute': true,
'scenes[].background.settings.loop': true,
'scenes[].background.settings.zoomAndPan': true,
'scenes[].background.settings.kenBurnsEffect': true,
'scenes[].background.colorOverlay.color': '<string>',
'scenes[].background.colorOverlay.opacity': 123,
'scenes[].backgroundBrolls[].brollClip': {},
'scenes[].backgroundCorpus[].visualUrl': '<string>',
'scenes[].backgroundCorpus[].type': '<string>',
'scenes[].backgroundCorpus[].prefer': true,
'scenes[].elements[].type': '<string>',
'scenes[].elements[].name': '<string>',
'scenes[].elements[].fill': '<string>',
'scenes[].elements[].stroke': '<string>',
'scenes[].elements[].strokeWidth': 123,
'scenes[].elements[].borderRadius': 123,
'scenes[].elements[].height': '<string>',
'scenes[].elements[].text': '<string>',
'scenes[].elements[].textVariant': '<string>',
'scenes[].elements[].style': {},
'scenes[].elements[].styleId': '<string>',
'scenes[].elements[].styleName': '<string>',
'scenes[].elements[].visualUrl': '<string>',
'scenes[].elements[].searchFilter': {},
'scenes[].elements[].aiVisual': {},
'scenes[].elements[].settings': {},
'scenes[].elements[].colorOverlay': {},
'scenes[].elements[].position': '<string>',
'scenes[].elements[].top': '<string>',
'scenes[].elements[].left': '<string>',
'scenes[].elements[].width': '<string>',
'scenes[].transcript[].speakerId': 123,
'scenes[].transcript[].words': [{}],
'scenes[].transcript[].words[].word': '<string>',
'scenes[].transcript[].words[].start_time': 123,
'scenes[].transcript[].words[].end_time': 123,
'scenes[].transcript[].words[].is_pause': true,
'scenes[].transcript[].words[].is_filler': true,
'scenes[].transcript[].words[].speakerId': 123,
'scenes[].mediaRepurposeSettings.highlightLength': 123,
'scenes[].mediaRepurposeSettings.removeFillerWords': true,
'scenes[].mediaRepurposeSettings.removeSilences': true,
'scenes[].mediaRepurposeSettings.silenceThresholdSeconds': 123,
'scenes[].templateOverride.sceneId': '<string>',
'scenes[].templateOverride.scenePosition': 123,
'scenes[].templateOverride.newScenePosition': 123,
'scenes[].templateOverride.insertAfterSceneId': '<string>',
'scenes[].templateOverride.insertBeforeSceneId': '<string>',
'scenes[].templateOverride.replaceSceneId': '<string>',
'scenes[].templateOverride.replaceScenePosition': 123,
'scenes[].templateOverride.baseSceneId': '<string>',
'scenes[].templateOverride.baseScenePosition': 123,
'scenes[].templateOverride.deleteScene': true,
'scenes[].templateOverride.copyScene': true,
'scenes[].templateOverride.subtitles': [{}],
'scenes[].templateOverride.layers': [{}],
'scenes[].templateOverride.subtitles[].text': '<string>',
'scenes[].templateOverride.subtitles[].minimumDuration': 123,
'scenes[].templateOverride.subtitles[].styleId': '<string>',
'scenes[].templateOverride.subtitles[].styleName': '<string>',
'scenes[].templateOverride.subtitles[].style': {},
'scenes[].templateOverride.layers[][].layerId': '<string>',
'scenes[].templateOverride.layers[][].type': '<string>',
'scenes[].templateOverride.layers[][].text': '<string>',
'scenes[].templateOverride.layers[][].url': '<string>',
'scenes[].templateOverride.layers[][].styleId': '<string>',
'scenes[].templateOverride.layers[][].styleName': '<string>',
'scenes[].templateOverride.layers[][].style': {},
'scenes[].templateOverride.layers[][].deleteLayer': true
})
};
fetch('https://api.pictory.ai/pictoryapis/v2/video/storyboard', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));<?php
$curl = curl_init();
curl_setopt_array($curl, [
CURLOPT_URL => "https://api.pictory.ai/pictoryapis/v2/video/storyboard",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "POST",
CURLOPT_POSTFIELDS => json_encode([
'videoName' => '<string>',
'videoWidth' => 123,
'videoHeight' => 123,
'aspectRatio' => '<string>',
'language' => '<string>',
'saveProject' => true,
'webhook' => '<string>',
'webhookInput' => [
],
'templateId' => '<string>',
'variables' => [
],
'brandId' => '<string>',
'brandName' => '<string>',
'smartLayoutName' => '<string>',
'smartLayoutId' => '<string>',
'aiStoryboard' => [
],
'storyboardVersion' => '<string>',
'subtitleStyleId' => '<string>',
'subtitleStyleName' => '<string>',
'subtitleStyle' => [
],
'awsConnectionId' => '<string>',
'vimeoConnectionId' => '<string>',
'destinations' => [
[
]
],
'voiceOver' => [
],
'backgroundMusic' => [
],
'logo' => [
],
'scenes' => [
[
]
],
'avatar' => [
],
'aiStoryboard.enabled' => true,
'voiceOver.enabled' => true,
'voiceOver.aiVoices' => [
[
]
],
'voiceOver.externalVoice' => [
],
'voiceOver.aiVoices[].speaker' => '<string>',
'voiceOver.aiVoices[].speed' => 123,
'voiceOver.aiVoices[].amplificationLevel' => 123,
'voiceOver.aiVoices[].premiumVoiceSettings' => [
],
'voiceOver.aiVoices[].premiumVoiceSettings.modelId' => '<string>',
'voiceOver.aiVoices[].premiumVoiceSettings.stability' => '<string>',
'voiceOver.aiVoices[].premiumVoiceSettings.useSpeakerBoost' => true,
'voiceOver.aiVoices[].premiumVoiceSettings.similarityBoost' => '<string>',
'voiceOver.aiVoices[].premiumVoiceSettings.style' => '<string>',
'voiceOver.externalVoice.voiceUrl' => '<string>',
'voiceOver.externalVoice.syncVoice' => true,
'voiceOver.externalVoice.amplificationLevel' => 123,
'avatar.avatarId' => '<string>',
'avatar.position' => '<string>',
'avatar.width' => '<string>',
'avatar.borderRadius' => '<string>',
'avatar.borderColor' => '<string>',
'avatar.borderThickness' => 123,
'avatar.backgroundColor' => '<string>',
'avatar.hide' => true,
'backgroundMusic.enabled' => true,
'backgroundMusic.autoMusic' => true,
'backgroundMusic.musicUrl' => '<string>',
'backgroundMusic.volume' => 123,
'backgroundMusic.clips' => [
[
]
],
'logo.url' => '<string>',
'logo.position' => '<string>',
'logo.width' => '<string>',
'subtitleStyle.fontUrl' => '<string>',
'subtitleStyle.fontFamily' => '<string>',
'subtitleStyle.fontSize' => 123,
'subtitleStyle.color' => '<string>',
'subtitleStyle.backgroundColor' => '<string>',
'subtitleStyle.shadowColor' => '<string>',
'subtitleStyle.shadowWidth' => '<string>',
'subtitleStyle.keywordColor' => '<string>',
'subtitleStyle.position' => '<string>',
'subtitleStyle.alignment' => '<string>',
'subtitleStyle.decorations' => [
[
]
],
'subtitleStyle.case' => '<string>',
'subtitleStyle.paragraphWidth' => '<string>',
'subtitleStyle.animations' => [
[
]
],
'subtitleStyle.animations[].name' => '<string>',
'subtitleStyle.animations[].type' => '<string>',
'subtitleStyle.animations[].speed' => '<string>',
'subtitleStyle.animations[].customSpeedValue' => 123,
'subtitleStyle.animations[].direction' => '<string>',
'subtitleStyle.animations[].writingStyle' => '<string>',
'subtitleStyle.animations[].futureWords' => '<string>',
'destinations[].type' => '<string>',
'destinations[].folder_uri' => '<string>',
'destinations[].content_rating' => [
[
]
],
'destinations[].privacy' => [
],
'destinations[].privacy.view' => '<string>',
'destinations[].privacy.embed' => '<string>',
'destinations[].privacy.comments' => '<string>',
'destinations[].privacy.add' => true,
'destinations[].privacy.download' => true,
'scenes[].story' => '<string>',
'scenes[].brief' => [
],
'scenes[].blogUrl' => '<string>',
'scenes[].pptUrl' => '<string>',
'scenes[].audioUrl' => '<string>',
'scenes[].videoUrl' => '<string>',
'scenes[].createSceneOnNewLine' => true,
'scenes[].createSceneOnEndOfSentence' => true,
'scenes[].maxSubtitleLines' => 123,
'scenes[].highlightKeywords' => true,
'scenes[].hideSubtitles' => true,
'scenes[].minimumDuration' => 123,
'scenes[].endPauseDuration' => 123,
'scenes[].sceneTransition' => '<string>',
'scenes[].audioLanguage' => '<string>',
'scenes[].useSpeakerNotes' => true,
'scenes[].pptSlideAnimation' => [
'enabled' => true,
'model' => '<string>',
'slides' => [
123
]
],
'scenes[].isSSMLStory' => true,
'scenes[].caption' => '<string>',
'scenes[].captionLanguage' => '<string>',
'scenes[].subtitleStyleId' => '<string>',
'scenes[].subtitleStyleName' => '<string>',
'scenes[].subtitleStyle' => [
],
'scenes[].voiceOver' => [
],
'scenes[].backgroundMusic' => [
],
'scenes[].avatar' => [
],
'scenes[].background' => [
],
'scenes[].backgroundBrolls' => [
[
]
],
'scenes[].backgroundCorpus' => [
[
]
],
'scenes[].transcript' => [
[
]
],
'scenes[].mediaRepurposeSettings' => [
],
'scenes[].templateOverride' => [
],
'scenes[].elements' => [
[
]
],
'scenes[].brief.prompt' => '<string>',
'scenes[].brief.videoGoal' => '<string>',
'scenes[].brief.duration' => 123,
'scenes[].brief.platform' => '<string>',
'scenes[].brief.tone' => '<string>',
'scenes[].voiceOver.enabled' => true,
'scenes[].voiceOver.aiVoices' => [
[
]
],
'scenes[].voiceOver.externalVoice' => [
],
'scenes[].backgroundMusic.enabled' => true,
'scenes[].avatar.position' => '<string>',
'scenes[].avatar.top' => '<string>',
'scenes[].avatar.left' => '<string>',
'scenes[].avatar.width' => '<string>',
'scenes[].avatar.borderRadius' => '<string>',
'scenes[].avatar.borderColor' => '<string>',
'scenes[].avatar.borderThickness' => 123,
'scenes[].avatar.backgroundColor' => '<string>',
'scenes[].avatar.hide' => true,
'scenes[].background.visualUrl' => '<string>',
'scenes[].background.color' => '<string>',
'scenes[].background.aiVisual' => [
],
'scenes[].background.type' => '<string>',
'scenes[].background.searchFilter' => [
],
'scenes[].background.clips' => [
[
]
],
'scenes[].background.settings' => [
],
'scenes[].background.colorOverlay' => [
],
'scenes[].background.aiVisual.prompt' => '<string>',
'scenes[].background.aiVisual.model' => '<string>',
'scenes[].background.aiVisual.mediaStyle' => '<string>',
'scenes[].background.aiVisual.videoDuration' => '<string>',
'scenes[].background.aiVisual.visualContinuity' => true,
'scenes[].background.aiVisual.firstFrameImageUrl' => '<string>',
'scenes[].background.aiVisual.referenceImageUrl' => '<string>',
'scenes[].background.aiVisual.referenceImageUrls' => [
'<string>'
],
'scenes[].background.searchFilter.category' => '<string>',
'scenes[].background.searchFilter.query' => '<string>',
'scenes[].background.searchFilter.keywords' => [
[
]
],
'scenes[].background.searchFilter.libraries' => [
[
]
],
'scenes[].background.settings.mute' => true,
'scenes[].background.settings.loop' => true,
'scenes[].background.settings.zoomAndPan' => true,
'scenes[].background.settings.kenBurnsEffect' => true,
'scenes[].background.colorOverlay.color' => '<string>',
'scenes[].background.colorOverlay.opacity' => 123,
'scenes[].backgroundBrolls[].brollClip' => [
],
'scenes[].backgroundCorpus[].visualUrl' => '<string>',
'scenes[].backgroundCorpus[].type' => '<string>',
'scenes[].backgroundCorpus[].prefer' => true,
'scenes[].elements[].type' => '<string>',
'scenes[].elements[].name' => '<string>',
'scenes[].elements[].fill' => '<string>',
'scenes[].elements[].stroke' => '<string>',
'scenes[].elements[].strokeWidth' => 123,
'scenes[].elements[].borderRadius' => 123,
'scenes[].elements[].height' => '<string>',
'scenes[].elements[].text' => '<string>',
'scenes[].elements[].textVariant' => '<string>',
'scenes[].elements[].style' => [
],
'scenes[].elements[].styleId' => '<string>',
'scenes[].elements[].styleName' => '<string>',
'scenes[].elements[].visualUrl' => '<string>',
'scenes[].elements[].searchFilter' => [
],
'scenes[].elements[].aiVisual' => [
],
'scenes[].elements[].settings' => [
],
'scenes[].elements[].colorOverlay' => [
],
'scenes[].elements[].position' => '<string>',
'scenes[].elements[].top' => '<string>',
'scenes[].elements[].left' => '<string>',
'scenes[].elements[].width' => '<string>',
'scenes[].transcript[].speakerId' => 123,
'scenes[].transcript[].words' => [
[
]
],
'scenes[].transcript[].words[].word' => '<string>',
'scenes[].transcript[].words[].start_time' => 123,
'scenes[].transcript[].words[].end_time' => 123,
'scenes[].transcript[].words[].is_pause' => true,
'scenes[].transcript[].words[].is_filler' => true,
'scenes[].transcript[].words[].speakerId' => 123,
'scenes[].mediaRepurposeSettings.highlightLength' => 123,
'scenes[].mediaRepurposeSettings.removeFillerWords' => true,
'scenes[].mediaRepurposeSettings.removeSilences' => true,
'scenes[].mediaRepurposeSettings.silenceThresholdSeconds' => 123,
'scenes[].templateOverride.sceneId' => '<string>',
'scenes[].templateOverride.scenePosition' => 123,
'scenes[].templateOverride.newScenePosition' => 123,
'scenes[].templateOverride.insertAfterSceneId' => '<string>',
'scenes[].templateOverride.insertBeforeSceneId' => '<string>',
'scenes[].templateOverride.replaceSceneId' => '<string>',
'scenes[].templateOverride.replaceScenePosition' => 123,
'scenes[].templateOverride.baseSceneId' => '<string>',
'scenes[].templateOverride.baseScenePosition' => 123,
'scenes[].templateOverride.deleteScene' => true,
'scenes[].templateOverride.copyScene' => true,
'scenes[].templateOverride.subtitles' => [
[
]
],
'scenes[].templateOverride.layers' => [
[
]
],
'scenes[].templateOverride.subtitles[].text' => '<string>',
'scenes[].templateOverride.subtitles[].minimumDuration' => 123,
'scenes[].templateOverride.subtitles[].styleId' => '<string>',
'scenes[].templateOverride.subtitles[].styleName' => '<string>',
'scenes[].templateOverride.subtitles[].style' => [
],
'scenes[].templateOverride.layers[][].layerId' => '<string>',
'scenes[].templateOverride.layers[][].type' => '<string>',
'scenes[].templateOverride.layers[][].text' => '<string>',
'scenes[].templateOverride.layers[][].url' => '<string>',
'scenes[].templateOverride.layers[][].styleId' => '<string>',
'scenes[].templateOverride.layers[][].styleName' => '<string>',
'scenes[].templateOverride.layers[][].style' => [
],
'scenes[].templateOverride.layers[][].deleteLayer' => true
]),
CURLOPT_HTTPHEADER => [
"Authorization: <authorization>",
"Content-Type: <content-type>"
],
]);
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}package main
import (
"fmt"
"strings"
"net/http"
"io"
)
func main() {
url := "https://api.pictory.ai/pictoryapis/v2/video/storyboard"
payload := strings.NewReader("{\n \"videoName\": \"<string>\",\n \"videoWidth\": 123,\n \"videoHeight\": 123,\n \"aspectRatio\": \"<string>\",\n \"language\": \"<string>\",\n \"saveProject\": true,\n \"webhook\": \"<string>\",\n \"webhookInput\": {},\n \"templateId\": \"<string>\",\n \"variables\": {},\n \"brandId\": \"<string>\",\n \"brandName\": \"<string>\",\n \"smartLayoutName\": \"<string>\",\n \"smartLayoutId\": \"<string>\",\n \"aiStoryboard\": {},\n \"storyboardVersion\": \"<string>\",\n \"subtitleStyleId\": \"<string>\",\n \"subtitleStyleName\": \"<string>\",\n \"subtitleStyle\": {},\n \"awsConnectionId\": \"<string>\",\n \"vimeoConnectionId\": \"<string>\",\n \"destinations\": [\n {}\n ],\n \"voiceOver\": {},\n \"backgroundMusic\": {},\n \"logo\": {},\n \"scenes\": [\n {}\n ],\n \"avatar\": {},\n \"aiStoryboard.enabled\": true,\n \"voiceOver.enabled\": true,\n \"voiceOver.aiVoices\": [\n {}\n ],\n \"voiceOver.externalVoice\": {},\n \"voiceOver.aiVoices[].speaker\": \"<string>\",\n \"voiceOver.aiVoices[].speed\": 123,\n \"voiceOver.aiVoices[].amplificationLevel\": 123,\n \"voiceOver.aiVoices[].premiumVoiceSettings\": {},\n \"voiceOver.aiVoices[].premiumVoiceSettings.modelId\": \"<string>\",\n \"voiceOver.aiVoices[].premiumVoiceSettings.stability\": \"<string>\",\n \"voiceOver.aiVoices[].premiumVoiceSettings.useSpeakerBoost\": true,\n \"voiceOver.aiVoices[].premiumVoiceSettings.similarityBoost\": \"<string>\",\n \"voiceOver.aiVoices[].premiumVoiceSettings.style\": \"<string>\",\n \"voiceOver.externalVoice.voiceUrl\": \"<string>\",\n \"voiceOver.externalVoice.syncVoice\": true,\n \"voiceOver.externalVoice.amplificationLevel\": 123,\n \"avatar.avatarId\": \"<string>\",\n \"avatar.position\": \"<string>\",\n \"avatar.width\": \"<string>\",\n \"avatar.borderRadius\": \"<string>\",\n \"avatar.borderColor\": \"<string>\",\n \"avatar.borderThickness\": 123,\n \"avatar.backgroundColor\": \"<string>\",\n \"avatar.hide\": true,\n \"backgroundMusic.enabled\": true,\n \"backgroundMusic.autoMusic\": true,\n \"backgroundMusic.musicUrl\": \"<string>\",\n \"backgroundMusic.volume\": 123,\n \"backgroundMusic.clips\": [\n {}\n ],\n \"logo.url\": \"<string>\",\n \"logo.position\": \"<string>\",\n \"logo.width\": \"<string>\",\n \"subtitleStyle.fontUrl\": \"<string>\",\n \"subtitleStyle.fontFamily\": \"<string>\",\n \"subtitleStyle.fontSize\": 123,\n \"subtitleStyle.color\": \"<string>\",\n \"subtitleStyle.backgroundColor\": \"<string>\",\n \"subtitleStyle.shadowColor\": \"<string>\",\n \"subtitleStyle.shadowWidth\": \"<string>\",\n \"subtitleStyle.keywordColor\": \"<string>\",\n \"subtitleStyle.position\": \"<string>\",\n \"subtitleStyle.alignment\": \"<string>\",\n \"subtitleStyle.decorations\": [\n {}\n ],\n \"subtitleStyle.case\": \"<string>\",\n \"subtitleStyle.paragraphWidth\": \"<string>\",\n \"subtitleStyle.animations\": [\n {}\n ],\n \"subtitleStyle.animations[].name\": \"<string>\",\n \"subtitleStyle.animations[].type\": \"<string>\",\n \"subtitleStyle.animations[].speed\": \"<string>\",\n \"subtitleStyle.animations[].customSpeedValue\": 123,\n \"subtitleStyle.animations[].direction\": \"<string>\",\n \"subtitleStyle.animations[].writingStyle\": \"<string>\",\n \"subtitleStyle.animations[].futureWords\": \"<string>\",\n \"destinations[].type\": \"<string>\",\n \"destinations[].folder_uri\": \"<string>\",\n \"destinations[].content_rating\": [\n {}\n ],\n \"destinations[].privacy\": {},\n \"destinations[].privacy.view\": \"<string>\",\n \"destinations[].privacy.embed\": \"<string>\",\n \"destinations[].privacy.comments\": \"<string>\",\n \"destinations[].privacy.add\": true,\n \"destinations[].privacy.download\": true,\n \"scenes[].story\": \"<string>\",\n \"scenes[].brief\": {},\n \"scenes[].blogUrl\": \"<string>\",\n \"scenes[].pptUrl\": \"<string>\",\n \"scenes[].audioUrl\": \"<string>\",\n \"scenes[].videoUrl\": \"<string>\",\n \"scenes[].createSceneOnNewLine\": true,\n \"scenes[].createSceneOnEndOfSentence\": true,\n \"scenes[].maxSubtitleLines\": 123,\n \"scenes[].highlightKeywords\": true,\n \"scenes[].hideSubtitles\": true,\n \"scenes[].minimumDuration\": 123,\n \"scenes[].endPauseDuration\": 123,\n \"scenes[].sceneTransition\": \"<string>\",\n \"scenes[].audioLanguage\": \"<string>\",\n \"scenes[].useSpeakerNotes\": true,\n \"scenes[].pptSlideAnimation\": {\n \"enabled\": true,\n \"model\": \"<string>\",\n \"slides\": [\n 123\n ]\n },\n \"scenes[].isSSMLStory\": true,\n \"scenes[].caption\": \"<string>\",\n \"scenes[].captionLanguage\": \"<string>\",\n \"scenes[].subtitleStyleId\": \"<string>\",\n \"scenes[].subtitleStyleName\": \"<string>\",\n \"scenes[].subtitleStyle\": {},\n \"scenes[].voiceOver\": {},\n \"scenes[].backgroundMusic\": {},\n \"scenes[].avatar\": {},\n \"scenes[].background\": {},\n \"scenes[].backgroundBrolls\": [\n {}\n ],\n \"scenes[].backgroundCorpus\": [\n {}\n ],\n \"scenes[].transcript\": [\n {}\n ],\n \"scenes[].mediaRepurposeSettings\": {},\n \"scenes[].templateOverride\": {},\n \"scenes[].elements\": [\n {}\n ],\n \"scenes[].brief.prompt\": \"<string>\",\n \"scenes[].brief.videoGoal\": \"<string>\",\n \"scenes[].brief.duration\": 123,\n \"scenes[].brief.platform\": \"<string>\",\n \"scenes[].brief.tone\": \"<string>\",\n \"scenes[].voiceOver.enabled\": true,\n \"scenes[].voiceOver.aiVoices\": [\n {}\n ],\n \"scenes[].voiceOver.externalVoice\": {},\n \"scenes[].backgroundMusic.enabled\": true,\n \"scenes[].avatar.position\": \"<string>\",\n \"scenes[].avatar.top\": \"<string>\",\n \"scenes[].avatar.left\": \"<string>\",\n \"scenes[].avatar.width\": \"<string>\",\n \"scenes[].avatar.borderRadius\": \"<string>\",\n \"scenes[].avatar.borderColor\": \"<string>\",\n \"scenes[].avatar.borderThickness\": 123,\n \"scenes[].avatar.backgroundColor\": \"<string>\",\n \"scenes[].avatar.hide\": true,\n \"scenes[].background.visualUrl\": \"<string>\",\n \"scenes[].background.color\": \"<string>\",\n \"scenes[].background.aiVisual\": {},\n \"scenes[].background.type\": \"<string>\",\n \"scenes[].background.searchFilter\": {},\n \"scenes[].background.clips\": [\n {}\n ],\n \"scenes[].background.settings\": {},\n \"scenes[].background.colorOverlay\": {},\n \"scenes[].background.aiVisual.prompt\": \"<string>\",\n \"scenes[].background.aiVisual.model\": \"<string>\",\n \"scenes[].background.aiVisual.mediaStyle\": \"<string>\",\n \"scenes[].background.aiVisual.videoDuration\": \"<string>\",\n \"scenes[].background.aiVisual.visualContinuity\": true,\n \"scenes[].background.aiVisual.firstFrameImageUrl\": \"<string>\",\n \"scenes[].background.aiVisual.referenceImageUrl\": \"<string>\",\n \"scenes[].background.aiVisual.referenceImageUrls\": [\n \"<string>\"\n ],\n \"scenes[].background.searchFilter.category\": \"<string>\",\n \"scenes[].background.searchFilter.query\": \"<string>\",\n \"scenes[].background.searchFilter.keywords\": [\n {}\n ],\n \"scenes[].background.searchFilter.libraries\": [\n {}\n ],\n \"scenes[].background.settings.mute\": true,\n \"scenes[].background.settings.loop\": true,\n \"scenes[].background.settings.zoomAndPan\": true,\n \"scenes[].background.settings.kenBurnsEffect\": true,\n \"scenes[].background.colorOverlay.color\": \"<string>\",\n \"scenes[].background.colorOverlay.opacity\": 123,\n \"scenes[].backgroundBrolls[].brollClip\": {},\n \"scenes[].backgroundCorpus[].visualUrl\": \"<string>\",\n \"scenes[].backgroundCorpus[].type\": \"<string>\",\n \"scenes[].backgroundCorpus[].prefer\": true,\n \"scenes[].elements[].type\": \"<string>\",\n \"scenes[].elements[].name\": \"<string>\",\n \"scenes[].elements[].fill\": \"<string>\",\n \"scenes[].elements[].stroke\": \"<string>\",\n \"scenes[].elements[].strokeWidth\": 123,\n \"scenes[].elements[].borderRadius\": 123,\n \"scenes[].elements[].height\": \"<string>\",\n \"scenes[].elements[].text\": \"<string>\",\n \"scenes[].elements[].textVariant\": \"<string>\",\n \"scenes[].elements[].style\": {},\n \"scenes[].elements[].styleId\": \"<string>\",\n \"scenes[].elements[].styleName\": \"<string>\",\n \"scenes[].elements[].visualUrl\": \"<string>\",\n \"scenes[].elements[].searchFilter\": {},\n \"scenes[].elements[].aiVisual\": {},\n \"scenes[].elements[].settings\": {},\n \"scenes[].elements[].colorOverlay\": {},\n \"scenes[].elements[].position\": \"<string>\",\n \"scenes[].elements[].top\": \"<string>\",\n \"scenes[].elements[].left\": \"<string>\",\n \"scenes[].elements[].width\": \"<string>\",\n \"scenes[].transcript[].speakerId\": 123,\n \"scenes[].transcript[].words\": [\n {}\n ],\n \"scenes[].transcript[].words[].word\": \"<string>\",\n \"scenes[].transcript[].words[].start_time\": 123,\n \"scenes[].transcript[].words[].end_time\": 123,\n \"scenes[].transcript[].words[].is_pause\": true,\n \"scenes[].transcript[].words[].is_filler\": true,\n \"scenes[].transcript[].words[].speakerId\": 123,\n \"scenes[].mediaRepurposeSettings.highlightLength\": 123,\n \"scenes[].mediaRepurposeSettings.removeFillerWords\": true,\n \"scenes[].mediaRepurposeSettings.removeSilences\": true,\n \"scenes[].mediaRepurposeSettings.silenceThresholdSeconds\": 123,\n \"scenes[].templateOverride.sceneId\": \"<string>\",\n \"scenes[].templateOverride.scenePosition\": 123,\n \"scenes[].templateOverride.newScenePosition\": 123,\n \"scenes[].templateOverride.insertAfterSceneId\": \"<string>\",\n \"scenes[].templateOverride.insertBeforeSceneId\": \"<string>\",\n \"scenes[].templateOverride.replaceSceneId\": \"<string>\",\n \"scenes[].templateOverride.replaceScenePosition\": 123,\n \"scenes[].templateOverride.baseSceneId\": \"<string>\",\n \"scenes[].templateOverride.baseScenePosition\": 123,\n \"scenes[].templateOverride.deleteScene\": true,\n \"scenes[].templateOverride.copyScene\": true,\n \"scenes[].templateOverride.subtitles\": [\n {}\n ],\n \"scenes[].templateOverride.layers\": [\n {}\n ],\n \"scenes[].templateOverride.subtitles[].text\": \"<string>\",\n \"scenes[].templateOverride.subtitles[].minimumDuration\": 123,\n \"scenes[].templateOverride.subtitles[].styleId\": \"<string>\",\n \"scenes[].templateOverride.subtitles[].styleName\": \"<string>\",\n \"scenes[].templateOverride.subtitles[].style\": {},\n \"scenes[].templateOverride.layers[][].layerId\": \"<string>\",\n \"scenes[].templateOverride.layers[][].type\": \"<string>\",\n \"scenes[].templateOverride.layers[][].text\": \"<string>\",\n \"scenes[].templateOverride.layers[][].url\": \"<string>\",\n \"scenes[].templateOverride.layers[][].styleId\": \"<string>\",\n \"scenes[].templateOverride.layers[][].styleName\": \"<string>\",\n \"scenes[].templateOverride.layers[][].style\": {},\n \"scenes[].templateOverride.layers[][].deleteLayer\": true\n}")
req, _ := http.NewRequest("POST", url, payload)
req.Header.Add("Authorization", "<authorization>")
req.Header.Add("Content-Type", "<content-type>")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}HttpResponse<String> response = Unirest.post("https://api.pictory.ai/pictoryapis/v2/video/storyboard")
.header("Authorization", "<authorization>")
.header("Content-Type", "<content-type>")
.body("{\n \"videoName\": \"<string>\",\n \"videoWidth\": 123,\n \"videoHeight\": 123,\n \"aspectRatio\": \"<string>\",\n \"language\": \"<string>\",\n \"saveProject\": true,\n \"webhook\": \"<string>\",\n \"webhookInput\": {},\n \"templateId\": \"<string>\",\n \"variables\": {},\n \"brandId\": \"<string>\",\n \"brandName\": \"<string>\",\n \"smartLayoutName\": \"<string>\",\n \"smartLayoutId\": \"<string>\",\n \"aiStoryboard\": {},\n \"storyboardVersion\": \"<string>\",\n \"subtitleStyleId\": \"<string>\",\n \"subtitleStyleName\": \"<string>\",\n \"subtitleStyle\": {},\n \"awsConnectionId\": \"<string>\",\n \"vimeoConnectionId\": \"<string>\",\n \"destinations\": [\n {}\n ],\n \"voiceOver\": {},\n \"backgroundMusic\": {},\n \"logo\": {},\n \"scenes\": [\n {}\n ],\n \"avatar\": {},\n \"aiStoryboard.enabled\": true,\n \"voiceOver.enabled\": true,\n \"voiceOver.aiVoices\": [\n {}\n ],\n \"voiceOver.externalVoice\": {},\n \"voiceOver.aiVoices[].speaker\": \"<string>\",\n \"voiceOver.aiVoices[].speed\": 123,\n \"voiceOver.aiVoices[].amplificationLevel\": 123,\n \"voiceOver.aiVoices[].premiumVoiceSettings\": {},\n \"voiceOver.aiVoices[].premiumVoiceSettings.modelId\": \"<string>\",\n \"voiceOver.aiVoices[].premiumVoiceSettings.stability\": \"<string>\",\n \"voiceOver.aiVoices[].premiumVoiceSettings.useSpeakerBoost\": true,\n \"voiceOver.aiVoices[].premiumVoiceSettings.similarityBoost\": \"<string>\",\n \"voiceOver.aiVoices[].premiumVoiceSettings.style\": \"<string>\",\n \"voiceOver.externalVoice.voiceUrl\": \"<string>\",\n \"voiceOver.externalVoice.syncVoice\": true,\n \"voiceOver.externalVoice.amplificationLevel\": 123,\n \"avatar.avatarId\": \"<string>\",\n \"avatar.position\": \"<string>\",\n \"avatar.width\": \"<string>\",\n \"avatar.borderRadius\": \"<string>\",\n \"avatar.borderColor\": \"<string>\",\n \"avatar.borderThickness\": 123,\n \"avatar.backgroundColor\": \"<string>\",\n \"avatar.hide\": true,\n \"backgroundMusic.enabled\": true,\n \"backgroundMusic.autoMusic\": true,\n \"backgroundMusic.musicUrl\": \"<string>\",\n \"backgroundMusic.volume\": 123,\n \"backgroundMusic.clips\": [\n {}\n ],\n \"logo.url\": \"<string>\",\n \"logo.position\": \"<string>\",\n \"logo.width\": \"<string>\",\n \"subtitleStyle.fontUrl\": \"<string>\",\n \"subtitleStyle.fontFamily\": \"<string>\",\n \"subtitleStyle.fontSize\": 123,\n \"subtitleStyle.color\": \"<string>\",\n \"subtitleStyle.backgroundColor\": \"<string>\",\n \"subtitleStyle.shadowColor\": \"<string>\",\n \"subtitleStyle.shadowWidth\": \"<string>\",\n \"subtitleStyle.keywordColor\": \"<string>\",\n \"subtitleStyle.position\": \"<string>\",\n \"subtitleStyle.alignment\": \"<string>\",\n \"subtitleStyle.decorations\": [\n {}\n ],\n \"subtitleStyle.case\": \"<string>\",\n \"subtitleStyle.paragraphWidth\": \"<string>\",\n \"subtitleStyle.animations\": [\n {}\n ],\n \"subtitleStyle.animations[].name\": \"<string>\",\n \"subtitleStyle.animations[].type\": \"<string>\",\n \"subtitleStyle.animations[].speed\": \"<string>\",\n \"subtitleStyle.animations[].customSpeedValue\": 123,\n \"subtitleStyle.animations[].direction\": \"<string>\",\n \"subtitleStyle.animations[].writingStyle\": \"<string>\",\n \"subtitleStyle.animations[].futureWords\": \"<string>\",\n \"destinations[].type\": \"<string>\",\n \"destinations[].folder_uri\": \"<string>\",\n \"destinations[].content_rating\": [\n {}\n ],\n \"destinations[].privacy\": {},\n \"destinations[].privacy.view\": \"<string>\",\n \"destinations[].privacy.embed\": \"<string>\",\n \"destinations[].privacy.comments\": \"<string>\",\n \"destinations[].privacy.add\": true,\n \"destinations[].privacy.download\": true,\n \"scenes[].story\": \"<string>\",\n \"scenes[].brief\": {},\n \"scenes[].blogUrl\": \"<string>\",\n \"scenes[].pptUrl\": \"<string>\",\n \"scenes[].audioUrl\": \"<string>\",\n \"scenes[].videoUrl\": \"<string>\",\n \"scenes[].createSceneOnNewLine\": true,\n \"scenes[].createSceneOnEndOfSentence\": true,\n \"scenes[].maxSubtitleLines\": 123,\n \"scenes[].highlightKeywords\": true,\n \"scenes[].hideSubtitles\": true,\n \"scenes[].minimumDuration\": 123,\n \"scenes[].endPauseDuration\": 123,\n \"scenes[].sceneTransition\": \"<string>\",\n \"scenes[].audioLanguage\": \"<string>\",\n \"scenes[].useSpeakerNotes\": true,\n \"scenes[].pptSlideAnimation\": {\n \"enabled\": true,\n \"model\": \"<string>\",\n \"slides\": [\n 123\n ]\n },\n \"scenes[].isSSMLStory\": true,\n \"scenes[].caption\": \"<string>\",\n \"scenes[].captionLanguage\": \"<string>\",\n \"scenes[].subtitleStyleId\": \"<string>\",\n \"scenes[].subtitleStyleName\": \"<string>\",\n \"scenes[].subtitleStyle\": {},\n \"scenes[].voiceOver\": {},\n \"scenes[].backgroundMusic\": {},\n \"scenes[].avatar\": {},\n \"scenes[].background\": {},\n \"scenes[].backgroundBrolls\": [\n {}\n ],\n \"scenes[].backgroundCorpus\": [\n {}\n ],\n \"scenes[].transcript\": [\n {}\n ],\n \"scenes[].mediaRepurposeSettings\": {},\n \"scenes[].templateOverride\": {},\n \"scenes[].elements\": [\n {}\n ],\n \"scenes[].brief.prompt\": \"<string>\",\n \"scenes[].brief.videoGoal\": \"<string>\",\n \"scenes[].brief.duration\": 123,\n \"scenes[].brief.platform\": \"<string>\",\n \"scenes[].brief.tone\": \"<string>\",\n \"scenes[].voiceOver.enabled\": true,\n \"scenes[].voiceOver.aiVoices\": [\n {}\n ],\n \"scenes[].voiceOver.externalVoice\": {},\n \"scenes[].backgroundMusic.enabled\": true,\n \"scenes[].avatar.position\": \"<string>\",\n \"scenes[].avatar.top\": \"<string>\",\n \"scenes[].avatar.left\": \"<string>\",\n \"scenes[].avatar.width\": \"<string>\",\n \"scenes[].avatar.borderRadius\": \"<string>\",\n \"scenes[].avatar.borderColor\": \"<string>\",\n \"scenes[].avatar.borderThickness\": 123,\n \"scenes[].avatar.backgroundColor\": \"<string>\",\n \"scenes[].avatar.hide\": true,\n \"scenes[].background.visualUrl\": \"<string>\",\n \"scenes[].background.color\": \"<string>\",\n \"scenes[].background.aiVisual\": {},\n \"scenes[].background.type\": \"<string>\",\n \"scenes[].background.searchFilter\": {},\n \"scenes[].background.clips\": [\n {}\n ],\n \"scenes[].background.settings\": {},\n \"scenes[].background.colorOverlay\": {},\n \"scenes[].background.aiVisual.prompt\": \"<string>\",\n \"scenes[].background.aiVisual.model\": \"<string>\",\n \"scenes[].background.aiVisual.mediaStyle\": \"<string>\",\n \"scenes[].background.aiVisual.videoDuration\": \"<string>\",\n \"scenes[].background.aiVisual.visualContinuity\": true,\n \"scenes[].background.aiVisual.firstFrameImageUrl\": \"<string>\",\n \"scenes[].background.aiVisual.referenceImageUrl\": \"<string>\",\n \"scenes[].background.aiVisual.referenceImageUrls\": [\n \"<string>\"\n ],\n \"scenes[].background.searchFilter.category\": \"<string>\",\n \"scenes[].background.searchFilter.query\": \"<string>\",\n \"scenes[].background.searchFilter.keywords\": [\n {}\n ],\n \"scenes[].background.searchFilter.libraries\": [\n {}\n ],\n \"scenes[].background.settings.mute\": true,\n \"scenes[].background.settings.loop\": true,\n \"scenes[].background.settings.zoomAndPan\": true,\n \"scenes[].background.settings.kenBurnsEffect\": true,\n \"scenes[].background.colorOverlay.color\": \"<string>\",\n \"scenes[].background.colorOverlay.opacity\": 123,\n \"scenes[].backgroundBrolls[].brollClip\": {},\n \"scenes[].backgroundCorpus[].visualUrl\": \"<string>\",\n \"scenes[].backgroundCorpus[].type\": \"<string>\",\n \"scenes[].backgroundCorpus[].prefer\": true,\n \"scenes[].elements[].type\": \"<string>\",\n \"scenes[].elements[].name\": \"<string>\",\n \"scenes[].elements[].fill\": \"<string>\",\n \"scenes[].elements[].stroke\": \"<string>\",\n \"scenes[].elements[].strokeWidth\": 123,\n \"scenes[].elements[].borderRadius\": 123,\n \"scenes[].elements[].height\": \"<string>\",\n \"scenes[].elements[].text\": \"<string>\",\n \"scenes[].elements[].textVariant\": \"<string>\",\n \"scenes[].elements[].style\": {},\n \"scenes[].elements[].styleId\": \"<string>\",\n \"scenes[].elements[].styleName\": \"<string>\",\n \"scenes[].elements[].visualUrl\": \"<string>\",\n \"scenes[].elements[].searchFilter\": {},\n \"scenes[].elements[].aiVisual\": {},\n \"scenes[].elements[].settings\": {},\n \"scenes[].elements[].colorOverlay\": {},\n \"scenes[].elements[].position\": \"<string>\",\n \"scenes[].elements[].top\": \"<string>\",\n \"scenes[].elements[].left\": \"<string>\",\n \"scenes[].elements[].width\": \"<string>\",\n \"scenes[].transcript[].speakerId\": 123,\n \"scenes[].transcript[].words\": [\n {}\n ],\n \"scenes[].transcript[].words[].word\": \"<string>\",\n \"scenes[].transcript[].words[].start_time\": 123,\n \"scenes[].transcript[].words[].end_time\": 123,\n \"scenes[].transcript[].words[].is_pause\": true,\n \"scenes[].transcript[].words[].is_filler\": true,\n \"scenes[].transcript[].words[].speakerId\": 123,\n \"scenes[].mediaRepurposeSettings.highlightLength\": 123,\n \"scenes[].mediaRepurposeSettings.removeFillerWords\": true,\n \"scenes[].mediaRepurposeSettings.removeSilences\": true,\n \"scenes[].mediaRepurposeSettings.silenceThresholdSeconds\": 123,\n \"scenes[].templateOverride.sceneId\": \"<string>\",\n \"scenes[].templateOverride.scenePosition\": 123,\n \"scenes[].templateOverride.newScenePosition\": 123,\n \"scenes[].templateOverride.insertAfterSceneId\": \"<string>\",\n \"scenes[].templateOverride.insertBeforeSceneId\": \"<string>\",\n \"scenes[].templateOverride.replaceSceneId\": \"<string>\",\n \"scenes[].templateOverride.replaceScenePosition\": 123,\n \"scenes[].templateOverride.baseSceneId\": \"<string>\",\n \"scenes[].templateOverride.baseScenePosition\": 123,\n \"scenes[].templateOverride.deleteScene\": true,\n \"scenes[].templateOverride.copyScene\": true,\n \"scenes[].templateOverride.subtitles\": [\n {}\n ],\n \"scenes[].templateOverride.layers\": [\n {}\n ],\n \"scenes[].templateOverride.subtitles[].text\": \"<string>\",\n \"scenes[].templateOverride.subtitles[].minimumDuration\": 123,\n \"scenes[].templateOverride.subtitles[].styleId\": \"<string>\",\n \"scenes[].templateOverride.subtitles[].styleName\": \"<string>\",\n \"scenes[].templateOverride.subtitles[].style\": {},\n \"scenes[].templateOverride.layers[][].layerId\": \"<string>\",\n \"scenes[].templateOverride.layers[][].type\": \"<string>\",\n \"scenes[].templateOverride.layers[][].text\": \"<string>\",\n \"scenes[].templateOverride.layers[][].url\": \"<string>\",\n \"scenes[].templateOverride.layers[][].styleId\": \"<string>\",\n \"scenes[].templateOverride.layers[][].styleName\": \"<string>\",\n \"scenes[].templateOverride.layers[][].style\": {},\n \"scenes[].templateOverride.layers[][].deleteLayer\": true\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.pictory.ai/pictoryapis/v2/video/storyboard")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Post.new(url)
request["Authorization"] = '<authorization>'
request["Content-Type"] = '<content-type>'
request.body = "{\n \"videoName\": \"<string>\",\n \"videoWidth\": 123,\n \"videoHeight\": 123,\n \"aspectRatio\": \"<string>\",\n \"language\": \"<string>\",\n \"saveProject\": true,\n \"webhook\": \"<string>\",\n \"webhookInput\": {},\n \"templateId\": \"<string>\",\n \"variables\": {},\n \"brandId\": \"<string>\",\n \"brandName\": \"<string>\",\n \"smartLayoutName\": \"<string>\",\n \"smartLayoutId\": \"<string>\",\n \"aiStoryboard\": {},\n \"storyboardVersion\": \"<string>\",\n \"subtitleStyleId\": \"<string>\",\n \"subtitleStyleName\": \"<string>\",\n \"subtitleStyle\": {},\n \"awsConnectionId\": \"<string>\",\n \"vimeoConnectionId\": \"<string>\",\n \"destinations\": [\n {}\n ],\n \"voiceOver\": {},\n \"backgroundMusic\": {},\n \"logo\": {},\n \"scenes\": [\n {}\n ],\n \"avatar\": {},\n \"aiStoryboard.enabled\": true,\n \"voiceOver.enabled\": true,\n \"voiceOver.aiVoices\": [\n {}\n ],\n \"voiceOver.externalVoice\": {},\n \"voiceOver.aiVoices[].speaker\": \"<string>\",\n \"voiceOver.aiVoices[].speed\": 123,\n \"voiceOver.aiVoices[].amplificationLevel\": 123,\n \"voiceOver.aiVoices[].premiumVoiceSettings\": {},\n \"voiceOver.aiVoices[].premiumVoiceSettings.modelId\": \"<string>\",\n \"voiceOver.aiVoices[].premiumVoiceSettings.stability\": \"<string>\",\n \"voiceOver.aiVoices[].premiumVoiceSettings.useSpeakerBoost\": true,\n \"voiceOver.aiVoices[].premiumVoiceSettings.similarityBoost\": \"<string>\",\n \"voiceOver.aiVoices[].premiumVoiceSettings.style\": \"<string>\",\n \"voiceOver.externalVoice.voiceUrl\": \"<string>\",\n \"voiceOver.externalVoice.syncVoice\": true,\n \"voiceOver.externalVoice.amplificationLevel\": 123,\n \"avatar.avatarId\": \"<string>\",\n \"avatar.position\": \"<string>\",\n \"avatar.width\": \"<string>\",\n \"avatar.borderRadius\": \"<string>\",\n \"avatar.borderColor\": \"<string>\",\n \"avatar.borderThickness\": 123,\n \"avatar.backgroundColor\": \"<string>\",\n \"avatar.hide\": true,\n \"backgroundMusic.enabled\": true,\n \"backgroundMusic.autoMusic\": true,\n \"backgroundMusic.musicUrl\": \"<string>\",\n \"backgroundMusic.volume\": 123,\n \"backgroundMusic.clips\": [\n {}\n ],\n \"logo.url\": \"<string>\",\n \"logo.position\": \"<string>\",\n \"logo.width\": \"<string>\",\n \"subtitleStyle.fontUrl\": \"<string>\",\n \"subtitleStyle.fontFamily\": \"<string>\",\n \"subtitleStyle.fontSize\": 123,\n \"subtitleStyle.color\": \"<string>\",\n \"subtitleStyle.backgroundColor\": \"<string>\",\n \"subtitleStyle.shadowColor\": \"<string>\",\n \"subtitleStyle.shadowWidth\": \"<string>\",\n \"subtitleStyle.keywordColor\": \"<string>\",\n \"subtitleStyle.position\": \"<string>\",\n \"subtitleStyle.alignment\": \"<string>\",\n \"subtitleStyle.decorations\": [\n {}\n ],\n \"subtitleStyle.case\": \"<string>\",\n \"subtitleStyle.paragraphWidth\": \"<string>\",\n \"subtitleStyle.animations\": [\n {}\n ],\n \"subtitleStyle.animations[].name\": \"<string>\",\n \"subtitleStyle.animations[].type\": \"<string>\",\n \"subtitleStyle.animations[].speed\": \"<string>\",\n \"subtitleStyle.animations[].customSpeedValue\": 123,\n \"subtitleStyle.animations[].direction\": \"<string>\",\n \"subtitleStyle.animations[].writingStyle\": \"<string>\",\n \"subtitleStyle.animations[].futureWords\": \"<string>\",\n \"destinations[].type\": \"<string>\",\n \"destinations[].folder_uri\": \"<string>\",\n \"destinations[].content_rating\": [\n {}\n ],\n \"destinations[].privacy\": {},\n \"destinations[].privacy.view\": \"<string>\",\n \"destinations[].privacy.embed\": \"<string>\",\n \"destinations[].privacy.comments\": \"<string>\",\n \"destinations[].privacy.add\": true,\n \"destinations[].privacy.download\": true,\n \"scenes[].story\": \"<string>\",\n \"scenes[].brief\": {},\n \"scenes[].blogUrl\": \"<string>\",\n \"scenes[].pptUrl\": \"<string>\",\n \"scenes[].audioUrl\": \"<string>\",\n \"scenes[].videoUrl\": \"<string>\",\n \"scenes[].createSceneOnNewLine\": true,\n \"scenes[].createSceneOnEndOfSentence\": true,\n \"scenes[].maxSubtitleLines\": 123,\n \"scenes[].highlightKeywords\": true,\n \"scenes[].hideSubtitles\": true,\n \"scenes[].minimumDuration\": 123,\n \"scenes[].endPauseDuration\": 123,\n \"scenes[].sceneTransition\": \"<string>\",\n \"scenes[].audioLanguage\": \"<string>\",\n \"scenes[].useSpeakerNotes\": true,\n \"scenes[].pptSlideAnimation\": {\n \"enabled\": true,\n \"model\": \"<string>\",\n \"slides\": [\n 123\n ]\n },\n \"scenes[].isSSMLStory\": true,\n \"scenes[].caption\": \"<string>\",\n \"scenes[].captionLanguage\": \"<string>\",\n \"scenes[].subtitleStyleId\": \"<string>\",\n \"scenes[].subtitleStyleName\": \"<string>\",\n \"scenes[].subtitleStyle\": {},\n \"scenes[].voiceOver\": {},\n \"scenes[].backgroundMusic\": {},\n \"scenes[].avatar\": {},\n \"scenes[].background\": {},\n \"scenes[].backgroundBrolls\": [\n {}\n ],\n \"scenes[].backgroundCorpus\": [\n {}\n ],\n \"scenes[].transcript\": [\n {}\n ],\n \"scenes[].mediaRepurposeSettings\": {},\n \"scenes[].templateOverride\": {},\n \"scenes[].elements\": [\n {}\n ],\n \"scenes[].brief.prompt\": \"<string>\",\n \"scenes[].brief.videoGoal\": \"<string>\",\n \"scenes[].brief.duration\": 123,\n \"scenes[].brief.platform\": \"<string>\",\n \"scenes[].brief.tone\": \"<string>\",\n \"scenes[].voiceOver.enabled\": true,\n \"scenes[].voiceOver.aiVoices\": [\n {}\n ],\n \"scenes[].voiceOver.externalVoice\": {},\n \"scenes[].backgroundMusic.enabled\": true,\n \"scenes[].avatar.position\": \"<string>\",\n \"scenes[].avatar.top\": \"<string>\",\n \"scenes[].avatar.left\": \"<string>\",\n \"scenes[].avatar.width\": \"<string>\",\n \"scenes[].avatar.borderRadius\": \"<string>\",\n \"scenes[].avatar.borderColor\": \"<string>\",\n \"scenes[].avatar.borderThickness\": 123,\n \"scenes[].avatar.backgroundColor\": \"<string>\",\n \"scenes[].avatar.hide\": true,\n \"scenes[].background.visualUrl\": \"<string>\",\n \"scenes[].background.color\": \"<string>\",\n \"scenes[].background.aiVisual\": {},\n \"scenes[].background.type\": \"<string>\",\n \"scenes[].background.searchFilter\": {},\n \"scenes[].background.clips\": [\n {}\n ],\n \"scenes[].background.settings\": {},\n \"scenes[].background.colorOverlay\": {},\n \"scenes[].background.aiVisual.prompt\": \"<string>\",\n \"scenes[].background.aiVisual.model\": \"<string>\",\n \"scenes[].background.aiVisual.mediaStyle\": \"<string>\",\n \"scenes[].background.aiVisual.videoDuration\": \"<string>\",\n \"scenes[].background.aiVisual.visualContinuity\": true,\n \"scenes[].background.aiVisual.firstFrameImageUrl\": \"<string>\",\n \"scenes[].background.aiVisual.referenceImageUrl\": \"<string>\",\n \"scenes[].background.aiVisual.referenceImageUrls\": [\n \"<string>\"\n ],\n \"scenes[].background.searchFilter.category\": \"<string>\",\n \"scenes[].background.searchFilter.query\": \"<string>\",\n \"scenes[].background.searchFilter.keywords\": [\n {}\n ],\n \"scenes[].background.searchFilter.libraries\": [\n {}\n ],\n \"scenes[].background.settings.mute\": true,\n \"scenes[].background.settings.loop\": true,\n \"scenes[].background.settings.zoomAndPan\": true,\n \"scenes[].background.settings.kenBurnsEffect\": true,\n \"scenes[].background.colorOverlay.color\": \"<string>\",\n \"scenes[].background.colorOverlay.opacity\": 123,\n \"scenes[].backgroundBrolls[].brollClip\": {},\n \"scenes[].backgroundCorpus[].visualUrl\": \"<string>\",\n \"scenes[].backgroundCorpus[].type\": \"<string>\",\n \"scenes[].backgroundCorpus[].prefer\": true,\n \"scenes[].elements[].type\": \"<string>\",\n \"scenes[].elements[].name\": \"<string>\",\n \"scenes[].elements[].fill\": \"<string>\",\n \"scenes[].elements[].stroke\": \"<string>\",\n \"scenes[].elements[].strokeWidth\": 123,\n \"scenes[].elements[].borderRadius\": 123,\n \"scenes[].elements[].height\": \"<string>\",\n \"scenes[].elements[].text\": \"<string>\",\n \"scenes[].elements[].textVariant\": \"<string>\",\n \"scenes[].elements[].style\": {},\n \"scenes[].elements[].styleId\": \"<string>\",\n \"scenes[].elements[].styleName\": \"<string>\",\n \"scenes[].elements[].visualUrl\": \"<string>\",\n \"scenes[].elements[].searchFilter\": {},\n \"scenes[].elements[].aiVisual\": {},\n \"scenes[].elements[].settings\": {},\n \"scenes[].elements[].colorOverlay\": {},\n \"scenes[].elements[].position\": \"<string>\",\n \"scenes[].elements[].top\": \"<string>\",\n \"scenes[].elements[].left\": \"<string>\",\n \"scenes[].elements[].width\": \"<string>\",\n \"scenes[].transcript[].speakerId\": 123,\n \"scenes[].transcript[].words\": [\n {}\n ],\n \"scenes[].transcript[].words[].word\": \"<string>\",\n \"scenes[].transcript[].words[].start_time\": 123,\n \"scenes[].transcript[].words[].end_time\": 123,\n \"scenes[].transcript[].words[].is_pause\": true,\n \"scenes[].transcript[].words[].is_filler\": true,\n \"scenes[].transcript[].words[].speakerId\": 123,\n \"scenes[].mediaRepurposeSettings.highlightLength\": 123,\n \"scenes[].mediaRepurposeSettings.removeFillerWords\": true,\n \"scenes[].mediaRepurposeSettings.removeSilences\": true,\n \"scenes[].mediaRepurposeSettings.silenceThresholdSeconds\": 123,\n \"scenes[].templateOverride.sceneId\": \"<string>\",\n \"scenes[].templateOverride.scenePosition\": 123,\n \"scenes[].templateOverride.newScenePosition\": 123,\n \"scenes[].templateOverride.insertAfterSceneId\": \"<string>\",\n \"scenes[].templateOverride.insertBeforeSceneId\": \"<string>\",\n \"scenes[].templateOverride.replaceSceneId\": \"<string>\",\n \"scenes[].templateOverride.replaceScenePosition\": 123,\n \"scenes[].templateOverride.baseSceneId\": \"<string>\",\n \"scenes[].templateOverride.baseScenePosition\": 123,\n \"scenes[].templateOverride.deleteScene\": true,\n \"scenes[].templateOverride.copyScene\": true,\n \"scenes[].templateOverride.subtitles\": [\n {}\n ],\n \"scenes[].templateOverride.layers\": [\n {}\n ],\n \"scenes[].templateOverride.subtitles[].text\": \"<string>\",\n \"scenes[].templateOverride.subtitles[].minimumDuration\": 123,\n \"scenes[].templateOverride.subtitles[].styleId\": \"<string>\",\n \"scenes[].templateOverride.subtitles[].styleName\": \"<string>\",\n \"scenes[].templateOverride.subtitles[].style\": {},\n \"scenes[].templateOverride.layers[][].layerId\": \"<string>\",\n \"scenes[].templateOverride.layers[][].type\": \"<string>\",\n \"scenes[].templateOverride.layers[][].text\": \"<string>\",\n \"scenes[].templateOverride.layers[][].url\": \"<string>\",\n \"scenes[].templateOverride.layers[][].styleId\": \"<string>\",\n \"scenes[].templateOverride.layers[][].styleName\": \"<string>\",\n \"scenes[].templateOverride.layers[][].style\": {},\n \"scenes[].templateOverride.layers[][].deleteLayer\": true\n}"
response = http.request(request)
puts response.read_body{
"success": true,
"data": {
"jobId": "a1d36612-326d-4b81-aece-411f8aed4c70"
}
}
{
"code": "INVALID_REQUEST_BODY",
"message": "Request body validation failed.",
"fields": [
{
"name": "scenes",
"errors": "scenes is required"
}
]
}
{
"message": "Unauthorized"
}
Videos
Create Storyboard Preview
Generate a video storyboard preview to review scenes, visuals, and settings before final rendering
POST
/
pictoryapis
/
v2
/
video
/
storyboard
Create Storyboard Preview
curl --request POST \
--url https://api.pictory.ai/pictoryapis/v2/video/storyboard \
--header 'Authorization: <authorization>' \
--header 'Content-Type: <content-type>' \
--data '
{
"videoName": "<string>",
"videoWidth": 123,
"videoHeight": 123,
"aspectRatio": "<string>",
"language": "<string>",
"saveProject": true,
"webhook": "<string>",
"webhookInput": {},
"templateId": "<string>",
"variables": {},
"brandId": "<string>",
"brandName": "<string>",
"smartLayoutName": "<string>",
"smartLayoutId": "<string>",
"aiStoryboard": {},
"storyboardVersion": "<string>",
"subtitleStyleId": "<string>",
"subtitleStyleName": "<string>",
"subtitleStyle": {},
"awsConnectionId": "<string>",
"vimeoConnectionId": "<string>",
"destinations": [
{}
],
"voiceOver": {},
"backgroundMusic": {},
"logo": {},
"scenes": [
{}
],
"avatar": {},
"aiStoryboard.enabled": true,
"voiceOver.enabled": true,
"voiceOver.aiVoices": [
{}
],
"voiceOver.externalVoice": {},
"voiceOver.aiVoices[].speaker": "<string>",
"voiceOver.aiVoices[].speed": 123,
"voiceOver.aiVoices[].amplificationLevel": 123,
"voiceOver.aiVoices[].premiumVoiceSettings": {},
"voiceOver.aiVoices[].premiumVoiceSettings.modelId": "<string>",
"voiceOver.aiVoices[].premiumVoiceSettings.stability": "<string>",
"voiceOver.aiVoices[].premiumVoiceSettings.useSpeakerBoost": true,
"voiceOver.aiVoices[].premiumVoiceSettings.similarityBoost": "<string>",
"voiceOver.aiVoices[].premiumVoiceSettings.style": "<string>",
"voiceOver.externalVoice.voiceUrl": "<string>",
"voiceOver.externalVoice.syncVoice": true,
"voiceOver.externalVoice.amplificationLevel": 123,
"avatar.avatarId": "<string>",
"avatar.position": "<string>",
"avatar.width": "<string>",
"avatar.borderRadius": "<string>",
"avatar.borderColor": "<string>",
"avatar.borderThickness": 123,
"avatar.backgroundColor": "<string>",
"avatar.hide": true,
"backgroundMusic.enabled": true,
"backgroundMusic.autoMusic": true,
"backgroundMusic.musicUrl": "<string>",
"backgroundMusic.volume": 123,
"backgroundMusic.clips": [
{}
],
"logo.url": "<string>",
"logo.position": "<string>",
"logo.width": "<string>",
"subtitleStyle.fontUrl": "<string>",
"subtitleStyle.fontFamily": "<string>",
"subtitleStyle.fontSize": 123,
"subtitleStyle.color": "<string>",
"subtitleStyle.backgroundColor": "<string>",
"subtitleStyle.shadowColor": "<string>",
"subtitleStyle.shadowWidth": "<string>",
"subtitleStyle.keywordColor": "<string>",
"subtitleStyle.position": "<string>",
"subtitleStyle.alignment": "<string>",
"subtitleStyle.decorations": [
{}
],
"subtitleStyle.case": "<string>",
"subtitleStyle.paragraphWidth": "<string>",
"subtitleStyle.animations": [
{}
],
"subtitleStyle.animations[].name": "<string>",
"subtitleStyle.animations[].type": "<string>",
"subtitleStyle.animations[].speed": "<string>",
"subtitleStyle.animations[].customSpeedValue": 123,
"subtitleStyle.animations[].direction": "<string>",
"subtitleStyle.animations[].writingStyle": "<string>",
"subtitleStyle.animations[].futureWords": "<string>",
"destinations[].type": "<string>",
"destinations[].folder_uri": "<string>",
"destinations[].content_rating": [
{}
],
"destinations[].privacy": {},
"destinations[].privacy.view": "<string>",
"destinations[].privacy.embed": "<string>",
"destinations[].privacy.comments": "<string>",
"destinations[].privacy.add": true,
"destinations[].privacy.download": true,
"scenes[].story": "<string>",
"scenes[].brief": {},
"scenes[].blogUrl": "<string>",
"scenes[].pptUrl": "<string>",
"scenes[].audioUrl": "<string>",
"scenes[].videoUrl": "<string>",
"scenes[].createSceneOnNewLine": true,
"scenes[].createSceneOnEndOfSentence": true,
"scenes[].maxSubtitleLines": 123,
"scenes[].highlightKeywords": true,
"scenes[].hideSubtitles": true,
"scenes[].minimumDuration": 123,
"scenes[].endPauseDuration": 123,
"scenes[].sceneTransition": "<string>",
"scenes[].audioLanguage": "<string>",
"scenes[].useSpeakerNotes": true,
"scenes[].pptSlideAnimation": {
"enabled": true,
"model": "<string>",
"slides": [
123
]
},
"scenes[].isSSMLStory": true,
"scenes[].caption": "<string>",
"scenes[].captionLanguage": "<string>",
"scenes[].subtitleStyleId": "<string>",
"scenes[].subtitleStyleName": "<string>",
"scenes[].subtitleStyle": {},
"scenes[].voiceOver": {},
"scenes[].backgroundMusic": {},
"scenes[].avatar": {},
"scenes[].background": {},
"scenes[].backgroundBrolls": [
{}
],
"scenes[].backgroundCorpus": [
{}
],
"scenes[].transcript": [
{}
],
"scenes[].mediaRepurposeSettings": {},
"scenes[].templateOverride": {},
"scenes[].elements": [
{}
],
"scenes[].brief.prompt": "<string>",
"scenes[].brief.videoGoal": "<string>",
"scenes[].brief.duration": 123,
"scenes[].brief.platform": "<string>",
"scenes[].brief.tone": "<string>",
"scenes[].voiceOver.enabled": true,
"scenes[].voiceOver.aiVoices": [
{}
],
"scenes[].voiceOver.externalVoice": {},
"scenes[].backgroundMusic.enabled": true,
"scenes[].avatar.position": "<string>",
"scenes[].avatar.top": "<string>",
"scenes[].avatar.left": "<string>",
"scenes[].avatar.width": "<string>",
"scenes[].avatar.borderRadius": "<string>",
"scenes[].avatar.borderColor": "<string>",
"scenes[].avatar.borderThickness": 123,
"scenes[].avatar.backgroundColor": "<string>",
"scenes[].avatar.hide": true,
"scenes[].background.visualUrl": "<string>",
"scenes[].background.color": "<string>",
"scenes[].background.aiVisual": {},
"scenes[].background.type": "<string>",
"scenes[].background.searchFilter": {},
"scenes[].background.clips": [
{}
],
"scenes[].background.settings": {},
"scenes[].background.colorOverlay": {},
"scenes[].background.aiVisual.prompt": "<string>",
"scenes[].background.aiVisual.model": "<string>",
"scenes[].background.aiVisual.mediaStyle": "<string>",
"scenes[].background.aiVisual.videoDuration": "<string>",
"scenes[].background.aiVisual.visualContinuity": true,
"scenes[].background.aiVisual.firstFrameImageUrl": "<string>",
"scenes[].background.aiVisual.referenceImageUrl": "<string>",
"scenes[].background.aiVisual.referenceImageUrls": [
"<string>"
],
"scenes[].background.searchFilter.category": "<string>",
"scenes[].background.searchFilter.query": "<string>",
"scenes[].background.searchFilter.keywords": [
{}
],
"scenes[].background.searchFilter.libraries": [
{}
],
"scenes[].background.settings.mute": true,
"scenes[].background.settings.loop": true,
"scenes[].background.settings.zoomAndPan": true,
"scenes[].background.settings.kenBurnsEffect": true,
"scenes[].background.colorOverlay.color": "<string>",
"scenes[].background.colorOverlay.opacity": 123,
"scenes[].backgroundBrolls[].brollClip": {},
"scenes[].backgroundCorpus[].visualUrl": "<string>",
"scenes[].backgroundCorpus[].type": "<string>",
"scenes[].backgroundCorpus[].prefer": true,
"scenes[].elements[].type": "<string>",
"scenes[].elements[].name": "<string>",
"scenes[].elements[].fill": "<string>",
"scenes[].elements[].stroke": "<string>",
"scenes[].elements[].strokeWidth": 123,
"scenes[].elements[].borderRadius": 123,
"scenes[].elements[].height": "<string>",
"scenes[].elements[].text": "<string>",
"scenes[].elements[].textVariant": "<string>",
"scenes[].elements[].style": {},
"scenes[].elements[].styleId": "<string>",
"scenes[].elements[].styleName": "<string>",
"scenes[].elements[].visualUrl": "<string>",
"scenes[].elements[].searchFilter": {},
"scenes[].elements[].aiVisual": {},
"scenes[].elements[].settings": {},
"scenes[].elements[].colorOverlay": {},
"scenes[].elements[].position": "<string>",
"scenes[].elements[].top": "<string>",
"scenes[].elements[].left": "<string>",
"scenes[].elements[].width": "<string>",
"scenes[].transcript[].speakerId": 123,
"scenes[].transcript[].words": [
{}
],
"scenes[].transcript[].words[].word": "<string>",
"scenes[].transcript[].words[].start_time": 123,
"scenes[].transcript[].words[].end_time": 123,
"scenes[].transcript[].words[].is_pause": true,
"scenes[].transcript[].words[].is_filler": true,
"scenes[].transcript[].words[].speakerId": 123,
"scenes[].mediaRepurposeSettings.highlightLength": 123,
"scenes[].mediaRepurposeSettings.removeFillerWords": true,
"scenes[].mediaRepurposeSettings.removeSilences": true,
"scenes[].mediaRepurposeSettings.silenceThresholdSeconds": 123,
"scenes[].templateOverride.sceneId": "<string>",
"scenes[].templateOverride.scenePosition": 123,
"scenes[].templateOverride.newScenePosition": 123,
"scenes[].templateOverride.insertAfterSceneId": "<string>",
"scenes[].templateOverride.insertBeforeSceneId": "<string>",
"scenes[].templateOverride.replaceSceneId": "<string>",
"scenes[].templateOverride.replaceScenePosition": 123,
"scenes[].templateOverride.baseSceneId": "<string>",
"scenes[].templateOverride.baseScenePosition": 123,
"scenes[].templateOverride.deleteScene": true,
"scenes[].templateOverride.copyScene": true,
"scenes[].templateOverride.subtitles": [
{}
],
"scenes[].templateOverride.layers": [
{}
],
"scenes[].templateOverride.subtitles[].text": "<string>",
"scenes[].templateOverride.subtitles[].minimumDuration": 123,
"scenes[].templateOverride.subtitles[].styleId": "<string>",
"scenes[].templateOverride.subtitles[].styleName": "<string>",
"scenes[].templateOverride.subtitles[].style": {},
"scenes[].templateOverride.layers[][].layerId": "<string>",
"scenes[].templateOverride.layers[][].type": "<string>",
"scenes[].templateOverride.layers[][].text": "<string>",
"scenes[].templateOverride.layers[][].url": "<string>",
"scenes[].templateOverride.layers[][].styleId": "<string>",
"scenes[].templateOverride.layers[][].styleName": "<string>",
"scenes[].templateOverride.layers[][].style": {},
"scenes[].templateOverride.layers[][].deleteLayer": true
}
'import requests
url = "https://api.pictory.ai/pictoryapis/v2/video/storyboard"
payload = {
"videoName": "<string>",
"videoWidth": 123,
"videoHeight": 123,
"aspectRatio": "<string>",
"language": "<string>",
"saveProject": True,
"webhook": "<string>",
"webhookInput": {},
"templateId": "<string>",
"variables": {},
"brandId": "<string>",
"brandName": "<string>",
"smartLayoutName": "<string>",
"smartLayoutId": "<string>",
"aiStoryboard": {},
"storyboardVersion": "<string>",
"subtitleStyleId": "<string>",
"subtitleStyleName": "<string>",
"subtitleStyle": {},
"awsConnectionId": "<string>",
"vimeoConnectionId": "<string>",
"destinations": [{}],
"voiceOver": {},
"backgroundMusic": {},
"logo": {},
"scenes": [{}],
"avatar": {},
"aiStoryboard.enabled": True,
"voiceOver.enabled": True,
"voiceOver.aiVoices": [{}],
"voiceOver.externalVoice": {},
"voiceOver.aiVoices[].speaker": "<string>",
"voiceOver.aiVoices[].speed": 123,
"voiceOver.aiVoices[].amplificationLevel": 123,
"voiceOver.aiVoices[].premiumVoiceSettings": {},
"voiceOver.aiVoices[].premiumVoiceSettings.modelId": "<string>",
"voiceOver.aiVoices[].premiumVoiceSettings.stability": "<string>",
"voiceOver.aiVoices[].premiumVoiceSettings.useSpeakerBoost": True,
"voiceOver.aiVoices[].premiumVoiceSettings.similarityBoost": "<string>",
"voiceOver.aiVoices[].premiumVoiceSettings.style": "<string>",
"voiceOver.externalVoice.voiceUrl": "<string>",
"voiceOver.externalVoice.syncVoice": True,
"voiceOver.externalVoice.amplificationLevel": 123,
"avatar.avatarId": "<string>",
"avatar.position": "<string>",
"avatar.width": "<string>",
"avatar.borderRadius": "<string>",
"avatar.borderColor": "<string>",
"avatar.borderThickness": 123,
"avatar.backgroundColor": "<string>",
"avatar.hide": True,
"backgroundMusic.enabled": True,
"backgroundMusic.autoMusic": True,
"backgroundMusic.musicUrl": "<string>",
"backgroundMusic.volume": 123,
"backgroundMusic.clips": [{}],
"logo.url": "<string>",
"logo.position": "<string>",
"logo.width": "<string>",
"subtitleStyle.fontUrl": "<string>",
"subtitleStyle.fontFamily": "<string>",
"subtitleStyle.fontSize": 123,
"subtitleStyle.color": "<string>",
"subtitleStyle.backgroundColor": "<string>",
"subtitleStyle.shadowColor": "<string>",
"subtitleStyle.shadowWidth": "<string>",
"subtitleStyle.keywordColor": "<string>",
"subtitleStyle.position": "<string>",
"subtitleStyle.alignment": "<string>",
"subtitleStyle.decorations": [{}],
"subtitleStyle.case": "<string>",
"subtitleStyle.paragraphWidth": "<string>",
"subtitleStyle.animations": [{}],
"subtitleStyle.animations[].name": "<string>",
"subtitleStyle.animations[].type": "<string>",
"subtitleStyle.animations[].speed": "<string>",
"subtitleStyle.animations[].customSpeedValue": 123,
"subtitleStyle.animations[].direction": "<string>",
"subtitleStyle.animations[].writingStyle": "<string>",
"subtitleStyle.animations[].futureWords": "<string>",
"destinations[].type": "<string>",
"destinations[].folder_uri": "<string>",
"destinations[].content_rating": [{}],
"destinations[].privacy": {},
"destinations[].privacy.view": "<string>",
"destinations[].privacy.embed": "<string>",
"destinations[].privacy.comments": "<string>",
"destinations[].privacy.add": True,
"destinations[].privacy.download": True,
"scenes[].story": "<string>",
"scenes[].brief": {},
"scenes[].blogUrl": "<string>",
"scenes[].pptUrl": "<string>",
"scenes[].audioUrl": "<string>",
"scenes[].videoUrl": "<string>",
"scenes[].createSceneOnNewLine": True,
"scenes[].createSceneOnEndOfSentence": True,
"scenes[].maxSubtitleLines": 123,
"scenes[].highlightKeywords": True,
"scenes[].hideSubtitles": True,
"scenes[].minimumDuration": 123,
"scenes[].endPauseDuration": 123,
"scenes[].sceneTransition": "<string>",
"scenes[].audioLanguage": "<string>",
"scenes[].useSpeakerNotes": True,
"scenes[].pptSlideAnimation": {
"enabled": True,
"model": "<string>",
"slides": [123]
},
"scenes[].isSSMLStory": True,
"scenes[].caption": "<string>",
"scenes[].captionLanguage": "<string>",
"scenes[].subtitleStyleId": "<string>",
"scenes[].subtitleStyleName": "<string>",
"scenes[].subtitleStyle": {},
"scenes[].voiceOver": {},
"scenes[].backgroundMusic": {},
"scenes[].avatar": {},
"scenes[].background": {},
"scenes[].backgroundBrolls": [{}],
"scenes[].backgroundCorpus": [{}],
"scenes[].transcript": [{}],
"scenes[].mediaRepurposeSettings": {},
"scenes[].templateOverride": {},
"scenes[].elements": [{}],
"scenes[].brief.prompt": "<string>",
"scenes[].brief.videoGoal": "<string>",
"scenes[].brief.duration": 123,
"scenes[].brief.platform": "<string>",
"scenes[].brief.tone": "<string>",
"scenes[].voiceOver.enabled": True,
"scenes[].voiceOver.aiVoices": [{}],
"scenes[].voiceOver.externalVoice": {},
"scenes[].backgroundMusic.enabled": True,
"scenes[].avatar.position": "<string>",
"scenes[].avatar.top": "<string>",
"scenes[].avatar.left": "<string>",
"scenes[].avatar.width": "<string>",
"scenes[].avatar.borderRadius": "<string>",
"scenes[].avatar.borderColor": "<string>",
"scenes[].avatar.borderThickness": 123,
"scenes[].avatar.backgroundColor": "<string>",
"scenes[].avatar.hide": True,
"scenes[].background.visualUrl": "<string>",
"scenes[].background.color": "<string>",
"scenes[].background.aiVisual": {},
"scenes[].background.type": "<string>",
"scenes[].background.searchFilter": {},
"scenes[].background.clips": [{}],
"scenes[].background.settings": {},
"scenes[].background.colorOverlay": {},
"scenes[].background.aiVisual.prompt": "<string>",
"scenes[].background.aiVisual.model": "<string>",
"scenes[].background.aiVisual.mediaStyle": "<string>",
"scenes[].background.aiVisual.videoDuration": "<string>",
"scenes[].background.aiVisual.visualContinuity": True,
"scenes[].background.aiVisual.firstFrameImageUrl": "<string>",
"scenes[].background.aiVisual.referenceImageUrl": "<string>",
"scenes[].background.aiVisual.referenceImageUrls": ["<string>"],
"scenes[].background.searchFilter.category": "<string>",
"scenes[].background.searchFilter.query": "<string>",
"scenes[].background.searchFilter.keywords": [{}],
"scenes[].background.searchFilter.libraries": [{}],
"scenes[].background.settings.mute": True,
"scenes[].background.settings.loop": True,
"scenes[].background.settings.zoomAndPan": True,
"scenes[].background.settings.kenBurnsEffect": True,
"scenes[].background.colorOverlay.color": "<string>",
"scenes[].background.colorOverlay.opacity": 123,
"scenes[].backgroundBrolls[].brollClip": {},
"scenes[].backgroundCorpus[].visualUrl": "<string>",
"scenes[].backgroundCorpus[].type": "<string>",
"scenes[].backgroundCorpus[].prefer": True,
"scenes[].elements[].type": "<string>",
"scenes[].elements[].name": "<string>",
"scenes[].elements[].fill": "<string>",
"scenes[].elements[].stroke": "<string>",
"scenes[].elements[].strokeWidth": 123,
"scenes[].elements[].borderRadius": 123,
"scenes[].elements[].height": "<string>",
"scenes[].elements[].text": "<string>",
"scenes[].elements[].textVariant": "<string>",
"scenes[].elements[].style": {},
"scenes[].elements[].styleId": "<string>",
"scenes[].elements[].styleName": "<string>",
"scenes[].elements[].visualUrl": "<string>",
"scenes[].elements[].searchFilter": {},
"scenes[].elements[].aiVisual": {},
"scenes[].elements[].settings": {},
"scenes[].elements[].colorOverlay": {},
"scenes[].elements[].position": "<string>",
"scenes[].elements[].top": "<string>",
"scenes[].elements[].left": "<string>",
"scenes[].elements[].width": "<string>",
"scenes[].transcript[].speakerId": 123,
"scenes[].transcript[].words": [{}],
"scenes[].transcript[].words[].word": "<string>",
"scenes[].transcript[].words[].start_time": 123,
"scenes[].transcript[].words[].end_time": 123,
"scenes[].transcript[].words[].is_pause": True,
"scenes[].transcript[].words[].is_filler": True,
"scenes[].transcript[].words[].speakerId": 123,
"scenes[].mediaRepurposeSettings.highlightLength": 123,
"scenes[].mediaRepurposeSettings.removeFillerWords": True,
"scenes[].mediaRepurposeSettings.removeSilences": True,
"scenes[].mediaRepurposeSettings.silenceThresholdSeconds": 123,
"scenes[].templateOverride.sceneId": "<string>",
"scenes[].templateOverride.scenePosition": 123,
"scenes[].templateOverride.newScenePosition": 123,
"scenes[].templateOverride.insertAfterSceneId": "<string>",
"scenes[].templateOverride.insertBeforeSceneId": "<string>",
"scenes[].templateOverride.replaceSceneId": "<string>",
"scenes[].templateOverride.replaceScenePosition": 123,
"scenes[].templateOverride.baseSceneId": "<string>",
"scenes[].templateOverride.baseScenePosition": 123,
"scenes[].templateOverride.deleteScene": True,
"scenes[].templateOverride.copyScene": True,
"scenes[].templateOverride.subtitles": [{}],
"scenes[].templateOverride.layers": [{}],
"scenes[].templateOverride.subtitles[].text": "<string>",
"scenes[].templateOverride.subtitles[].minimumDuration": 123,
"scenes[].templateOverride.subtitles[].styleId": "<string>",
"scenes[].templateOverride.subtitles[].styleName": "<string>",
"scenes[].templateOverride.subtitles[].style": {},
"scenes[].templateOverride.layers[][].layerId": "<string>",
"scenes[].templateOverride.layers[][].type": "<string>",
"scenes[].templateOverride.layers[][].text": "<string>",
"scenes[].templateOverride.layers[][].url": "<string>",
"scenes[].templateOverride.layers[][].styleId": "<string>",
"scenes[].templateOverride.layers[][].styleName": "<string>",
"scenes[].templateOverride.layers[][].style": {},
"scenes[].templateOverride.layers[][].deleteLayer": True
}
headers = {
"Authorization": "<authorization>",
"Content-Type": "<content-type>"
}
response = requests.post(url, json=payload, headers=headers)
print(response.text)const options = {
method: 'POST',
headers: {Authorization: '<authorization>', 'Content-Type': '<content-type>'},
body: JSON.stringify({
videoName: '<string>',
videoWidth: 123,
videoHeight: 123,
aspectRatio: '<string>',
language: '<string>',
saveProject: true,
webhook: '<string>',
webhookInput: {},
templateId: '<string>',
variables: {},
brandId: '<string>',
brandName: '<string>',
smartLayoutName: '<string>',
smartLayoutId: '<string>',
aiStoryboard: {},
storyboardVersion: '<string>',
subtitleStyleId: '<string>',
subtitleStyleName: '<string>',
subtitleStyle: {},
awsConnectionId: '<string>',
vimeoConnectionId: '<string>',
destinations: [{}],
voiceOver: {},
backgroundMusic: {},
logo: {},
scenes: [{}],
avatar: {},
'aiStoryboard.enabled': true,
'voiceOver.enabled': true,
'voiceOver.aiVoices': [{}],
'voiceOver.externalVoice': {},
'voiceOver.aiVoices[].speaker': '<string>',
'voiceOver.aiVoices[].speed': 123,
'voiceOver.aiVoices[].amplificationLevel': 123,
'voiceOver.aiVoices[].premiumVoiceSettings': {},
'voiceOver.aiVoices[].premiumVoiceSettings.modelId': '<string>',
'voiceOver.aiVoices[].premiumVoiceSettings.stability': '<string>',
'voiceOver.aiVoices[].premiumVoiceSettings.useSpeakerBoost': true,
'voiceOver.aiVoices[].premiumVoiceSettings.similarityBoost': '<string>',
'voiceOver.aiVoices[].premiumVoiceSettings.style': '<string>',
'voiceOver.externalVoice.voiceUrl': '<string>',
'voiceOver.externalVoice.syncVoice': true,
'voiceOver.externalVoice.amplificationLevel': 123,
'avatar.avatarId': '<string>',
'avatar.position': '<string>',
'avatar.width': '<string>',
'avatar.borderRadius': '<string>',
'avatar.borderColor': '<string>',
'avatar.borderThickness': 123,
'avatar.backgroundColor': '<string>',
'avatar.hide': true,
'backgroundMusic.enabled': true,
'backgroundMusic.autoMusic': true,
'backgroundMusic.musicUrl': '<string>',
'backgroundMusic.volume': 123,
'backgroundMusic.clips': [{}],
'logo.url': '<string>',
'logo.position': '<string>',
'logo.width': '<string>',
'subtitleStyle.fontUrl': '<string>',
'subtitleStyle.fontFamily': '<string>',
'subtitleStyle.fontSize': 123,
'subtitleStyle.color': '<string>',
'subtitleStyle.backgroundColor': '<string>',
'subtitleStyle.shadowColor': '<string>',
'subtitleStyle.shadowWidth': '<string>',
'subtitleStyle.keywordColor': '<string>',
'subtitleStyle.position': '<string>',
'subtitleStyle.alignment': '<string>',
'subtitleStyle.decorations': [{}],
'subtitleStyle.case': '<string>',
'subtitleStyle.paragraphWidth': '<string>',
'subtitleStyle.animations': [{}],
'subtitleStyle.animations[].name': '<string>',
'subtitleStyle.animations[].type': '<string>',
'subtitleStyle.animations[].speed': '<string>',
'subtitleStyle.animations[].customSpeedValue': 123,
'subtitleStyle.animations[].direction': '<string>',
'subtitleStyle.animations[].writingStyle': '<string>',
'subtitleStyle.animations[].futureWords': '<string>',
'destinations[].type': '<string>',
'destinations[].folder_uri': '<string>',
'destinations[].content_rating': [{}],
'destinations[].privacy': {},
'destinations[].privacy.view': '<string>',
'destinations[].privacy.embed': '<string>',
'destinations[].privacy.comments': '<string>',
'destinations[].privacy.add': true,
'destinations[].privacy.download': true,
'scenes[].story': '<string>',
'scenes[].brief': {},
'scenes[].blogUrl': '<string>',
'scenes[].pptUrl': '<string>',
'scenes[].audioUrl': '<string>',
'scenes[].videoUrl': '<string>',
'scenes[].createSceneOnNewLine': true,
'scenes[].createSceneOnEndOfSentence': true,
'scenes[].maxSubtitleLines': 123,
'scenes[].highlightKeywords': true,
'scenes[].hideSubtitles': true,
'scenes[].minimumDuration': 123,
'scenes[].endPauseDuration': 123,
'scenes[].sceneTransition': '<string>',
'scenes[].audioLanguage': '<string>',
'scenes[].useSpeakerNotes': true,
'scenes[].pptSlideAnimation': {enabled: true, model: '<string>', slides: [123]},
'scenes[].isSSMLStory': true,
'scenes[].caption': '<string>',
'scenes[].captionLanguage': '<string>',
'scenes[].subtitleStyleId': '<string>',
'scenes[].subtitleStyleName': '<string>',
'scenes[].subtitleStyle': {},
'scenes[].voiceOver': {},
'scenes[].backgroundMusic': {},
'scenes[].avatar': {},
'scenes[].background': {},
'scenes[].backgroundBrolls': [{}],
'scenes[].backgroundCorpus': [{}],
'scenes[].transcript': [{}],
'scenes[].mediaRepurposeSettings': {},
'scenes[].templateOverride': {},
'scenes[].elements': [{}],
'scenes[].brief.prompt': '<string>',
'scenes[].brief.videoGoal': '<string>',
'scenes[].brief.duration': 123,
'scenes[].brief.platform': '<string>',
'scenes[].brief.tone': '<string>',
'scenes[].voiceOver.enabled': true,
'scenes[].voiceOver.aiVoices': [{}],
'scenes[].voiceOver.externalVoice': {},
'scenes[].backgroundMusic.enabled': true,
'scenes[].avatar.position': '<string>',
'scenes[].avatar.top': '<string>',
'scenes[].avatar.left': '<string>',
'scenes[].avatar.width': '<string>',
'scenes[].avatar.borderRadius': '<string>',
'scenes[].avatar.borderColor': '<string>',
'scenes[].avatar.borderThickness': 123,
'scenes[].avatar.backgroundColor': '<string>',
'scenes[].avatar.hide': true,
'scenes[].background.visualUrl': '<string>',
'scenes[].background.color': '<string>',
'scenes[].background.aiVisual': {},
'scenes[].background.type': '<string>',
'scenes[].background.searchFilter': {},
'scenes[].background.clips': [{}],
'scenes[].background.settings': {},
'scenes[].background.colorOverlay': {},
'scenes[].background.aiVisual.prompt': '<string>',
'scenes[].background.aiVisual.model': '<string>',
'scenes[].background.aiVisual.mediaStyle': '<string>',
'scenes[].background.aiVisual.videoDuration': '<string>',
'scenes[].background.aiVisual.visualContinuity': true,
'scenes[].background.aiVisual.firstFrameImageUrl': '<string>',
'scenes[].background.aiVisual.referenceImageUrl': '<string>',
'scenes[].background.aiVisual.referenceImageUrls': ['<string>'],
'scenes[].background.searchFilter.category': '<string>',
'scenes[].background.searchFilter.query': '<string>',
'scenes[].background.searchFilter.keywords': [{}],
'scenes[].background.searchFilter.libraries': [{}],
'scenes[].background.settings.mute': true,
'scenes[].background.settings.loop': true,
'scenes[].background.settings.zoomAndPan': true,
'scenes[].background.settings.kenBurnsEffect': true,
'scenes[].background.colorOverlay.color': '<string>',
'scenes[].background.colorOverlay.opacity': 123,
'scenes[].backgroundBrolls[].brollClip': {},
'scenes[].backgroundCorpus[].visualUrl': '<string>',
'scenes[].backgroundCorpus[].type': '<string>',
'scenes[].backgroundCorpus[].prefer': true,
'scenes[].elements[].type': '<string>',
'scenes[].elements[].name': '<string>',
'scenes[].elements[].fill': '<string>',
'scenes[].elements[].stroke': '<string>',
'scenes[].elements[].strokeWidth': 123,
'scenes[].elements[].borderRadius': 123,
'scenes[].elements[].height': '<string>',
'scenes[].elements[].text': '<string>',
'scenes[].elements[].textVariant': '<string>',
'scenes[].elements[].style': {},
'scenes[].elements[].styleId': '<string>',
'scenes[].elements[].styleName': '<string>',
'scenes[].elements[].visualUrl': '<string>',
'scenes[].elements[].searchFilter': {},
'scenes[].elements[].aiVisual': {},
'scenes[].elements[].settings': {},
'scenes[].elements[].colorOverlay': {},
'scenes[].elements[].position': '<string>',
'scenes[].elements[].top': '<string>',
'scenes[].elements[].left': '<string>',
'scenes[].elements[].width': '<string>',
'scenes[].transcript[].speakerId': 123,
'scenes[].transcript[].words': [{}],
'scenes[].transcript[].words[].word': '<string>',
'scenes[].transcript[].words[].start_time': 123,
'scenes[].transcript[].words[].end_time': 123,
'scenes[].transcript[].words[].is_pause': true,
'scenes[].transcript[].words[].is_filler': true,
'scenes[].transcript[].words[].speakerId': 123,
'scenes[].mediaRepurposeSettings.highlightLength': 123,
'scenes[].mediaRepurposeSettings.removeFillerWords': true,
'scenes[].mediaRepurposeSettings.removeSilences': true,
'scenes[].mediaRepurposeSettings.silenceThresholdSeconds': 123,
'scenes[].templateOverride.sceneId': '<string>',
'scenes[].templateOverride.scenePosition': 123,
'scenes[].templateOverride.newScenePosition': 123,
'scenes[].templateOverride.insertAfterSceneId': '<string>',
'scenes[].templateOverride.insertBeforeSceneId': '<string>',
'scenes[].templateOverride.replaceSceneId': '<string>',
'scenes[].templateOverride.replaceScenePosition': 123,
'scenes[].templateOverride.baseSceneId': '<string>',
'scenes[].templateOverride.baseScenePosition': 123,
'scenes[].templateOverride.deleteScene': true,
'scenes[].templateOverride.copyScene': true,
'scenes[].templateOverride.subtitles': [{}],
'scenes[].templateOverride.layers': [{}],
'scenes[].templateOverride.subtitles[].text': '<string>',
'scenes[].templateOverride.subtitles[].minimumDuration': 123,
'scenes[].templateOverride.subtitles[].styleId': '<string>',
'scenes[].templateOverride.subtitles[].styleName': '<string>',
'scenes[].templateOverride.subtitles[].style': {},
'scenes[].templateOverride.layers[][].layerId': '<string>',
'scenes[].templateOverride.layers[][].type': '<string>',
'scenes[].templateOverride.layers[][].text': '<string>',
'scenes[].templateOverride.layers[][].url': '<string>',
'scenes[].templateOverride.layers[][].styleId': '<string>',
'scenes[].templateOverride.layers[][].styleName': '<string>',
'scenes[].templateOverride.layers[][].style': {},
'scenes[].templateOverride.layers[][].deleteLayer': true
})
};
fetch('https://api.pictory.ai/pictoryapis/v2/video/storyboard', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));<?php
$curl = curl_init();
curl_setopt_array($curl, [
CURLOPT_URL => "https://api.pictory.ai/pictoryapis/v2/video/storyboard",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "POST",
CURLOPT_POSTFIELDS => json_encode([
'videoName' => '<string>',
'videoWidth' => 123,
'videoHeight' => 123,
'aspectRatio' => '<string>',
'language' => '<string>',
'saveProject' => true,
'webhook' => '<string>',
'webhookInput' => [
],
'templateId' => '<string>',
'variables' => [
],
'brandId' => '<string>',
'brandName' => '<string>',
'smartLayoutName' => '<string>',
'smartLayoutId' => '<string>',
'aiStoryboard' => [
],
'storyboardVersion' => '<string>',
'subtitleStyleId' => '<string>',
'subtitleStyleName' => '<string>',
'subtitleStyle' => [
],
'awsConnectionId' => '<string>',
'vimeoConnectionId' => '<string>',
'destinations' => [
[
]
],
'voiceOver' => [
],
'backgroundMusic' => [
],
'logo' => [
],
'scenes' => [
[
]
],
'avatar' => [
],
'aiStoryboard.enabled' => true,
'voiceOver.enabled' => true,
'voiceOver.aiVoices' => [
[
]
],
'voiceOver.externalVoice' => [
],
'voiceOver.aiVoices[].speaker' => '<string>',
'voiceOver.aiVoices[].speed' => 123,
'voiceOver.aiVoices[].amplificationLevel' => 123,
'voiceOver.aiVoices[].premiumVoiceSettings' => [
],
'voiceOver.aiVoices[].premiumVoiceSettings.modelId' => '<string>',
'voiceOver.aiVoices[].premiumVoiceSettings.stability' => '<string>',
'voiceOver.aiVoices[].premiumVoiceSettings.useSpeakerBoost' => true,
'voiceOver.aiVoices[].premiumVoiceSettings.similarityBoost' => '<string>',
'voiceOver.aiVoices[].premiumVoiceSettings.style' => '<string>',
'voiceOver.externalVoice.voiceUrl' => '<string>',
'voiceOver.externalVoice.syncVoice' => true,
'voiceOver.externalVoice.amplificationLevel' => 123,
'avatar.avatarId' => '<string>',
'avatar.position' => '<string>',
'avatar.width' => '<string>',
'avatar.borderRadius' => '<string>',
'avatar.borderColor' => '<string>',
'avatar.borderThickness' => 123,
'avatar.backgroundColor' => '<string>',
'avatar.hide' => true,
'backgroundMusic.enabled' => true,
'backgroundMusic.autoMusic' => true,
'backgroundMusic.musicUrl' => '<string>',
'backgroundMusic.volume' => 123,
'backgroundMusic.clips' => [
[
]
],
'logo.url' => '<string>',
'logo.position' => '<string>',
'logo.width' => '<string>',
'subtitleStyle.fontUrl' => '<string>',
'subtitleStyle.fontFamily' => '<string>',
'subtitleStyle.fontSize' => 123,
'subtitleStyle.color' => '<string>',
'subtitleStyle.backgroundColor' => '<string>',
'subtitleStyle.shadowColor' => '<string>',
'subtitleStyle.shadowWidth' => '<string>',
'subtitleStyle.keywordColor' => '<string>',
'subtitleStyle.position' => '<string>',
'subtitleStyle.alignment' => '<string>',
'subtitleStyle.decorations' => [
[
]
],
'subtitleStyle.case' => '<string>',
'subtitleStyle.paragraphWidth' => '<string>',
'subtitleStyle.animations' => [
[
]
],
'subtitleStyle.animations[].name' => '<string>',
'subtitleStyle.animations[].type' => '<string>',
'subtitleStyle.animations[].speed' => '<string>',
'subtitleStyle.animations[].customSpeedValue' => 123,
'subtitleStyle.animations[].direction' => '<string>',
'subtitleStyle.animations[].writingStyle' => '<string>',
'subtitleStyle.animations[].futureWords' => '<string>',
'destinations[].type' => '<string>',
'destinations[].folder_uri' => '<string>',
'destinations[].content_rating' => [
[
]
],
'destinations[].privacy' => [
],
'destinations[].privacy.view' => '<string>',
'destinations[].privacy.embed' => '<string>',
'destinations[].privacy.comments' => '<string>',
'destinations[].privacy.add' => true,
'destinations[].privacy.download' => true,
'scenes[].story' => '<string>',
'scenes[].brief' => [
],
'scenes[].blogUrl' => '<string>',
'scenes[].pptUrl' => '<string>',
'scenes[].audioUrl' => '<string>',
'scenes[].videoUrl' => '<string>',
'scenes[].createSceneOnNewLine' => true,
'scenes[].createSceneOnEndOfSentence' => true,
'scenes[].maxSubtitleLines' => 123,
'scenes[].highlightKeywords' => true,
'scenes[].hideSubtitles' => true,
'scenes[].minimumDuration' => 123,
'scenes[].endPauseDuration' => 123,
'scenes[].sceneTransition' => '<string>',
'scenes[].audioLanguage' => '<string>',
'scenes[].useSpeakerNotes' => true,
'scenes[].pptSlideAnimation' => [
'enabled' => true,
'model' => '<string>',
'slides' => [
123
]
],
'scenes[].isSSMLStory' => true,
'scenes[].caption' => '<string>',
'scenes[].captionLanguage' => '<string>',
'scenes[].subtitleStyleId' => '<string>',
'scenes[].subtitleStyleName' => '<string>',
'scenes[].subtitleStyle' => [
],
'scenes[].voiceOver' => [
],
'scenes[].backgroundMusic' => [
],
'scenes[].avatar' => [
],
'scenes[].background' => [
],
'scenes[].backgroundBrolls' => [
[
]
],
'scenes[].backgroundCorpus' => [
[
]
],
'scenes[].transcript' => [
[
]
],
'scenes[].mediaRepurposeSettings' => [
],
'scenes[].templateOverride' => [
],
'scenes[].elements' => [
[
]
],
'scenes[].brief.prompt' => '<string>',
'scenes[].brief.videoGoal' => '<string>',
'scenes[].brief.duration' => 123,
'scenes[].brief.platform' => '<string>',
'scenes[].brief.tone' => '<string>',
'scenes[].voiceOver.enabled' => true,
'scenes[].voiceOver.aiVoices' => [
[
]
],
'scenes[].voiceOver.externalVoice' => [
],
'scenes[].backgroundMusic.enabled' => true,
'scenes[].avatar.position' => '<string>',
'scenes[].avatar.top' => '<string>',
'scenes[].avatar.left' => '<string>',
'scenes[].avatar.width' => '<string>',
'scenes[].avatar.borderRadius' => '<string>',
'scenes[].avatar.borderColor' => '<string>',
'scenes[].avatar.borderThickness' => 123,
'scenes[].avatar.backgroundColor' => '<string>',
'scenes[].avatar.hide' => true,
'scenes[].background.visualUrl' => '<string>',
'scenes[].background.color' => '<string>',
'scenes[].background.aiVisual' => [
],
'scenes[].background.type' => '<string>',
'scenes[].background.searchFilter' => [
],
'scenes[].background.clips' => [
[
]
],
'scenes[].background.settings' => [
],
'scenes[].background.colorOverlay' => [
],
'scenes[].background.aiVisual.prompt' => '<string>',
'scenes[].background.aiVisual.model' => '<string>',
'scenes[].background.aiVisual.mediaStyle' => '<string>',
'scenes[].background.aiVisual.videoDuration' => '<string>',
'scenes[].background.aiVisual.visualContinuity' => true,
'scenes[].background.aiVisual.firstFrameImageUrl' => '<string>',
'scenes[].background.aiVisual.referenceImageUrl' => '<string>',
'scenes[].background.aiVisual.referenceImageUrls' => [
'<string>'
],
'scenes[].background.searchFilter.category' => '<string>',
'scenes[].background.searchFilter.query' => '<string>',
'scenes[].background.searchFilter.keywords' => [
[
]
],
'scenes[].background.searchFilter.libraries' => [
[
]
],
'scenes[].background.settings.mute' => true,
'scenes[].background.settings.loop' => true,
'scenes[].background.settings.zoomAndPan' => true,
'scenes[].background.settings.kenBurnsEffect' => true,
'scenes[].background.colorOverlay.color' => '<string>',
'scenes[].background.colorOverlay.opacity' => 123,
'scenes[].backgroundBrolls[].brollClip' => [
],
'scenes[].backgroundCorpus[].visualUrl' => '<string>',
'scenes[].backgroundCorpus[].type' => '<string>',
'scenes[].backgroundCorpus[].prefer' => true,
'scenes[].elements[].type' => '<string>',
'scenes[].elements[].name' => '<string>',
'scenes[].elements[].fill' => '<string>',
'scenes[].elements[].stroke' => '<string>',
'scenes[].elements[].strokeWidth' => 123,
'scenes[].elements[].borderRadius' => 123,
'scenes[].elements[].height' => '<string>',
'scenes[].elements[].text' => '<string>',
'scenes[].elements[].textVariant' => '<string>',
'scenes[].elements[].style' => [
],
'scenes[].elements[].styleId' => '<string>',
'scenes[].elements[].styleName' => '<string>',
'scenes[].elements[].visualUrl' => '<string>',
'scenes[].elements[].searchFilter' => [
],
'scenes[].elements[].aiVisual' => [
],
'scenes[].elements[].settings' => [
],
'scenes[].elements[].colorOverlay' => [
],
'scenes[].elements[].position' => '<string>',
'scenes[].elements[].top' => '<string>',
'scenes[].elements[].left' => '<string>',
'scenes[].elements[].width' => '<string>',
'scenes[].transcript[].speakerId' => 123,
'scenes[].transcript[].words' => [
[
]
],
'scenes[].transcript[].words[].word' => '<string>',
'scenes[].transcript[].words[].start_time' => 123,
'scenes[].transcript[].words[].end_time' => 123,
'scenes[].transcript[].words[].is_pause' => true,
'scenes[].transcript[].words[].is_filler' => true,
'scenes[].transcript[].words[].speakerId' => 123,
'scenes[].mediaRepurposeSettings.highlightLength' => 123,
'scenes[].mediaRepurposeSettings.removeFillerWords' => true,
'scenes[].mediaRepurposeSettings.removeSilences' => true,
'scenes[].mediaRepurposeSettings.silenceThresholdSeconds' => 123,
'scenes[].templateOverride.sceneId' => '<string>',
'scenes[].templateOverride.scenePosition' => 123,
'scenes[].templateOverride.newScenePosition' => 123,
'scenes[].templateOverride.insertAfterSceneId' => '<string>',
'scenes[].templateOverride.insertBeforeSceneId' => '<string>',
'scenes[].templateOverride.replaceSceneId' => '<string>',
'scenes[].templateOverride.replaceScenePosition' => 123,
'scenes[].templateOverride.baseSceneId' => '<string>',
'scenes[].templateOverride.baseScenePosition' => 123,
'scenes[].templateOverride.deleteScene' => true,
'scenes[].templateOverride.copyScene' => true,
'scenes[].templateOverride.subtitles' => [
[
]
],
'scenes[].templateOverride.layers' => [
[
]
],
'scenes[].templateOverride.subtitles[].text' => '<string>',
'scenes[].templateOverride.subtitles[].minimumDuration' => 123,
'scenes[].templateOverride.subtitles[].styleId' => '<string>',
'scenes[].templateOverride.subtitles[].styleName' => '<string>',
'scenes[].templateOverride.subtitles[].style' => [
],
'scenes[].templateOverride.layers[][].layerId' => '<string>',
'scenes[].templateOverride.layers[][].type' => '<string>',
'scenes[].templateOverride.layers[][].text' => '<string>',
'scenes[].templateOverride.layers[][].url' => '<string>',
'scenes[].templateOverride.layers[][].styleId' => '<string>',
'scenes[].templateOverride.layers[][].styleName' => '<string>',
'scenes[].templateOverride.layers[][].style' => [
],
'scenes[].templateOverride.layers[][].deleteLayer' => true
]),
CURLOPT_HTTPHEADER => [
"Authorization: <authorization>",
"Content-Type: <content-type>"
],
]);
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}package main
import (
"fmt"
"strings"
"net/http"
"io"
)
func main() {
url := "https://api.pictory.ai/pictoryapis/v2/video/storyboard"
payload := strings.NewReader("{\n \"videoName\": \"<string>\",\n \"videoWidth\": 123,\n \"videoHeight\": 123,\n \"aspectRatio\": \"<string>\",\n \"language\": \"<string>\",\n \"saveProject\": true,\n \"webhook\": \"<string>\",\n \"webhookInput\": {},\n \"templateId\": \"<string>\",\n \"variables\": {},\n \"brandId\": \"<string>\",\n \"brandName\": \"<string>\",\n \"smartLayoutName\": \"<string>\",\n \"smartLayoutId\": \"<string>\",\n \"aiStoryboard\": {},\n \"storyboardVersion\": \"<string>\",\n \"subtitleStyleId\": \"<string>\",\n \"subtitleStyleName\": \"<string>\",\n \"subtitleStyle\": {},\n \"awsConnectionId\": \"<string>\",\n \"vimeoConnectionId\": \"<string>\",\n \"destinations\": [\n {}\n ],\n \"voiceOver\": {},\n \"backgroundMusic\": {},\n \"logo\": {},\n \"scenes\": [\n {}\n ],\n \"avatar\": {},\n \"aiStoryboard.enabled\": true,\n \"voiceOver.enabled\": true,\n \"voiceOver.aiVoices\": [\n {}\n ],\n \"voiceOver.externalVoice\": {},\n \"voiceOver.aiVoices[].speaker\": \"<string>\",\n \"voiceOver.aiVoices[].speed\": 123,\n \"voiceOver.aiVoices[].amplificationLevel\": 123,\n \"voiceOver.aiVoices[].premiumVoiceSettings\": {},\n \"voiceOver.aiVoices[].premiumVoiceSettings.modelId\": \"<string>\",\n \"voiceOver.aiVoices[].premiumVoiceSettings.stability\": \"<string>\",\n \"voiceOver.aiVoices[].premiumVoiceSettings.useSpeakerBoost\": true,\n \"voiceOver.aiVoices[].premiumVoiceSettings.similarityBoost\": \"<string>\",\n \"voiceOver.aiVoices[].premiumVoiceSettings.style\": \"<string>\",\n \"voiceOver.externalVoice.voiceUrl\": \"<string>\",\n \"voiceOver.externalVoice.syncVoice\": true,\n \"voiceOver.externalVoice.amplificationLevel\": 123,\n \"avatar.avatarId\": \"<string>\",\n \"avatar.position\": \"<string>\",\n \"avatar.width\": \"<string>\",\n \"avatar.borderRadius\": \"<string>\",\n \"avatar.borderColor\": \"<string>\",\n \"avatar.borderThickness\": 123,\n \"avatar.backgroundColor\": \"<string>\",\n \"avatar.hide\": true,\n \"backgroundMusic.enabled\": true,\n \"backgroundMusic.autoMusic\": true,\n \"backgroundMusic.musicUrl\": \"<string>\",\n \"backgroundMusic.volume\": 123,\n \"backgroundMusic.clips\": [\n {}\n ],\n \"logo.url\": \"<string>\",\n \"logo.position\": \"<string>\",\n \"logo.width\": \"<string>\",\n \"subtitleStyle.fontUrl\": \"<string>\",\n \"subtitleStyle.fontFamily\": \"<string>\",\n \"subtitleStyle.fontSize\": 123,\n \"subtitleStyle.color\": \"<string>\",\n \"subtitleStyle.backgroundColor\": \"<string>\",\n \"subtitleStyle.shadowColor\": \"<string>\",\n \"subtitleStyle.shadowWidth\": \"<string>\",\n \"subtitleStyle.keywordColor\": \"<string>\",\n \"subtitleStyle.position\": \"<string>\",\n \"subtitleStyle.alignment\": \"<string>\",\n \"subtitleStyle.decorations\": [\n {}\n ],\n \"subtitleStyle.case\": \"<string>\",\n \"subtitleStyle.paragraphWidth\": \"<string>\",\n \"subtitleStyle.animations\": [\n {}\n ],\n \"subtitleStyle.animations[].name\": \"<string>\",\n \"subtitleStyle.animations[].type\": \"<string>\",\n \"subtitleStyle.animations[].speed\": \"<string>\",\n \"subtitleStyle.animations[].customSpeedValue\": 123,\n \"subtitleStyle.animations[].direction\": \"<string>\",\n \"subtitleStyle.animations[].writingStyle\": \"<string>\",\n \"subtitleStyle.animations[].futureWords\": \"<string>\",\n \"destinations[].type\": \"<string>\",\n \"destinations[].folder_uri\": \"<string>\",\n \"destinations[].content_rating\": [\n {}\n ],\n \"destinations[].privacy\": {},\n \"destinations[].privacy.view\": \"<string>\",\n \"destinations[].privacy.embed\": \"<string>\",\n \"destinations[].privacy.comments\": \"<string>\",\n \"destinations[].privacy.add\": true,\n \"destinations[].privacy.download\": true,\n \"scenes[].story\": \"<string>\",\n \"scenes[].brief\": {},\n \"scenes[].blogUrl\": \"<string>\",\n \"scenes[].pptUrl\": \"<string>\",\n \"scenes[].audioUrl\": \"<string>\",\n \"scenes[].videoUrl\": \"<string>\",\n \"scenes[].createSceneOnNewLine\": true,\n \"scenes[].createSceneOnEndOfSentence\": true,\n \"scenes[].maxSubtitleLines\": 123,\n \"scenes[].highlightKeywords\": true,\n \"scenes[].hideSubtitles\": true,\n \"scenes[].minimumDuration\": 123,\n \"scenes[].endPauseDuration\": 123,\n \"scenes[].sceneTransition\": \"<string>\",\n \"scenes[].audioLanguage\": \"<string>\",\n \"scenes[].useSpeakerNotes\": true,\n \"scenes[].pptSlideAnimation\": {\n \"enabled\": true,\n \"model\": \"<string>\",\n \"slides\": [\n 123\n ]\n },\n \"scenes[].isSSMLStory\": true,\n \"scenes[].caption\": \"<string>\",\n \"scenes[].captionLanguage\": \"<string>\",\n \"scenes[].subtitleStyleId\": \"<string>\",\n \"scenes[].subtitleStyleName\": \"<string>\",\n \"scenes[].subtitleStyle\": {},\n \"scenes[].voiceOver\": {},\n \"scenes[].backgroundMusic\": {},\n \"scenes[].avatar\": {},\n \"scenes[].background\": {},\n \"scenes[].backgroundBrolls\": [\n {}\n ],\n \"scenes[].backgroundCorpus\": [\n {}\n ],\n \"scenes[].transcript\": [\n {}\n ],\n \"scenes[].mediaRepurposeSettings\": {},\n \"scenes[].templateOverride\": {},\n \"scenes[].elements\": [\n {}\n ],\n \"scenes[].brief.prompt\": \"<string>\",\n \"scenes[].brief.videoGoal\": \"<string>\",\n \"scenes[].brief.duration\": 123,\n \"scenes[].brief.platform\": \"<string>\",\n \"scenes[].brief.tone\": \"<string>\",\n \"scenes[].voiceOver.enabled\": true,\n \"scenes[].voiceOver.aiVoices\": [\n {}\n ],\n \"scenes[].voiceOver.externalVoice\": {},\n \"scenes[].backgroundMusic.enabled\": true,\n \"scenes[].avatar.position\": \"<string>\",\n \"scenes[].avatar.top\": \"<string>\",\n \"scenes[].avatar.left\": \"<string>\",\n \"scenes[].avatar.width\": \"<string>\",\n \"scenes[].avatar.borderRadius\": \"<string>\",\n \"scenes[].avatar.borderColor\": \"<string>\",\n \"scenes[].avatar.borderThickness\": 123,\n \"scenes[].avatar.backgroundColor\": \"<string>\",\n \"scenes[].avatar.hide\": true,\n \"scenes[].background.visualUrl\": \"<string>\",\n \"scenes[].background.color\": \"<string>\",\n \"scenes[].background.aiVisual\": {},\n \"scenes[].background.type\": \"<string>\",\n \"scenes[].background.searchFilter\": {},\n \"scenes[].background.clips\": [\n {}\n ],\n \"scenes[].background.settings\": {},\n \"scenes[].background.colorOverlay\": {},\n \"scenes[].background.aiVisual.prompt\": \"<string>\",\n \"scenes[].background.aiVisual.model\": \"<string>\",\n \"scenes[].background.aiVisual.mediaStyle\": \"<string>\",\n \"scenes[].background.aiVisual.videoDuration\": \"<string>\",\n \"scenes[].background.aiVisual.visualContinuity\": true,\n \"scenes[].background.aiVisual.firstFrameImageUrl\": \"<string>\",\n \"scenes[].background.aiVisual.referenceImageUrl\": \"<string>\",\n \"scenes[].background.aiVisual.referenceImageUrls\": [\n \"<string>\"\n ],\n \"scenes[].background.searchFilter.category\": \"<string>\",\n \"scenes[].background.searchFilter.query\": \"<string>\",\n \"scenes[].background.searchFilter.keywords\": [\n {}\n ],\n \"scenes[].background.searchFilter.libraries\": [\n {}\n ],\n \"scenes[].background.settings.mute\": true,\n \"scenes[].background.settings.loop\": true,\n \"scenes[].background.settings.zoomAndPan\": true,\n \"scenes[].background.settings.kenBurnsEffect\": true,\n \"scenes[].background.colorOverlay.color\": \"<string>\",\n \"scenes[].background.colorOverlay.opacity\": 123,\n \"scenes[].backgroundBrolls[].brollClip\": {},\n \"scenes[].backgroundCorpus[].visualUrl\": \"<string>\",\n \"scenes[].backgroundCorpus[].type\": \"<string>\",\n \"scenes[].backgroundCorpus[].prefer\": true,\n \"scenes[].elements[].type\": \"<string>\",\n \"scenes[].elements[].name\": \"<string>\",\n \"scenes[].elements[].fill\": \"<string>\",\n \"scenes[].elements[].stroke\": \"<string>\",\n \"scenes[].elements[].strokeWidth\": 123,\n \"scenes[].elements[].borderRadius\": 123,\n \"scenes[].elements[].height\": \"<string>\",\n \"scenes[].elements[].text\": \"<string>\",\n \"scenes[].elements[].textVariant\": \"<string>\",\n \"scenes[].elements[].style\": {},\n \"scenes[].elements[].styleId\": \"<string>\",\n \"scenes[].elements[].styleName\": \"<string>\",\n \"scenes[].elements[].visualUrl\": \"<string>\",\n \"scenes[].elements[].searchFilter\": {},\n \"scenes[].elements[].aiVisual\": {},\n \"scenes[].elements[].settings\": {},\n \"scenes[].elements[].colorOverlay\": {},\n \"scenes[].elements[].position\": \"<string>\",\n \"scenes[].elements[].top\": \"<string>\",\n \"scenes[].elements[].left\": \"<string>\",\n \"scenes[].elements[].width\": \"<string>\",\n \"scenes[].transcript[].speakerId\": 123,\n \"scenes[].transcript[].words\": [\n {}\n ],\n \"scenes[].transcript[].words[].word\": \"<string>\",\n \"scenes[].transcript[].words[].start_time\": 123,\n \"scenes[].transcript[].words[].end_time\": 123,\n \"scenes[].transcript[].words[].is_pause\": true,\n \"scenes[].transcript[].words[].is_filler\": true,\n \"scenes[].transcript[].words[].speakerId\": 123,\n \"scenes[].mediaRepurposeSettings.highlightLength\": 123,\n \"scenes[].mediaRepurposeSettings.removeFillerWords\": true,\n \"scenes[].mediaRepurposeSettings.removeSilences\": true,\n \"scenes[].mediaRepurposeSettings.silenceThresholdSeconds\": 123,\n \"scenes[].templateOverride.sceneId\": \"<string>\",\n \"scenes[].templateOverride.scenePosition\": 123,\n \"scenes[].templateOverride.newScenePosition\": 123,\n \"scenes[].templateOverride.insertAfterSceneId\": \"<string>\",\n \"scenes[].templateOverride.insertBeforeSceneId\": \"<string>\",\n \"scenes[].templateOverride.replaceSceneId\": \"<string>\",\n \"scenes[].templateOverride.replaceScenePosition\": 123,\n \"scenes[].templateOverride.baseSceneId\": \"<string>\",\n \"scenes[].templateOverride.baseScenePosition\": 123,\n \"scenes[].templateOverride.deleteScene\": true,\n \"scenes[].templateOverride.copyScene\": true,\n \"scenes[].templateOverride.subtitles\": [\n {}\n ],\n \"scenes[].templateOverride.layers\": [\n {}\n ],\n \"scenes[].templateOverride.subtitles[].text\": \"<string>\",\n \"scenes[].templateOverride.subtitles[].minimumDuration\": 123,\n \"scenes[].templateOverride.subtitles[].styleId\": \"<string>\",\n \"scenes[].templateOverride.subtitles[].styleName\": \"<string>\",\n \"scenes[].templateOverride.subtitles[].style\": {},\n \"scenes[].templateOverride.layers[][].layerId\": \"<string>\",\n \"scenes[].templateOverride.layers[][].type\": \"<string>\",\n \"scenes[].templateOverride.layers[][].text\": \"<string>\",\n \"scenes[].templateOverride.layers[][].url\": \"<string>\",\n \"scenes[].templateOverride.layers[][].styleId\": \"<string>\",\n \"scenes[].templateOverride.layers[][].styleName\": \"<string>\",\n \"scenes[].templateOverride.layers[][].style\": {},\n \"scenes[].templateOverride.layers[][].deleteLayer\": true\n}")
req, _ := http.NewRequest("POST", url, payload)
req.Header.Add("Authorization", "<authorization>")
req.Header.Add("Content-Type", "<content-type>")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}HttpResponse<String> response = Unirest.post("https://api.pictory.ai/pictoryapis/v2/video/storyboard")
.header("Authorization", "<authorization>")
.header("Content-Type", "<content-type>")
.body("{\n \"videoName\": \"<string>\",\n \"videoWidth\": 123,\n \"videoHeight\": 123,\n \"aspectRatio\": \"<string>\",\n \"language\": \"<string>\",\n \"saveProject\": true,\n \"webhook\": \"<string>\",\n \"webhookInput\": {},\n \"templateId\": \"<string>\",\n \"variables\": {},\n \"brandId\": \"<string>\",\n \"brandName\": \"<string>\",\n \"smartLayoutName\": \"<string>\",\n \"smartLayoutId\": \"<string>\",\n \"aiStoryboard\": {},\n \"storyboardVersion\": \"<string>\",\n \"subtitleStyleId\": \"<string>\",\n \"subtitleStyleName\": \"<string>\",\n \"subtitleStyle\": {},\n \"awsConnectionId\": \"<string>\",\n \"vimeoConnectionId\": \"<string>\",\n \"destinations\": [\n {}\n ],\n \"voiceOver\": {},\n \"backgroundMusic\": {},\n \"logo\": {},\n \"scenes\": [\n {}\n ],\n \"avatar\": {},\n \"aiStoryboard.enabled\": true,\n \"voiceOver.enabled\": true,\n \"voiceOver.aiVoices\": [\n {}\n ],\n \"voiceOver.externalVoice\": {},\n \"voiceOver.aiVoices[].speaker\": \"<string>\",\n \"voiceOver.aiVoices[].speed\": 123,\n \"voiceOver.aiVoices[].amplificationLevel\": 123,\n \"voiceOver.aiVoices[].premiumVoiceSettings\": {},\n \"voiceOver.aiVoices[].premiumVoiceSettings.modelId\": \"<string>\",\n \"voiceOver.aiVoices[].premiumVoiceSettings.stability\": \"<string>\",\n \"voiceOver.aiVoices[].premiumVoiceSettings.useSpeakerBoost\": true,\n \"voiceOver.aiVoices[].premiumVoiceSettings.similarityBoost\": \"<string>\",\n \"voiceOver.aiVoices[].premiumVoiceSettings.style\": \"<string>\",\n \"voiceOver.externalVoice.voiceUrl\": \"<string>\",\n \"voiceOver.externalVoice.syncVoice\": true,\n \"voiceOver.externalVoice.amplificationLevel\": 123,\n \"avatar.avatarId\": \"<string>\",\n \"avatar.position\": \"<string>\",\n \"avatar.width\": \"<string>\",\n \"avatar.borderRadius\": \"<string>\",\n \"avatar.borderColor\": \"<string>\",\n \"avatar.borderThickness\": 123,\n \"avatar.backgroundColor\": \"<string>\",\n \"avatar.hide\": true,\n \"backgroundMusic.enabled\": true,\n \"backgroundMusic.autoMusic\": true,\n \"backgroundMusic.musicUrl\": \"<string>\",\n \"backgroundMusic.volume\": 123,\n \"backgroundMusic.clips\": [\n {}\n ],\n \"logo.url\": \"<string>\",\n \"logo.position\": \"<string>\",\n \"logo.width\": \"<string>\",\n \"subtitleStyle.fontUrl\": \"<string>\",\n \"subtitleStyle.fontFamily\": \"<string>\",\n \"subtitleStyle.fontSize\": 123,\n \"subtitleStyle.color\": \"<string>\",\n \"subtitleStyle.backgroundColor\": \"<string>\",\n \"subtitleStyle.shadowColor\": \"<string>\",\n \"subtitleStyle.shadowWidth\": \"<string>\",\n \"subtitleStyle.keywordColor\": \"<string>\",\n \"subtitleStyle.position\": \"<string>\",\n \"subtitleStyle.alignment\": \"<string>\",\n \"subtitleStyle.decorations\": [\n {}\n ],\n \"subtitleStyle.case\": \"<string>\",\n \"subtitleStyle.paragraphWidth\": \"<string>\",\n \"subtitleStyle.animations\": [\n {}\n ],\n \"subtitleStyle.animations[].name\": \"<string>\",\n \"subtitleStyle.animations[].type\": \"<string>\",\n \"subtitleStyle.animations[].speed\": \"<string>\",\n \"subtitleStyle.animations[].customSpeedValue\": 123,\n \"subtitleStyle.animations[].direction\": \"<string>\",\n \"subtitleStyle.animations[].writingStyle\": \"<string>\",\n \"subtitleStyle.animations[].futureWords\": \"<string>\",\n \"destinations[].type\": \"<string>\",\n \"destinations[].folder_uri\": \"<string>\",\n \"destinations[].content_rating\": [\n {}\n ],\n \"destinations[].privacy\": {},\n \"destinations[].privacy.view\": \"<string>\",\n \"destinations[].privacy.embed\": \"<string>\",\n \"destinations[].privacy.comments\": \"<string>\",\n \"destinations[].privacy.add\": true,\n \"destinations[].privacy.download\": true,\n \"scenes[].story\": \"<string>\",\n \"scenes[].brief\": {},\n \"scenes[].blogUrl\": \"<string>\",\n \"scenes[].pptUrl\": \"<string>\",\n \"scenes[].audioUrl\": \"<string>\",\n \"scenes[].videoUrl\": \"<string>\",\n \"scenes[].createSceneOnNewLine\": true,\n \"scenes[].createSceneOnEndOfSentence\": true,\n \"scenes[].maxSubtitleLines\": 123,\n \"scenes[].highlightKeywords\": true,\n \"scenes[].hideSubtitles\": true,\n \"scenes[].minimumDuration\": 123,\n \"scenes[].endPauseDuration\": 123,\n \"scenes[].sceneTransition\": \"<string>\",\n \"scenes[].audioLanguage\": \"<string>\",\n \"scenes[].useSpeakerNotes\": true,\n \"scenes[].pptSlideAnimation\": {\n \"enabled\": true,\n \"model\": \"<string>\",\n \"slides\": [\n 123\n ]\n },\n \"scenes[].isSSMLStory\": true,\n \"scenes[].caption\": \"<string>\",\n \"scenes[].captionLanguage\": \"<string>\",\n \"scenes[].subtitleStyleId\": \"<string>\",\n \"scenes[].subtitleStyleName\": \"<string>\",\n \"scenes[].subtitleStyle\": {},\n \"scenes[].voiceOver\": {},\n \"scenes[].backgroundMusic\": {},\n \"scenes[].avatar\": {},\n \"scenes[].background\": {},\n \"scenes[].backgroundBrolls\": [\n {}\n ],\n \"scenes[].backgroundCorpus\": [\n {}\n ],\n \"scenes[].transcript\": [\n {}\n ],\n \"scenes[].mediaRepurposeSettings\": {},\n \"scenes[].templateOverride\": {},\n \"scenes[].elements\": [\n {}\n ],\n \"scenes[].brief.prompt\": \"<string>\",\n \"scenes[].brief.videoGoal\": \"<string>\",\n \"scenes[].brief.duration\": 123,\n \"scenes[].brief.platform\": \"<string>\",\n \"scenes[].brief.tone\": \"<string>\",\n \"scenes[].voiceOver.enabled\": true,\n \"scenes[].voiceOver.aiVoices\": [\n {}\n ],\n \"scenes[].voiceOver.externalVoice\": {},\n \"scenes[].backgroundMusic.enabled\": true,\n \"scenes[].avatar.position\": \"<string>\",\n \"scenes[].avatar.top\": \"<string>\",\n \"scenes[].avatar.left\": \"<string>\",\n \"scenes[].avatar.width\": \"<string>\",\n \"scenes[].avatar.borderRadius\": \"<string>\",\n \"scenes[].avatar.borderColor\": \"<string>\",\n \"scenes[].avatar.borderThickness\": 123,\n \"scenes[].avatar.backgroundColor\": \"<string>\",\n \"scenes[].avatar.hide\": true,\n \"scenes[].background.visualUrl\": \"<string>\",\n \"scenes[].background.color\": \"<string>\",\n \"scenes[].background.aiVisual\": {},\n \"scenes[].background.type\": \"<string>\",\n \"scenes[].background.searchFilter\": {},\n \"scenes[].background.clips\": [\n {}\n ],\n \"scenes[].background.settings\": {},\n \"scenes[].background.colorOverlay\": {},\n \"scenes[].background.aiVisual.prompt\": \"<string>\",\n \"scenes[].background.aiVisual.model\": \"<string>\",\n \"scenes[].background.aiVisual.mediaStyle\": \"<string>\",\n \"scenes[].background.aiVisual.videoDuration\": \"<string>\",\n \"scenes[].background.aiVisual.visualContinuity\": true,\n \"scenes[].background.aiVisual.firstFrameImageUrl\": \"<string>\",\n \"scenes[].background.aiVisual.referenceImageUrl\": \"<string>\",\n \"scenes[].background.aiVisual.referenceImageUrls\": [\n \"<string>\"\n ],\n \"scenes[].background.searchFilter.category\": \"<string>\",\n \"scenes[].background.searchFilter.query\": \"<string>\",\n \"scenes[].background.searchFilter.keywords\": [\n {}\n ],\n \"scenes[].background.searchFilter.libraries\": [\n {}\n ],\n \"scenes[].background.settings.mute\": true,\n \"scenes[].background.settings.loop\": true,\n \"scenes[].background.settings.zoomAndPan\": true,\n \"scenes[].background.settings.kenBurnsEffect\": true,\n \"scenes[].background.colorOverlay.color\": \"<string>\",\n \"scenes[].background.colorOverlay.opacity\": 123,\n \"scenes[].backgroundBrolls[].brollClip\": {},\n \"scenes[].backgroundCorpus[].visualUrl\": \"<string>\",\n \"scenes[].backgroundCorpus[].type\": \"<string>\",\n \"scenes[].backgroundCorpus[].prefer\": true,\n \"scenes[].elements[].type\": \"<string>\",\n \"scenes[].elements[].name\": \"<string>\",\n \"scenes[].elements[].fill\": \"<string>\",\n \"scenes[].elements[].stroke\": \"<string>\",\n \"scenes[].elements[].strokeWidth\": 123,\n \"scenes[].elements[].borderRadius\": 123,\n \"scenes[].elements[].height\": \"<string>\",\n \"scenes[].elements[].text\": \"<string>\",\n \"scenes[].elements[].textVariant\": \"<string>\",\n \"scenes[].elements[].style\": {},\n \"scenes[].elements[].styleId\": \"<string>\",\n \"scenes[].elements[].styleName\": \"<string>\",\n \"scenes[].elements[].visualUrl\": \"<string>\",\n \"scenes[].elements[].searchFilter\": {},\n \"scenes[].elements[].aiVisual\": {},\n \"scenes[].elements[].settings\": {},\n \"scenes[].elements[].colorOverlay\": {},\n \"scenes[].elements[].position\": \"<string>\",\n \"scenes[].elements[].top\": \"<string>\",\n \"scenes[].elements[].left\": \"<string>\",\n \"scenes[].elements[].width\": \"<string>\",\n \"scenes[].transcript[].speakerId\": 123,\n \"scenes[].transcript[].words\": [\n {}\n ],\n \"scenes[].transcript[].words[].word\": \"<string>\",\n \"scenes[].transcript[].words[].start_time\": 123,\n \"scenes[].transcript[].words[].end_time\": 123,\n \"scenes[].transcript[].words[].is_pause\": true,\n \"scenes[].transcript[].words[].is_filler\": true,\n \"scenes[].transcript[].words[].speakerId\": 123,\n \"scenes[].mediaRepurposeSettings.highlightLength\": 123,\n \"scenes[].mediaRepurposeSettings.removeFillerWords\": true,\n \"scenes[].mediaRepurposeSettings.removeSilences\": true,\n \"scenes[].mediaRepurposeSettings.silenceThresholdSeconds\": 123,\n \"scenes[].templateOverride.sceneId\": \"<string>\",\n \"scenes[].templateOverride.scenePosition\": 123,\n \"scenes[].templateOverride.newScenePosition\": 123,\n \"scenes[].templateOverride.insertAfterSceneId\": \"<string>\",\n \"scenes[].templateOverride.insertBeforeSceneId\": \"<string>\",\n \"scenes[].templateOverride.replaceSceneId\": \"<string>\",\n \"scenes[].templateOverride.replaceScenePosition\": 123,\n \"scenes[].templateOverride.baseSceneId\": \"<string>\",\n \"scenes[].templateOverride.baseScenePosition\": 123,\n \"scenes[].templateOverride.deleteScene\": true,\n \"scenes[].templateOverride.copyScene\": true,\n \"scenes[].templateOverride.subtitles\": [\n {}\n ],\n \"scenes[].templateOverride.layers\": [\n {}\n ],\n \"scenes[].templateOverride.subtitles[].text\": \"<string>\",\n \"scenes[].templateOverride.subtitles[].minimumDuration\": 123,\n \"scenes[].templateOverride.subtitles[].styleId\": \"<string>\",\n \"scenes[].templateOverride.subtitles[].styleName\": \"<string>\",\n \"scenes[].templateOverride.subtitles[].style\": {},\n \"scenes[].templateOverride.layers[][].layerId\": \"<string>\",\n \"scenes[].templateOverride.layers[][].type\": \"<string>\",\n \"scenes[].templateOverride.layers[][].text\": \"<string>\",\n \"scenes[].templateOverride.layers[][].url\": \"<string>\",\n \"scenes[].templateOverride.layers[][].styleId\": \"<string>\",\n \"scenes[].templateOverride.layers[][].styleName\": \"<string>\",\n \"scenes[].templateOverride.layers[][].style\": {},\n \"scenes[].templateOverride.layers[][].deleteLayer\": true\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.pictory.ai/pictoryapis/v2/video/storyboard")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Post.new(url)
request["Authorization"] = '<authorization>'
request["Content-Type"] = '<content-type>'
request.body = "{\n \"videoName\": \"<string>\",\n \"videoWidth\": 123,\n \"videoHeight\": 123,\n \"aspectRatio\": \"<string>\",\n \"language\": \"<string>\",\n \"saveProject\": true,\n \"webhook\": \"<string>\",\n \"webhookInput\": {},\n \"templateId\": \"<string>\",\n \"variables\": {},\n \"brandId\": \"<string>\",\n \"brandName\": \"<string>\",\n \"smartLayoutName\": \"<string>\",\n \"smartLayoutId\": \"<string>\",\n \"aiStoryboard\": {},\n \"storyboardVersion\": \"<string>\",\n \"subtitleStyleId\": \"<string>\",\n \"subtitleStyleName\": \"<string>\",\n \"subtitleStyle\": {},\n \"awsConnectionId\": \"<string>\",\n \"vimeoConnectionId\": \"<string>\",\n \"destinations\": [\n {}\n ],\n \"voiceOver\": {},\n \"backgroundMusic\": {},\n \"logo\": {},\n \"scenes\": [\n {}\n ],\n \"avatar\": {},\n \"aiStoryboard.enabled\": true,\n \"voiceOver.enabled\": true,\n \"voiceOver.aiVoices\": [\n {}\n ],\n \"voiceOver.externalVoice\": {},\n \"voiceOver.aiVoices[].speaker\": \"<string>\",\n \"voiceOver.aiVoices[].speed\": 123,\n \"voiceOver.aiVoices[].amplificationLevel\": 123,\n \"voiceOver.aiVoices[].premiumVoiceSettings\": {},\n \"voiceOver.aiVoices[].premiumVoiceSettings.modelId\": \"<string>\",\n \"voiceOver.aiVoices[].premiumVoiceSettings.stability\": \"<string>\",\n \"voiceOver.aiVoices[].premiumVoiceSettings.useSpeakerBoost\": true,\n \"voiceOver.aiVoices[].premiumVoiceSettings.similarityBoost\": \"<string>\",\n \"voiceOver.aiVoices[].premiumVoiceSettings.style\": \"<string>\",\n \"voiceOver.externalVoice.voiceUrl\": \"<string>\",\n \"voiceOver.externalVoice.syncVoice\": true,\n \"voiceOver.externalVoice.amplificationLevel\": 123,\n \"avatar.avatarId\": \"<string>\",\n \"avatar.position\": \"<string>\",\n \"avatar.width\": \"<string>\",\n \"avatar.borderRadius\": \"<string>\",\n \"avatar.borderColor\": \"<string>\",\n \"avatar.borderThickness\": 123,\n \"avatar.backgroundColor\": \"<string>\",\n \"avatar.hide\": true,\n \"backgroundMusic.enabled\": true,\n \"backgroundMusic.autoMusic\": true,\n \"backgroundMusic.musicUrl\": \"<string>\",\n \"backgroundMusic.volume\": 123,\n \"backgroundMusic.clips\": [\n {}\n ],\n \"logo.url\": \"<string>\",\n \"logo.position\": \"<string>\",\n \"logo.width\": \"<string>\",\n \"subtitleStyle.fontUrl\": \"<string>\",\n \"subtitleStyle.fontFamily\": \"<string>\",\n \"subtitleStyle.fontSize\": 123,\n \"subtitleStyle.color\": \"<string>\",\n \"subtitleStyle.backgroundColor\": \"<string>\",\n \"subtitleStyle.shadowColor\": \"<string>\",\n \"subtitleStyle.shadowWidth\": \"<string>\",\n \"subtitleStyle.keywordColor\": \"<string>\",\n \"subtitleStyle.position\": \"<string>\",\n \"subtitleStyle.alignment\": \"<string>\",\n \"subtitleStyle.decorations\": [\n {}\n ],\n \"subtitleStyle.case\": \"<string>\",\n \"subtitleStyle.paragraphWidth\": \"<string>\",\n \"subtitleStyle.animations\": [\n {}\n ],\n \"subtitleStyle.animations[].name\": \"<string>\",\n \"subtitleStyle.animations[].type\": \"<string>\",\n \"subtitleStyle.animations[].speed\": \"<string>\",\n \"subtitleStyle.animations[].customSpeedValue\": 123,\n \"subtitleStyle.animations[].direction\": \"<string>\",\n \"subtitleStyle.animations[].writingStyle\": \"<string>\",\n \"subtitleStyle.animations[].futureWords\": \"<string>\",\n \"destinations[].type\": \"<string>\",\n \"destinations[].folder_uri\": \"<string>\",\n \"destinations[].content_rating\": [\n {}\n ],\n \"destinations[].privacy\": {},\n \"destinations[].privacy.view\": \"<string>\",\n \"destinations[].privacy.embed\": \"<string>\",\n \"destinations[].privacy.comments\": \"<string>\",\n \"destinations[].privacy.add\": true,\n \"destinations[].privacy.download\": true,\n \"scenes[].story\": \"<string>\",\n \"scenes[].brief\": {},\n \"scenes[].blogUrl\": \"<string>\",\n \"scenes[].pptUrl\": \"<string>\",\n \"scenes[].audioUrl\": \"<string>\",\n \"scenes[].videoUrl\": \"<string>\",\n \"scenes[].createSceneOnNewLine\": true,\n \"scenes[].createSceneOnEndOfSentence\": true,\n \"scenes[].maxSubtitleLines\": 123,\n \"scenes[].highlightKeywords\": true,\n \"scenes[].hideSubtitles\": true,\n \"scenes[].minimumDuration\": 123,\n \"scenes[].endPauseDuration\": 123,\n \"scenes[].sceneTransition\": \"<string>\",\n \"scenes[].audioLanguage\": \"<string>\",\n \"scenes[].useSpeakerNotes\": true,\n \"scenes[].pptSlideAnimation\": {\n \"enabled\": true,\n \"model\": \"<string>\",\n \"slides\": [\n 123\n ]\n },\n \"scenes[].isSSMLStory\": true,\n \"scenes[].caption\": \"<string>\",\n \"scenes[].captionLanguage\": \"<string>\",\n \"scenes[].subtitleStyleId\": \"<string>\",\n \"scenes[].subtitleStyleName\": \"<string>\",\n \"scenes[].subtitleStyle\": {},\n \"scenes[].voiceOver\": {},\n \"scenes[].backgroundMusic\": {},\n \"scenes[].avatar\": {},\n \"scenes[].background\": {},\n \"scenes[].backgroundBrolls\": [\n {}\n ],\n \"scenes[].backgroundCorpus\": [\n {}\n ],\n \"scenes[].transcript\": [\n {}\n ],\n \"scenes[].mediaRepurposeSettings\": {},\n \"scenes[].templateOverride\": {},\n \"scenes[].elements\": [\n {}\n ],\n \"scenes[].brief.prompt\": \"<string>\",\n \"scenes[].brief.videoGoal\": \"<string>\",\n \"scenes[].brief.duration\": 123,\n \"scenes[].brief.platform\": \"<string>\",\n \"scenes[].brief.tone\": \"<string>\",\n \"scenes[].voiceOver.enabled\": true,\n \"scenes[].voiceOver.aiVoices\": [\n {}\n ],\n \"scenes[].voiceOver.externalVoice\": {},\n \"scenes[].backgroundMusic.enabled\": true,\n \"scenes[].avatar.position\": \"<string>\",\n \"scenes[].avatar.top\": \"<string>\",\n \"scenes[].avatar.left\": \"<string>\",\n \"scenes[].avatar.width\": \"<string>\",\n \"scenes[].avatar.borderRadius\": \"<string>\",\n \"scenes[].avatar.borderColor\": \"<string>\",\n \"scenes[].avatar.borderThickness\": 123,\n \"scenes[].avatar.backgroundColor\": \"<string>\",\n \"scenes[].avatar.hide\": true,\n \"scenes[].background.visualUrl\": \"<string>\",\n \"scenes[].background.color\": \"<string>\",\n \"scenes[].background.aiVisual\": {},\n \"scenes[].background.type\": \"<string>\",\n \"scenes[].background.searchFilter\": {},\n \"scenes[].background.clips\": [\n {}\n ],\n \"scenes[].background.settings\": {},\n \"scenes[].background.colorOverlay\": {},\n \"scenes[].background.aiVisual.prompt\": \"<string>\",\n \"scenes[].background.aiVisual.model\": \"<string>\",\n \"scenes[].background.aiVisual.mediaStyle\": \"<string>\",\n \"scenes[].background.aiVisual.videoDuration\": \"<string>\",\n \"scenes[].background.aiVisual.visualContinuity\": true,\n \"scenes[].background.aiVisual.firstFrameImageUrl\": \"<string>\",\n \"scenes[].background.aiVisual.referenceImageUrl\": \"<string>\",\n \"scenes[].background.aiVisual.referenceImageUrls\": [\n \"<string>\"\n ],\n \"scenes[].background.searchFilter.category\": \"<string>\",\n \"scenes[].background.searchFilter.query\": \"<string>\",\n \"scenes[].background.searchFilter.keywords\": [\n {}\n ],\n \"scenes[].background.searchFilter.libraries\": [\n {}\n ],\n \"scenes[].background.settings.mute\": true,\n \"scenes[].background.settings.loop\": true,\n \"scenes[].background.settings.zoomAndPan\": true,\n \"scenes[].background.settings.kenBurnsEffect\": true,\n \"scenes[].background.colorOverlay.color\": \"<string>\",\n \"scenes[].background.colorOverlay.opacity\": 123,\n \"scenes[].backgroundBrolls[].brollClip\": {},\n \"scenes[].backgroundCorpus[].visualUrl\": \"<string>\",\n \"scenes[].backgroundCorpus[].type\": \"<string>\",\n \"scenes[].backgroundCorpus[].prefer\": true,\n \"scenes[].elements[].type\": \"<string>\",\n \"scenes[].elements[].name\": \"<string>\",\n \"scenes[].elements[].fill\": \"<string>\",\n \"scenes[].elements[].stroke\": \"<string>\",\n \"scenes[].elements[].strokeWidth\": 123,\n \"scenes[].elements[].borderRadius\": 123,\n \"scenes[].elements[].height\": \"<string>\",\n \"scenes[].elements[].text\": \"<string>\",\n \"scenes[].elements[].textVariant\": \"<string>\",\n \"scenes[].elements[].style\": {},\n \"scenes[].elements[].styleId\": \"<string>\",\n \"scenes[].elements[].styleName\": \"<string>\",\n \"scenes[].elements[].visualUrl\": \"<string>\",\n \"scenes[].elements[].searchFilter\": {},\n \"scenes[].elements[].aiVisual\": {},\n \"scenes[].elements[].settings\": {},\n \"scenes[].elements[].colorOverlay\": {},\n \"scenes[].elements[].position\": \"<string>\",\n \"scenes[].elements[].top\": \"<string>\",\n \"scenes[].elements[].left\": \"<string>\",\n \"scenes[].elements[].width\": \"<string>\",\n \"scenes[].transcript[].speakerId\": 123,\n \"scenes[].transcript[].words\": [\n {}\n ],\n \"scenes[].transcript[].words[].word\": \"<string>\",\n \"scenes[].transcript[].words[].start_time\": 123,\n \"scenes[].transcript[].words[].end_time\": 123,\n \"scenes[].transcript[].words[].is_pause\": true,\n \"scenes[].transcript[].words[].is_filler\": true,\n \"scenes[].transcript[].words[].speakerId\": 123,\n \"scenes[].mediaRepurposeSettings.highlightLength\": 123,\n \"scenes[].mediaRepurposeSettings.removeFillerWords\": true,\n \"scenes[].mediaRepurposeSettings.removeSilences\": true,\n \"scenes[].mediaRepurposeSettings.silenceThresholdSeconds\": 123,\n \"scenes[].templateOverride.sceneId\": \"<string>\",\n \"scenes[].templateOverride.scenePosition\": 123,\n \"scenes[].templateOverride.newScenePosition\": 123,\n \"scenes[].templateOverride.insertAfterSceneId\": \"<string>\",\n \"scenes[].templateOverride.insertBeforeSceneId\": \"<string>\",\n \"scenes[].templateOverride.replaceSceneId\": \"<string>\",\n \"scenes[].templateOverride.replaceScenePosition\": 123,\n \"scenes[].templateOverride.baseSceneId\": \"<string>\",\n \"scenes[].templateOverride.baseScenePosition\": 123,\n \"scenes[].templateOverride.deleteScene\": true,\n \"scenes[].templateOverride.copyScene\": true,\n \"scenes[].templateOverride.subtitles\": [\n {}\n ],\n \"scenes[].templateOverride.layers\": [\n {}\n ],\n \"scenes[].templateOverride.subtitles[].text\": \"<string>\",\n \"scenes[].templateOverride.subtitles[].minimumDuration\": 123,\n \"scenes[].templateOverride.subtitles[].styleId\": \"<string>\",\n \"scenes[].templateOverride.subtitles[].styleName\": \"<string>\",\n \"scenes[].templateOverride.subtitles[].style\": {},\n \"scenes[].templateOverride.layers[][].layerId\": \"<string>\",\n \"scenes[].templateOverride.layers[][].type\": \"<string>\",\n \"scenes[].templateOverride.layers[][].text\": \"<string>\",\n \"scenes[].templateOverride.layers[][].url\": \"<string>\",\n \"scenes[].templateOverride.layers[][].styleId\": \"<string>\",\n \"scenes[].templateOverride.layers[][].styleName\": \"<string>\",\n \"scenes[].templateOverride.layers[][].style\": {},\n \"scenes[].templateOverride.layers[][].deleteLayer\": true\n}"
response = http.request(request)
puts response.read_body{
"success": true,
"data": {
"jobId": "a1d36612-326d-4b81-aece-411f8aed4c70"
}
}
{
"code": "INVALID_REQUEST_BODY",
"message": "Request body validation failed.",
"fields": [
{
"name": "scenes",
"errors": "scenes is required"
}
]
}
{
"message": "Unauthorized"
}
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.
Recommended Workflow: Create Preview → Review Scenes → Make Adjustments → Render Final Video
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
AI-Designed Scenes
Review AI-designed layouts and on-screen text before rendering (
aiStoryboard)API Endpoint
POST https://api.pictory.ai/pictoryapis/v2/video/storyboard
Request Headers
string
required
API key for authentication
Authorization: YOUR_API_KEY
string
required
Must be
application/jsonRequest Body Parameters
string
required
Name for your video project (alphanumeric, spaces, underscores, and hyphens only, max 150 characters)Optional when
aiStoryboard is enabled with a brief scene: if omitted, the AI-generated title is used as the project name.integer
Width of the generated video in pixels. Must be provided together with
videoHeight.integer
Height of the generated video in pixels. Must be provided together with
videoWidth.string
Video aspect ratio. Options:
1:1, 16:9, 9:16, 4:5string
Language 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 Tamilboolean
Whether to save the project in your Pictory account for later editing. Default:
falsestring
URL where the completed storyboard preview output will be sent via POST request when finished (max 500 characters)
object
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.
{
"webhookInput": {
"internalId": "abc-123",
"source": "campaign-builder"
}
}
string
ID of a template to use. Get from Get Templates API.
object
Key-value object for template variables. Only applicable when
templateId is provided.{
"variables": {
"headline": "Welcome to Our Product",
"subheadline": "Discover Amazing Features",
"ctaText": "Learn More"
}
}
string
ID of the brand to apply. Get from Get Video Brands API. Cannot be used with
brandName.string
Name of the brand to apply. Cannot be used with
brandId.string
Name of the smart layout to apply. Get available layouts from Get Smart Layouts API. Cannot be used with
smartLayoutId.string
ID of the smart layout to apply. Get from Get Smart Layouts API. Cannot be used with
smartLayoutName.object
Let AI design every scene (layout, on-screen text elements, color palette) or, with a
brief scene, write the script as well. Set { "enabled": true } to turn it on. See aiStoryboard Object.string
Experimental: This field is currently experimental. In the future, all storyboards will automatically use the latest version, and this field will be ignored. There is no need to remove it from your requests when that happens.
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
string
ID of a saved text style for subtitles. Get from Get Text Styles API. Cannot be used with
subtitleStyleName.string
Name of a saved text style for subtitles. Cannot be used with
subtitleStyleId.object
Inline subtitle style configuration. See subtitleStyle Object.
string
AWS connection ID for accessing private S3 assets. Get from Get AWS Connections API.
string
Vimeo connection ID for uploading videos directly to Vimeo. Get from Get Vimeo Connections API.
array
Array of destination configurations for uploading the generated video (max 5). See destinations Array.
object
Voice-over configuration for AI narration. See voiceOver Object.
object
Background music configuration for the video. See backgroundMusic Object.
object
Logo overlay configuration. See logo Object.
array
required
Array of scene objects containing the content to convert into video. Required unless using
templateId. See scenes Array.object
AI avatar configuration for presenter-style videos. See avatar Object.
aiStoryboard Object
Turns on the AI Storyboard: instead of a full-screen visual with subtitles, every scene receives a layout, on-screen text elements, and a color palette chosen by AI. With astory or blogUrl scene the AI designs around your narration (script mode); with a single brief scene it writes the narration and designs the storyboard in the same pass (brief mode). See the AI Storyboard guide.
{
"aiStoryboard": {
"enabled": true
}
}
boolean
required
Set to
true to have the AI design the storyboard. The object is optional; omit it or set false for the standard storyboard.Text-to-video only. With
aiStoryboard enabled, each scene must use story, brief, or blogUrl. The following are rejected with a 400 response: templateId, variables, smartLayoutName, smartLayoutId, aspectRatio: "4:5", and the scene fields pptUrl, audioUrl, videoUrl, transcript, mediaRepurposeSettings, audioLanguage, useSpeakerNotes, isSSMLStory, backgroundBrolls, backgroundCorpus, and templateOverride.Scene rules. A
story scene without a split option is split into one designed scene per sentence; a scene that cannot be split and exceeds 1500 characters is rejected. A brief must be the only scene, its duration, if set, must be 8–500 seconds, its prompt at most 3900 characters, and it cannot use createSceneOnNewLine or createSceneOnEndOfSentence. A video can have at most 250 designed scenes. Each scene’s background configuration (stock search, visualUrl, aiVisual, color) is placed into the designed layout; in brief mode the single scene’s configuration applies to every generated scene.Response. In brief mode
storyboard.scenes[].story holds the generated narration. Rendering the preview with Render Video from Preview keeps the design; re-submitting the storyboard to this endpoint designs it again. The design step adds 1–3 minutes to the job.voiceOver Object
Voice-over configuration for AI narration.{
"voiceOver": {
"enabled": true,
"aiVoices": [
{
"speaker": "Brian",
"speed": 100,
"amplificationLevel": 0
}
]
}
}
The following fields are nested inside the top-level
voiceOver object. For example, voiceOver.enabled means enabled is a property of the voiceOver object.boolean
required
Enable or disable voice-over.
array
Array of AI voice configurations (max 10). See aiVoices Array.
object
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.string
required
Voice speaker name (e.g., “Brian”, “Emma”). Get available voices from Get Voiceover Tracks API.
number
Speech speed from 50 to 200. Default:
100number
Volume level from -1 to 1. Default:
0object
ElevenLabs premium voice settings. See premiumVoiceSettings Object.
premiumVoiceSettings Object
{
"premiumVoiceSettings": {
"modelId": "eleven_multilingual_v2",
"stability": "50%",
"similarityBoost": "75%",
"style": "50%",
"useSpeakerBoost": true
}
}
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.string
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_v1string
Voice stability as percentage (e.g., “50%”)
boolean
Enable speaker boost enhancement.
string
Similarity boost as percentage (e.g., “75%”)
string
Voice style as percentage (e.g., “50%“)
externalVoice Object
{
"externalVoice": {
"voiceUrl": "https://example.com/voiceover.mp3",
"syncVoice": true,
"amplificationLevel": 0
}
}
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.string
required
URL to external voice audio file.
boolean
Auto-synchronize voice with video subtitles.
number
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.string
required
Unique identifier for the avatar look (e.g., “Annie_expressive12_public”). Get from Get Avatars API.
string
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-rightstring
Avatar width as percentage (e.g., “20%”, “25%”, “30%”). Must be an integer percentage from 0% to 100%.Default:
"20%"string
Corner rounding. Options:
0 (square), 50 (rounded), 100 (circular)string
Border color in RGBA format (e.g., “rgba(255,255,255,1)”, “rgba(0,0,0,1)”, “rgba(132,44,254,1)”)
number
Border width in pixels. Minimum: 0
string
Background color in RGBA format (e.g., “rgba(255,255,255,1)”, “rgba(0,0,0,0.5)”)
boolean
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.{
"backgroundMusic": {
"enabled": true,
"autoMusic": true,
"volume": 0.5
}
}
The following fields are nested inside the top-level
backgroundMusic object. For example, backgroundMusic.enabled means enabled is a property of the backgroundMusic object.boolean
required
Enable or disable background music.
boolean
Auto-select background music. Cannot be used with
musicUrl.string
Any publicly accessible URL to an audio file, on your own hosting or a CDN. It is not limited to Pictory-provided tracks. Cannot be used with
autoMusic. An audioUrl returned by Search Music Tracks is also a valid value; pass it exactly as returned and Pictory licenses the track at render time.number
Volume level from 0 to 1. Default:
0.5array
Time clips to use from the music (max 10). Each clip has
start and end numbers in seconds.{
"clips": [
{ "start": 0, "end": 30 },
{ "start": 60, "end": 90 }
]
}
logo Object
Logo overlay configuration.{
"logo": {
"url": "https://example.com/logo.png",
"position": "top-right",
"width": "15%"
}
}
The following fields are nested inside the top-level
logo object. For example, logo.url means url is a property of the logo object.string
required
URL to logo image file.
string
Logo position. Options:
top-left, top-right, top-center, center-left, center-center, center-right, bottom-left, bottom-center, bottom-rightstring
Logo width as percentage (e.g., “15%“)
subtitleStyle Object
Inline subtitle style configuration. Can be used at video level or scene level.{
"subtitleStyle": {
"fontFamily": "Montserrat",
"fontSize": 48,
"color": "rgba(255,255,255,1)",
"position": "bottom-center",
"alignment": "center"
}
}
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.string
URL to custom font file. When provided,
fontFamily is required.string
Font family name. Required when
fontUrl is provided. See Supported Font Families.integer
Font size in pixels. Minimum: 1
string
Text color in RGBA format (e.g., “rgba(255,255,255,1)”)
string
Background color in RGBA format (e.g., “rgba(0,0,0,0.5)”).
string
Shadow color.
string
Shadow width as percentage (e.g., “10%”)
string
Color for highlighted keywords in RGBA format (e.g., “rgba(255,255,0,1)”).
string
Text position. Options:
top-left, top-center, top-right, center-left, center-center, center-right, bottom-left, bottom-center, bottom-rightstring
Text alignment. Options:
left, center, rightarray
Text decorations. Options:
bold, underline, italics, linethrough{
"decorations": ["bold", "italics"]
}
string
Text case. Options:
uppercase, lowercase, capitalize, smallcapitalizestring
Paragraph width as percentage (e.g., “80%”)
array
Text animations (max 2: one entry, one exit). See animations Array.See Text Animations Guide for all animation types and examples.
{
"animations": [
{
"name": "fade",
"type": "entry",
"speed": "fast",
"futureWords": "hidden"
},
{
"name": "fade",
"type": "exit",
"speed": "fast"
}
]
}
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.string
required
Animation name. Options:
none, fade, drift, wipe, text reveal, elastic, typewriter, blur, bulletinstring
required
Animation type. Options:
entry, exitstring
required
Animation speed. Options:
slow, medium, fast, customnumber
Custom speed value (min 0.5). Required when speed is
custom.string
Animation direction. Options:
up, down, left, rightstring
Writing style for text animations. Options:
character, word, line, paragraphstring
Controls 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
{
"destinations": [
{
"type": "vimeo",
"folder_uri": "/users/12345/projects/67890",
"content_rating": ["safe"],
"privacy": {
"view": "unlisted",
"embed": "public",
"download": false
}
}
]
}
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.string
required
Must be
vimeostring
Vimeo folder URI.
array
Content rating. Options:
violence, drugs, language, nudity, advertisement, safe, unrated{
"content_rating": ["safe"]
}
object
Privacy 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.string
View access. Options:
anybody, contacts, disable, nobody, password, unlisted, usersstring
Embed access. Options:
private, public, whiteliststring
Comment access. Options:
anybody, contacts, nobodyboolean
Allow adding to albums/channels.
boolean
Allow downloads.
scenes Array
Each scene in thescenes array can contain various content sources and settings.
{
"scenes": [
{
"story": "Welcome to our product showcase. Discover amazing features.",
"createSceneOnEndOfSentence": true,
"highlightKeywords": true,
"sceneTransition": "fade",
"background": {
"visualUrl": "https://example.com/background.mp4",
"type": "video",
"settings": {
"mute": true,
"loop": true
}
}
}
]
}
Each scene can only have ONE content source. Choose one of:
story, brief, blogUrl, pptUrl, audioUrl, or videoUrl.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.string
Text content for creating video from text (max 15000 characters).
object
AI script generation from an idea. See brief Object. With aiStoryboard enabled, the AI also designs the storyboard.
string
URL to blog/article content.
string
URL to PowerPoint presentation file.
string
URL to audio file for audio-to-video conversion. Requires
audioLanguage.string
URL to video file for video repurposing. Requires
audioLanguage.boolean
Create new scene on each new line. Default:
falseboolean
Create new scene at end of each sentence. Default:
falseinteger
Maximum 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.boolean
Highlight keywords in subtitles.
boolean
Hide subtitles for this scene.
number
Minimum duration for the scene in seconds.
number
Pause duration at the end of the scene in seconds.
string
Transition effect. Options:
none, wipeup, wipedown, wipeleft, wiperight, smoothleft, smoothright, radial, circlecrop, hblur, fadestring
Language 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)boolean
Use speaker notes from PowerPoint. Only valid with
pptUrl.object
Animate PowerPoint slides into short video backgrounds. Each still slide is sent to an image-to-video model using the slide itself as the first frame, so the clip opens on the original slide. The clip loops for the length of the scene, so the slide returns at the start of every cycle. Slides that already contain video, including slides that use PowerPoint build animations, are left unchanged. Only valid with
pptUrl.Show Animation Options
Show Animation Options
boolean
Set to
true to animate slides.string
Video model used to animate the slides. One of
pixverse6, veo3.1_fast, or veo3.1. Defaults to pixverse6 when omitted, which does not consume AI credits. The veo3.1 and veo3.1_fast models consume AI credits and reproduce small slide text more reliably. Clips are capped at 10 seconds.integer[]
Slide positions to animate, starting at 1. Omit or pass an empty array to animate every eligible slide.
boolean
Whether story text contains SSML markup. Only valid with
story. Default: falsestring
Separate caption text for the scene (max 3000 characters). Requires
story.string
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 Tamilstring
ID of a saved text style for this scene’s subtitles. Cannot be used with
subtitleStyleName.string
Name of a saved text style for this scene’s subtitles. Cannot be used with
subtitleStyleId.object
Inline subtitle style for this scene. Overrides video-level subtitle style. See subtitleStyle Object.
object
Voice-over configuration specific to this scene. Overrides video-level settings. See scenes[].voiceOver Object.
object
Background music configuration specific to this scene. See scenes[].backgroundMusic Object.
object
Avatar customization specific to this scene. Overrides global avatar settings. See scenes[].avatar Object.
object
Background media configuration for this scene. See background Object.
array
Array of B-roll background configurations. See backgroundBrolls Array.
array
Array of background images to use as a corpus (max 100). See backgroundCorpus Array.
array
Transcription of input video or audio. Required when repurposing
audioUrl or videoUrl. See transcript Array.object
Settings for repurposing media content. Only valid with
audioUrl or videoUrl. See mediaRepurposeSettings Object.object
Configuration for manipulating template scenes. Only available when
templateId is provided. See templateOverride Object.array
Overlay elements placed on top of the scene background (max 20 per scene). Each element has a
type of shape, text, video, or image. See elements Array.brief Object
Describe the video you want and the AI writes the script. WithoutaiStoryboard, the generated script is split into scenes according to the scene split options and built as a standard storyboard. With aiStoryboard enabled, the AI also decides the scenes and designs each of them; the brief must then be the only scene.
{
"brief": {
"prompt": "How AI is transforming video creation",
"videoGoal": "Explainer",
"duration": 60,
"platform": "YouTube",
"tone": "informative"
}
}
The following fields are nested inside the
brief object, which is a property of each scenes[] element. For example, scenes[].brief.prompt means prompt is a property of brief, which itself is nested inside each item of the scenes array.string
required
Topic or description for AI to generate content (1–5000 characters; at most 3900 with
aiStoryboard).string
Goal of the video. Options:
Explainer, Marketing, Internal Communication, Tutorial, Product. Default: Explainerinteger
Target duration in seconds (1–600; 8–500 with
aiStoryboard, where omitting it lets the AI choose).string
Target platform for script generation. Options:
YouTube, TikTok, Instagram, Facebook, LinkedIn, Twitter. Not used by the AI Storyboard.string
Tone 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.{
"voiceOver": {
"enabled": true,
"aiVoices": [{ "speaker": "Emma", "speed": 100 }]
}
}
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.boolean
required
Enable or disable voice-over for this scene.
array
Array of AI voice configurations (max 10). Same structure as aiVoices Array.
object
External voice configuration with
voiceUrl, clips array, and amplificationLevel.scenes[].backgroundMusic Object
Background music configuration specific to a scene.{
"backgroundMusic": {
"enabled": true
}
}
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.boolean
required
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.
{
"avatar": {
"position": "top-left",
"width": "25%",
"hide": false
}
}
string
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-rightstring
Distance from top edge as percentage (e.g., “10%”, “25%”, “50%”). Integer percentages only (0%-100%). Cannot be used with
position.string
Distance from left edge as percentage (e.g., “5%”, “50%”, “80%”). Integer percentages only (0%-100%). Cannot be used with
position.string
Avatar width as percentage for this scene (e.g., “20%”, “25%”, “30%”). Must be an integer percentage from 0% to 100%.
string
Corner rounding for this scene. Options:
0 (square), 50 (rounded), 100 (circular)string
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)”)
number
Border width in pixels for this scene. Minimum: 0
string
Background color in RGBA format for this scene (e.g., “rgba(255,255,255,1)”, “rgba(0,0,0,0.5)”)
boolean
Hide avatar for this specific scene (
true or false)Important: You cannot change
avatarId at the scene level. The same avatar must be used throughout the video. You can only override styling and positioning properties.background Object
Background media configuration for a scene.{
"background": {
"visualUrl": "https://example.com/video.mp4",
"type": "video",
"settings": {
"mute": true,
"loop": true
}
}
}
Background can only have ONE of:
visualUrl, color, or aiVisual - not multiple.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.string
URL to background video or image. Cannot be used with
color or aiVisual.string
Solid background color in RGB, RGBA, or hex format (e.g., “rgb(0,0,0)”, “rgba(0,0,0,1)”, “#000000”). Cannot be used with
visualUrl or aiVisual.object
AI-generated visual configuration. Cannot be used with
visualUrl or color. See aiVisual Object.string
Media type. Options:
video, image. Required when aiVisual is provided. It determines whether an AI image or AI video clip is generated.object
Search filter for auto-selecting visuals. See searchFilter Object.
array
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.{
"clips": [
{ "start": 0, "end": 10 },
{ "start": 20, "end": 35 }
]
}
object
Background playback settings. See background.settings Object.
object
Semi-transparent color tint rendered on top of the background. Works with every background source, including solid colors. See colorOverlay Object and the Background Color Overlay guide.
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
{
"background": {
"type": "image",
"aiVisual": {
"prompt": "A serene mountain landscape at sunset",
"model": "seedream3.0",
"mediaStyle": "photorealistic"
}
}
}
{
"background": {
"type": "video",
"aiVisual": {
"prompt": "Aerial drone shot slowly flying over a tropical coastline",
"model": "pixverse5.5",
"videoDuration": "8s"
}
}
}
{
"background": {
"type": "video",
"aiVisual": {
"prompt": "A car driving through a desert highway at golden hour",
"model": "pixverse5.5",
"videoDuration": "8s",
"firstFrameImageUrl": "https://example.com/car-on-highway.jpg"
}
}
}
{
"background": {
"type": "image",
"aiVisual": {
"prompt": "A modern office workspace with natural lighting",
"model": "seedream3.0",
"mediaStyle": "photorealistic",
"referenceImageUrl": "https://example.com/office-reference.jpg"
}
}
}
{
"scenes": [
{
"story": "AI is poised to significantly impact educators and course creators on social media. By automating tasks like content generation, visual design, and video editing, AI will save time and enhance consistency. This allows creators to focus on higher-level strategies and ensures a cohesive brand presence.",
"createSceneOnNewLine": true,
"createSceneOnEndOfSentence": true,
"background": {
"type": "video",
"aiVisual": {
"model": "pixverse5.5",
"visualContinuity": true
}
}
}
]
}
string
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".string
required
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.1string
Visual style for generated images. Only applicable when
type is "image". Options: photorealistic, artistic, cartoon, minimalist, vintage, futuristicstring
Duration 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")
boolean
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.
string
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.string
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.string[]
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.When using
referenceImageUrls (without firstFrameImageUrl) with the veo3.1 or veo3.1_fast models, the video duration is automatically set to "8s".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 |
Mutual exclusivity rules:
firstFrameImageUrlandreferenceImageUrlscannot be provided together. Use one or the other.referenceImageUrlis only for image generation. For video generation, usefirstFrameImageUrlorreferenceImageUrls.firstFrameImageUrlandreferenceImageUrlsare only for video generation. For image generation, usereferenceImageUrl.
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 |
For detailed guides on configuring AI-generated visuals, see:
searchFilter Object
{
"searchFilter": {
"category": "Nature/Landscapes",
"query": "mountain sunset",
"keywords": ["nature", "mountains", "sunset"],
"libraries": ["story_blocks", "getty"]
}
}
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.string
Category filter for media search. See Visual Filter Categories.
string
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”).
array
Keywords for search (max 10, each 2-100 characters).
{
"keywords": ["business", "technology", "innovation"]
}
array
Media libraries to search. Options:
story_blocks, getty{
"libraries": ["story_blocks", "getty"]
}
background.settings Object
{
"settings": {
"mute": true,
"loop": true,
"zoomAndPan": false
}
}
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.boolean
Mute audio from background media.
boolean
Loop the background media.
boolean
Apply zoom and pan effects. Cannot be used with
kenBurnsEffect.boolean
Apply Ken Burns effect (images only). Cannot be used with
zoomAndPan.colorOverlay Object
A semi-transparent color tint rendered on top of the background, commonly used to keep subtitles readable on busy footage or to apply a brand color across scenes. The underlying media is not modified.{
"background": {
"searchFilter": { "keywords": ["city skyline", "night"] },
"type": "video",
"colorOverlay": {
"color": "rgb(26, 26, 46)",
"opacity": 0.4
}
}
}
The following fields are nested inside the
colorOverlay object, which is a property of scenes[].background. For example, scenes[].background.colorOverlay.color means color is a property of colorOverlay, which itself is nested inside background, inside each item of the scenes array.string
required
The tint color in RGB, RGBA, or hex format. If an RGBA value is provided, its alpha channel is ignored; transparency is controlled only by
opacity.number
default:"0.4"
Tint strength from
0 (invisible) to 1 (solid). Defaults to 0.4.colorOverlay is also supported on each backgroundBrolls[] item (a B-roll’s own overlay takes precedence while it is on screen) and on video/image items in the scene elements Array. Scenes using colorOverlay are processed by the v3 storyboard engine automatically.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.{
"backgroundBrolls": [
{
"visualUrl": "https://example.com/broll.mp4",
"type": "video",
"brollClip": { "start": 0, "end": 5 },
"settings": { "mute": true }
}
]
}
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.object
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).{
"backgroundCorpus": [
{ "visualUrl": "https://example.com/image1.jpg", "type": "image", "prefer": true },
{ "visualUrl": "https://example.com/image2.jpg", "type": "image" }
]
}
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.string
URL to background image.
string
Must be
image.boolean
Mark as preferred image for selection.
elements Array
Overlay elements placed on top of the scene background (max 20 per scene). Four element types are supported:shape and text (see the Scene Elements guide) and video and image (see the Media Elements guide).
{
"elements": [
{
"type": "shape",
"name": "badge-3",
"fill": "rgba(255,87,51,1)",
"position": "top-left",
"width": "18%"
},
{
"type": "video",
"visualUrl": "https://example.com/videos/demo.mp4",
"position": "bottom-right",
"width": "30%",
"settings": { "loop": true, "mute": true }
},
{
"type": "image",
"searchFilter": { "query": "growth chart on laptop screen" },
"top": "10%",
"left": "6%"
}
]
}
The following fields are nested inside each item of the
scenes[].elements array. Fields marked “media only” apply to video and image elements; fields marked “shape only” or “text only” apply to those types.string
required
Element type. Options:
shape, text, video, image.string
Shape only (required). Shape name, e.g.
rectangle, circle, badge-3. See the shape gallery.string
Shape only. Fill color in RGB, RGBA, or hex format. Omit it to keep a library shape’s own colors.
string
Shape only. Outline color in RGB, RGBA, or hex format.
number
Shape only. Outline thickness in pixels.
number
Shape only. Corner radius in pixels. Applies to the
rectangle shape only.string
Shape only, and only for the
rectangle, circle and line shapes. Element height as a percentage of the canvas, e.g. "6%". With width it sets the box the shape is drawn to, so a rectangle can be a bar or a panel of any proportions and a circle becomes an ellipse. Without height these shapes keep their default proportions (a rectangle is a square). Every other shape keeps its own proportions and rejects height.string
Text only (required). The text to display (max 2000 characters).
string
Text only. Decorative preset that seeds the font size, position, and width:
heading (66 pt, centered, 90% width), subheading (42 pt, top center, 90% width), or body (20 pt, centered, 37% width). Defaults to body. Any value can be overridden with style or position.object
Text only. Inline text style: font, size, color, background color, alignment, case, decorations, and up to two
animations (one entry, one exit). Same fields as the subtitleStyle Object. Cannot be combined with styleId or styleName.string
Text only. Apply a saved text style by ID. Retrieve IDs from Get Text Styles. Cannot be combined with
styleName.string
Text only. Apply a saved text style by name. Retrieve names from Get Text Styles. Cannot be combined with
styleId.string
Media only. URL of the video or image file to overlay. Exactly one of
visualUrl, searchFilter, or aiVisual is required for media elements. A preview.url returned by Search Videos and Images is a valid value: pass it exactly as returned, query string included, and Pictory licenses the stock clip at render time.object
Media only. Stock library search. Contains a single required field
query (string): what to search for, in plain language. If no match is found, the element is skipped and the request still succeeds.object
Media only. Generate the element with AI. Same fields as scenes[].background.aiVisual:
prompt, model (required), mediaStyle, videoDuration. Consumes AI Credits according to the selected model’s rate. If credits are insufficient or generation fails, the element is skipped.object
Video elements only. Playback settings:
loop (boolean, default true) and mute (boolean, default true).object
Media only. Color tint applied to this element, with the same fields as the background colorOverlay Object:
color (required) and opacity (default 0.4).string
Anchor preset:
top-left, top-center, top-right, center-left, center, center-right, bottom-left, bottom-center, bottom-right. Cannot be combined with top/left.string
Vertical offset as a percentage from the top, e.g.
"10%". Cannot be combined with position.string
Horizontal offset as a percentage from the left, e.g.
"10%". Cannot be combined with position.string
Element width as a percentage of the canvas, e.g.
"30%". For media elements, omitting width enables automatic sizing: the element starts at 30% of the canvas and shrinks so it stays fully on screen given its position and aspect ratio.transcript Array
Transcription of input video or audio content.{
"transcript": [
{
"speakerId": 1,
"words": [
{ "word": "Hello", "start_time": 0.0, "end_time": 0.5, "is_pause": false, "is_filler": false }
]
}
]
}
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.integer
Speaker identifier.
array
required
Array of word objects.
string
required
The word text.
number
required
Start time in seconds (min 0).
number
required
End time in seconds (must be >= start_time).
boolean
Whether this is a pause.
boolean
Whether this is a filler word.
integer
Speaker identifier for this word.
mediaRepurposeSettings Object
Settings for repurposing audio or video content.{
"mediaRepurposeSettings": {
"highlightLength": 60,
"removeFillerWords": true,
"removeSilences": true,
"silenceThresholdSeconds": 2
}
}
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.number
Length of highlight in seconds (5-180).
boolean
Remove filler words from the content.
boolean
Remove silences from the content.
number
Silence threshold in seconds (0-10).
templateOverride Object
Configuration for manipulating template scenes. Only available whentemplateId is provided.
{
"templateOverride": {
"sceneId": "scene-123",
"subtitles": [
{ "text": "Updated subtitle text", "minimumDuration": 3 }
],
"layers": [
[
{ "layerId": "text-layer-1", "type": "text", "text": "Updated text content" }
]
]
}
}
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.string
ID of the existing scene to modify. Cannot be used with
scenePosition.number
Position of the existing scene to modify (1-based). Cannot be used with
sceneId.number
New position for a newly inserted scene (1-based). Only for new scenes.
string
Insert new scene after this scene ID. Only for new scenes. Cannot be used with
newScenePosition.string
Insert new scene before this scene ID. Only for new scenes. Cannot be used with
newScenePosition or insertAfterSceneId.string
Replace the scene with this ID. Only for new scenes. Cannot be used with
newScenePosition.number
Replace the scene at this position (1-based). Only for new scenes. Cannot be used with
newScenePosition or replaceSceneId.string
Base scene ID to copy settings from. Only for new scenes.
number
Base scene position to copy settings from (1-based). Only for new scenes. Cannot be used with
baseSceneId.boolean
Delete this scene. Only for existing scenes.
boolean
Copy this scene. Only for existing scenes.
array
Array of subtitle configurations (max 500). Only for existing scenes. See templateOverride.subtitles Array.
array
Array of layer configurations (max 500). Only for existing scenes. See templateOverride.layers Array.
Template Override Rules:
templateOverrideis only available whentemplateIdis provided- Use
sceneIdORscenePositionto identify existing scenes, not both - Properties like
newScenePosition,insertAfterSceneId,insertBeforeSceneId,replaceSceneId,baseSceneIdare only for new scenes - Properties like
deleteScene,copyScene,subtitles,layersare only for existing scenes
templateOverride.subtitles Array
{
"subtitles": [
{
"text": "Your subtitle text here",
"minimumDuration": 3,
"styleId": "style-123"
}
]
}
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.string
required
Subtitle text (1-40000 characters).
number
Minimum duration in seconds.
string
ID of saved text style.
string
Name of saved text style.
object
Inline style configuration. See subtitleStyle Object.
templateOverride.layers Array
Layers allow you to customize text, image, and video elements within template scenes.{
"layers": [
[
{ "layerId": "headline", "type": "text", "text": "Updated headline" },
{ "layerId": "logo", "type": "image", "url": "https://example.com/logo.png" }
]
]
}
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.string
ID of the layer to modify (max 100 characters).
string
Layer type. Options:
text, image, videostring
Text content (max 40000 characters). For
text type only.string
Media URL. For
image or video type only.string
Text style ID. For
text type only.string
Text style name. For
text type only.object
Inline text style. See subtitleStyle Object. For
text type only.boolean
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.boolean
Indicates whether the request was successful
object
Contains the storyboard job information
string
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.
{
"success": true,
"data": {
"jobId": "a1d36612-326d-4b81-aece-411f8aed4c70"
}
}
{
"code": "INVALID_REQUEST_BODY",
"message": "Request body validation failed.",
"fields": [
{
"name": "scenes",
"errors": "scenes is required"
}
]
}
{
"message": "Unauthorized"
}
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
Replace
YOUR_API_KEY with your actual API keyBasic Text to Video Preview
curl --request POST \
--url https://api.pictory.ai/pictoryapis/v2/video/storyboard \
--header 'Authorization: YOUR_API_KEY' \
--header 'Content-Type: application/json' \
--data '{
"videoName": "demo_text_to_video",
"voiceOver": {
"enabled": true,
"aiVoices": [{"speaker": "Brian", "speed": 100}]
},
"scenes": [
{
"story": "AI is transforming how we create content. It automates tasks and saves time.",
"createSceneOnEndOfSentence": true
}
]
}' | python -m json.tool
const response = await fetch('https://api.pictory.ai/pictoryapis/v2/video/storyboard', {
method: 'POST',
headers: {
'Authorization': 'YOUR_API_KEY',
'Content-Type': 'application/json'
},
body: JSON.stringify({
videoName: 'demo_text_to_video',
voiceOver: {
enabled: true,
aiVoices: [{ speaker: 'Brian', speed: 100 }]
},
scenes: [{
story: 'AI is transforming how we create content. It automates tasks and saves time.',
createSceneOnEndOfSentence: true
}]
})
});
const result = await response.json();
console.log('Job ID:', result.data.jobId);
import requests
response = requests.post(
'https://api.pictory.ai/pictoryapis/v2/video/storyboard',
headers={
'Authorization': 'YOUR_API_KEY',
'Content-Type': 'application/json'
},
json={
'videoName': 'demo_text_to_video',
'voiceOver': {
'enabled': True,
'aiVoices': [{'speaker': 'Brian', 'speed': 100}]
},
'scenes': [{
'story': 'AI is transforming how we create content. It automates tasks and saves time.',
'createSceneOnEndOfSentence': True
}]
}
)
result = response.json()
print(f"Job ID: {result['data']['jobId']}")
<?php
$url = 'https://api.pictory.ai/pictoryapis/v2/video/storyboard';
$payload = [
'videoName' => 'demo_text_to_video',
'voiceOver' => [
'enabled' => true,
'aiVoices' => [['speaker' => 'Brian', 'speed' => 100]]
],
'scenes' => [[
'story' => 'AI is transforming how we create content. It automates tasks and saves time.',
'createSceneOnEndOfSentence' => true
]]
];
$ch = curl_init($url);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
curl_setopt($ch, CURLOPT_POST, true);
curl_setopt($ch, CURLOPT_HTTPHEADER, [
'Authorization: YOUR_API_KEY',
'Content-Type: application/json'
]);
curl_setopt($ch, CURLOPT_POSTFIELDS, json_encode($payload));
$response = curl_exec($ch);
curl_close($ch);
$result = json_decode($response, true);
echo "Job ID: " . $result['data']['jobId'] . PHP_EOL;
?>
package main
import (
"bytes"
"encoding/json"
"fmt"
"io"
"net/http"
)
func main() {
url := "https://api.pictory.ai/pictoryapis/v2/video/storyboard"
payload := map[string]interface{}{
"videoName": "demo_text_to_video",
"voiceOver": map[string]interface{}{
"enabled": true,
"aiVoices": []map[string]interface{}{
{"speaker": "Brian", "speed": 100},
},
},
"scenes": []map[string]interface{}{
{
"story": "AI is transforming how we create content. It automates tasks and saves time.",
"createSceneOnEndOfSentence": true,
},
},
}
requestBody, _ := json.Marshal(payload)
req, err := http.NewRequest("POST", url, bytes.NewBuffer(requestBody))
if err != nil {
panic(err)
}
req.Header.Set("Authorization", "YOUR_API_KEY")
req.Header.Set("Content-Type", "application/json")
client := &http.Client{}
resp, err := client.Do(req)
if err != nil {
panic(err)
}
defer resp.Body.Close()
body, _ := io.ReadAll(resp.Body)
var result map[string]interface{}
json.Unmarshal(body, &result)
data := result["data"].(map[string]interface{})
fmt.Println("Job ID:", data["jobId"])
}
Preview with Smart Layout
const response = await fetch('https://api.pictory.ai/pictoryapis/v2/video/storyboard', {
method: 'POST',
headers: {
'Authorization': 'YOUR_API_KEY',
'Content-Type': 'application/json'
},
body: JSON.stringify({
videoName: 'smart_layout_video',
smartLayoutName: 'modern minimalist',
voiceOver: {
enabled: true,
aiVoices: [{ speaker: 'Emma', speed: 100 }]
},
scenes: [{
story: 'Professional video creation has never been easier. Let AI handle the visuals.',
createSceneOnEndOfSentence: true
}]
})
});
response = requests.post(
'https://api.pictory.ai/pictoryapis/v2/video/storyboard',
headers={
'Authorization': 'YOUR_API_KEY',
'Content-Type': 'application/json'
},
json={
'videoName': 'smart_layout_video',
'smartLayoutName': 'modern minimalist',
'voiceOver': {
'enabled': True,
'aiVoices': [{'speaker': 'Emma', 'speed': 100}]
},
'scenes': [{
'story': 'Professional video creation has never been easier. Let AI handle the visuals.',
'createSceneOnEndOfSentence': True
}]
}
)
Preview with AI Story Generation
const response = await fetch('https://api.pictory.ai/pictoryapis/v2/video/storyboard', {
method: 'POST',
headers: {
'Authorization': 'YOUR_API_KEY',
'Content-Type': 'application/json'
},
body: JSON.stringify({
videoName: 'ai_generated_script',
voiceOver: {
enabled: true,
aiVoices: [{ speaker: 'Matthew', speed: 100 }]
},
scenes: [{
brief: {
prompt: 'Benefits of remote work for modern businesses',
videoGoal: 'Explainer',
duration: 90,
platform: 'LinkedIn',
tone: 'professional'
},
createSceneOnEndOfSentence: true
}]
})
});
response = requests.post(
'https://api.pictory.ai/pictoryapis/v2/video/storyboard',
headers={
'Authorization': 'YOUR_API_KEY',
'Content-Type': 'application/json'
},
json={
'videoName': 'ai_generated_script',
'voiceOver': {
'enabled': True,
'aiVoices': [{'speaker': 'Matthew', 'speed': 100}]
},
'scenes': [{
'brief': {
'prompt': 'Benefits of remote work for modern businesses',
'videoGoal': 'Explainer',
'duration': 90,
'platform': 'LinkedIn',
'tone': 'professional'
},
'createSceneOnEndOfSentence': True
}]
}
)
Preview with AI Storyboard (Designed Scenes)
const response = await fetch('https://api.pictory.ai/pictoryapis/v2/video/storyboard', {
method: 'POST',
headers: {
'Authorization': 'YOUR_API_KEY',
'Content-Type': 'application/json'
},
body: JSON.stringify({
videoName: 'ai_storyboard_preview',
aiStoryboard: { enabled: true },
aspectRatio: '16:9',
voiceOver: {
enabled: true,
aiVoices: [{ speaker: 'Brian', speed: 100 }]
},
scenes: [
{
story: 'Onboarding new hires is hard. Most teams lose a week to paperwork and unanswered questions.'
},
{
story: 'Our platform gives every new hire a guided first week.',
background: { visualUrl: 'https://example.com/onboarding.png', type: 'image' }
},
{
story: 'Start your free trial and welcome your next hire the right way.',
background: { color: 'rgba(20,24,60,1)' }
}
]
})
});
response = requests.post(
'https://api.pictory.ai/pictoryapis/v2/video/storyboard',
headers={
'Authorization': 'YOUR_API_KEY',
'Content-Type': 'application/json'
},
json={
'videoName': 'ai_storyboard_preview',
'aiStoryboard': {'enabled': True},
'aspectRatio': '16:9',
'voiceOver': {
'enabled': True,
'aiVoices': [{'speaker': 'Brian', 'speed': 100}]
},
'scenes': [
{
'story': 'Onboarding new hires is hard. Most teams lose a week to paperwork and unanswered questions.'
},
{
'story': 'Our platform gives every new hire a guided first week.',
'background': {'visualUrl': 'https://example.com/onboarding.png', 'type': 'image'}
},
{
'story': 'Start your free trial and welcome your next hire the right way.',
'background': {'color': 'rgba(20,24,60,1)'}
}
]
}
)
Preview with AI Storyboard from a Brief
const response = await fetch('https://api.pictory.ai/pictoryapis/v2/video/storyboard', {
method: 'POST',
headers: {
'Authorization': 'YOUR_API_KEY',
'Content-Type': 'application/json'
},
body: JSON.stringify({
aiStoryboard: { enabled: true },
aspectRatio: '16:9',
voiceOver: {
enabled: true,
aiVoices: [{ speaker: 'Brian' }]
},
scenes: [{
brief: {
prompt: 'Create a 1 minute explainer video that simplifies video creation for beginners.',
videoGoal: 'Explainer',
tone: 'friendly',
duration: 60
}
}]
})
});
response = requests.post(
'https://api.pictory.ai/pictoryapis/v2/video/storyboard',
headers={
'Authorization': 'YOUR_API_KEY',
'Content-Type': 'application/json'
},
json={
'aiStoryboard': {'enabled': True},
'aspectRatio': '16:9',
'voiceOver': {
'enabled': True,
'aiVoices': [{'speaker': 'Brian'}]
},
'scenes': [{
'brief': {
'prompt': 'Create a 1 minute explainer video that simplifies video creation for beginners.',
'videoGoal': 'Explainer',
'tone': 'friendly',
'duration': 60
}
}]
}
)
Preview with AI-Generated Background Image
const response = await fetch('https://api.pictory.ai/pictoryapis/v2/video/storyboard', {
method: 'POST',
headers: {
'Authorization': 'YOUR_API_KEY',
'Content-Type': 'application/json'
},
body: JSON.stringify({
videoName: 'ai_background_image_video',
voiceOver: {
enabled: true,
aiVoices: [{ speaker: 'Brian', speed: 100 }]
},
scenes: [{
story: 'Experience the beauty of nature through AI-generated imagery.',
createSceneOnEndOfSentence: true,
background: {
type: 'image',
aiVisual: {
model: 'seedream3.0',
mediaStyle: 'photorealistic'
},
settings: {
zoomAndPan: true
}
}
}]
})
});
response = requests.post(
'https://api.pictory.ai/pictoryapis/v2/video/storyboard',
headers={
'Authorization': 'YOUR_API_KEY',
'Content-Type': 'application/json'
},
json={
'videoName': 'ai_background_image_video',
'voiceOver': {
'enabled': True,
'aiVoices': [{'speaker': 'Brian', 'speed': 100}]
},
'scenes': [{
'story': 'Experience the beauty of nature through AI-generated imagery.',
'createSceneOnEndOfSentence': True,
'background': {
'type': 'image',
'aiVisual': {
'model': 'seedream3.0',
'mediaStyle': 'photorealistic'
},
'settings': {
'zoomAndPan': True
}
}
}]
}
)
Preview with AI-Generated Background Video Clip
const response = await fetch('https://api.pictory.ai/pictoryapis/v2/video/storyboard', {
method: 'POST',
headers: {
'Authorization': 'YOUR_API_KEY',
'Content-Type': 'application/json'
},
body: JSON.stringify({
videoName: 'ai_background_video_clip',
aspectRatio: '16:9',
voiceOver: {
enabled: true,
aiVoices: [{ speaker: 'Brian', speed: 100 }]
},
scenes: [{
story: 'The future of technology is unfolding before our eyes.',
createSceneOnEndOfSentence: true,
background: {
type: 'video',
aiVisual: {
prompt: 'Futuristic cityscape at night with flying vehicles and neon signs',
model: 'pixverse5.5',
videoDuration: '8s'
}
}
}]
})
});
response = requests.post(
'https://api.pictory.ai/pictoryapis/v2/video/storyboard',
headers={
'Authorization': 'YOUR_API_KEY',
'Content-Type': 'application/json'
},
json={
'videoName': 'ai_background_video_clip',
'aspectRatio': '16:9',
'voiceOver': {
'enabled': True,
'aiVoices': [{'speaker': 'Brian', 'speed': 100}]
},
'scenes': [{
'story': 'The future of technology is unfolding before our eyes.',
'createSceneOnEndOfSentence': True,
'background': {
'type': 'video',
'aiVisual': {
'prompt': 'Futuristic cityscape at night with flying vehicles and neon signs',
'model': 'pixverse5.5',
'videoDuration': '8s'
}
}
}]
}
)
Full Featured Preview Example
const response = await fetch('https://api.pictory.ai/pictoryapis/v2/video/storyboard', {
method: 'POST',
headers: {
'Authorization': 'YOUR_API_KEY',
'Content-Type': 'application/json'
},
body: JSON.stringify({
videoName: 'full_featured_video',
aspectRatio: '16:9',
language: 'en',
saveProject: true,
brandName: 'My Brand',
// Background music
backgroundMusic: {
enabled: true,
autoMusic: true,
volume: 0.3
},
// AI Voice-over
voiceOver: {
enabled: true,
aiVoices: [{
speaker: 'Brian',
speed: 100,
amplificationLevel: 0
}]
},
// Logo
logo: {
url: 'https://example.com/logo.png',
position: 'top-right',
width: '12%'
},
// Subtitle styling
subtitleStyle: {
fontFamily: 'Montserrat',
fontSize: 48,
color: 'rgba(255,255,255,1)',
position: 'bottom-center',
alignment: 'center'
},
// Scenes
scenes: [{
story: 'Welcome to our company. We create innovative solutions. Join us on this journey.',
createSceneOnEndOfSentence: true,
highlightKeywords: true,
sceneTransition: 'fade'
}]
})
});
response = requests.post(
'https://api.pictory.ai/pictoryapis/v2/video/storyboard',
headers={
'Authorization': 'YOUR_API_KEY',
'Content-Type': 'application/json'
},
json={
'videoName': 'full_featured_video',
'aspectRatio': '16:9',
'language': 'en',
'saveProject': True,
'brandName': 'My Brand',
# Background music
'backgroundMusic': {
'enabled': True,
'autoMusic': True,
'volume': 0.3
},
# AI Voice-over
'voiceOver': {
'enabled': True,
'aiVoices': [{
'speaker': 'Brian',
'speed': 100,
'amplificationLevel': 0
}]
},
# Logo
'logo': {
'url': 'https://example.com/logo.png',
'position': 'top-right',
'width': '12%'
},
# Subtitle styling
'subtitleStyle': {
'fontFamily': 'Montserrat',
'fontSize': 48,
'color': 'rgba(255,255,255,1)',
'position': 'bottom-center',
'alignment': 'center'
},
# Scenes
'scenes': [{
'story': 'Welcome to our company. We create innovative solutions. Join us on this journey.',
'createSceneOnEndOfSentence': True,
'highlightKeywords': True,
'sceneTransition': 'fade'
}]
}
)
Error Handling
400 - Missing Required Fields
400 - Missing Required Fields
{
"success": false,
"error": {
"code": "INVALID_REQUEST",
"message": "videoName is required"
}
}
videoName and scenes are provided.400 - Invalid Scene Configuration
400 - Invalid Scene Configuration
{
"success": false,
"error": {
"message": "Scene must have exactly one of: story, brief, blogUrl, pptUrl, audioUrl, or videoUrl"
}
}
400 - Not Supported With aiStoryboard
400 - Not Supported With aiStoryboard
{
"success": false,
"error": {
"message": "aiStoryboard is only supported with blogUrl, story and brief; scenes[0].pptUrl is not supported"
}
}
aiStoryboard enabled, use story, brief, or blogUrl scenes and remove the field named in the message (or remove aiStoryboard to create a standard storyboard). See aiStoryboard Object for the full list.400 - Smart Layout Conflict
400 - Smart Layout Conflict
{
"success": false,
"error": {
"message": "maxSubtitleLines is not allowed when smartLayoutId or smartLayoutName is provided"
}
}
maxSubtitleLines when using smart layouts.401 - Unauthorized
401 - Unauthorized
{
"message": "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
AI Brief to Video
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
Was this page helpful?
