MCP-Server

BlitzReels Video Editor

com.blitzreels/blitzreels
Design & Kreativ Medien & Inhalte Öffentlich und erreichbar MCP 2025-11-25

Was dieses MCP kann

Creates and edits short-form videos, including timelines, captions, transitions, AI-generated visuals, music, voiceovers, sound effects, rendering, and export.

add_text_overlay
Add Title Card
Add an opening title card (hook) or generic text overlay to a project timeline. Defaults to classic white: black text on a white card.
Idempotent
Eingabeschema
{'type': 'object', 'required': ['projectId', 'text', 'idempotencyKey'], 'properties': {'kind': {'enum': ['overlay', 'title_card'], 'type': 'string', 'default': 'title_card', 'description': 'title_card is an opening hook. overlay is generic on-video text.'}, 'name': {'type': 'string', 'maxLength': 255, 'minLength': 1}, 'size': {'enum': ['compact', 'default', 'bold'], 'type': 'string', 'default': 'default', 'description': 'Title-card size. Ignored for overlay.'}, 'text': {'type': 'string', 'maxLength': 500, 'minLength': 1}, 'theme': {'enum': ['classic_white', 'legend_white', 'white_black_outline', 'stacked_black_white', 'red_on_black', 'black_on_yellow', 'red_block'], 'type': 'string', 'default': 'classic_white', 'description': 'Title-card look. classic_white is black text on a white card. Ignored for overlay.'}, 'projectId': {'type': 'string', 'format': 'uuid', 'description': 'UUID string.'}, 'layerIndex': {'type': 'integer', 'minimum': 0}, 'startSeconds': {'type': 'number', 'default': 0, 'minimum': 0}, 'idempotencyKey': {'type': 'string', 'pattern': '^[A-Za-z0-9._:-]+$', 'maxLength': 200, 'minLength': 8, 'description': 'Retry key. Reuse only with identical inputs.'}, 'durationSeconds': {'type': 'number', 'default': 4, 'maximum': 3600, 'minimum': 0, 'exclusiveMinimum': 0}, 'expectedRevision': {'type': 'integer', 'minimum': 0, 'description': 'Expected sequence revision, or null.'}}, 'additionalProperties': False}
Ausgabeschema
{'type': 'object', 'required': ['operationId', 'projectId', 'baseRevision', 'revision', 'replayed', 'txid', 'affectedTimelineItemIds', 'createdTimelineItemIds', 'deletedTimelineItemIds', 'warnings', 'result', 'mutationReceipt'], 'properties': {'txid': {'type': 'number'}, 'result': {'type': 'object'}, 'replayed': {'type': 'boolean'}, 'revision': {'type': 'integer'}, 'warnings': {'type': 'array', 'items': {'type': 'string'}}, 'projectId': {'type': 'string'}, 'operationId': {'type': 'string'}, 'baseRevision': {'type': 'integer'}, 'mutationReceipt': {'type': 'object', 'required': ['id', 'key', 'operation', 'status', 'replayed'], 'properties': {'id': {'type': ['string', 'null']}, 'key': {'type': ['string', 'null']}, 'status': {'enum': ['completed'], 'type': 'string'}, 'replayed': {'type': 'boolean'}, 'operation': {'type': 'string'}}, 'additionalProperties': False}, 'createdTimelineItemIds': {'type': 'array', 'items': {'type': 'string'}}, 'deletedTimelineItemIds': {'type': 'array', 'items': {'type': 'string'}}, 'affectedTimelineItemIds': {'type': 'array', 'items': {'type': 'string'}}}, 'additionalProperties': False}
add_transition
Add Transition
Add a timed transition effect, optionally attached to one timeline item and paired with sound.
Externer Zugriff Idempotent
Eingabeschema
{'type': 'object', 'required': ['projectId', 'startSeconds', 'idempotencyKey'], 'properties': {'name': {'type': 'string', 'maxLength': 255, 'minLength': 1}, 'easing': {'enum': ['linear', 'easeIn', 'easeOut', 'easeInOut'], 'type': 'string', 'default': 'easeInOut'}, 'preset': {'enum': ['flash', 'film-flash', 'whip-left', 'whip-right', 'zoom-punch', 'glitch'], 'type': 'string', 'default': 'flash'}, 'intensity': {'type': 'number', 'default': 0.5, 'maximum': 2, 'minimum': 0.2}, 'projectId': {'type': 'string', 'format': 'uuid', 'description': 'UUID string.'}, 'includeSfx': {'type': 'boolean', 'default': False}, 'layerIndex': {'type': 'integer', 'minimum': 0}, 'startSeconds': {'type': 'number', 'minimum': 0}, 'idempotencyKey': {'type': 'string', 'pattern': '^[A-Za-z0-9._:-]+$', 'maxLength': 200, 'minLength': 8, 'description': 'Retry key. Reuse only with identical inputs.'}, 'timelineItemId': {'type': 'string', 'format': 'uuid'}, 'durationSeconds': {'type': 'number', 'default': 0.6, 'maximum': 10, 'minimum': 0, 'exclusiveMinimum': 0}, 'expectedRevision': {'type': 'integer', 'minimum': 0, 'description': 'Expected sequence revision, or null.'}}, 'additionalProperties': False}
Ausgabeschema
{'type': 'object', 'required': ['operationId', 'projectId', 'baseRevision', 'revision', 'replayed', 'txid', 'affectedTimelineItemIds', 'createdTimelineItemIds', 'deletedTimelineItemIds', 'warnings', 'result', 'mutationReceipt'], 'properties': {'txid': {'type': 'number'}, 'result': {'type': 'object'}, 'replayed': {'type': 'boolean'}, 'revision': {'type': 'integer'}, 'warnings': {'type': 'array', 'items': {'type': 'string'}}, 'projectId': {'type': 'string'}, 'operationId': {'type': 'string'}, 'baseRevision': {'type': 'integer'}, 'mutationReceipt': {'type': 'object', 'required': ['id', 'key', 'operation', 'status', 'replayed'], 'properties': {'id': {'type': ['string', 'null']}, 'key': {'type': ['string', 'null']}, 'status': {'enum': ['completed'], 'type': 'string'}, 'replayed': {'type': 'boolean'}, 'operation': {'type': 'string'}}, 'additionalProperties': False}, 'createdTimelineItemIds': {'type': 'array', 'items': {'type': 'string'}}, 'deletedTimelineItemIds': {'type': 'array', 'items': {'type': 'string'}}, 'affectedTimelineItemIds': {'type': 'array', 'items': {'type': 'string'}}}, 'additionalProperties': False}
batch_update_timeline_clips
Batch Update Timeline Clips
Update timing, trim, layer, or state for up to 100 timeline items in one sequence transaction.
Idempotent
Eingabeschema
{'type': 'object', 'required': ['projectId', 'updates', 'idempotencyKey'], 'properties': {'updates': {'type': 'array', 'items': {'type': 'object', 'required': ['timelineItemId'], 'properties': {'ignored': {'type': 'boolean'}, 'layerIndex': {'type': 'integer', 'minimum': 0}, 'startSeconds': {'type': 'number', 'minimum': 0}, 'timelineItemId': {'type': 'string', 'format': 'uuid'}, 'trimEndSeconds': {'type': 'number', 'minimum': 0}, 'durationSeconds': {'type': 'number', 'exclusiveMinimum': 0}, 'trimStartSeconds': {'type': 'number', 'minimum': 0}, 'blurredBackground': {'type': 'boolean'}}, 'additionalProperties': False}, 'maxItems': 100, 'minItems': 1, 'description': 'Each update needs at least one field to change besides timelineItemId.'}, 'projectId': {'type': 'string', 'format': 'uuid', 'description': 'UUID string.'}, 'idempotencyKey': {'type': 'string', 'pattern': '^[A-Za-z0-9._:-]+$', 'maxLength': 200, 'minLength': 8, 'description': 'Retry key. Reuse only with identical inputs.'}, 'expectedRevision': {'type': 'integer', 'minimum': 0, 'description': 'Expected sequence revision, or null.'}}, 'additionalProperties': False}
Ausgabeschema
{'type': 'object', 'required': ['operationId', 'projectId', 'baseRevision', 'revision', 'replayed', 'txid', 'affectedTimelineItemIds', 'createdTimelineItemIds', 'deletedTimelineItemIds', 'warnings', 'result', 'mutationReceipt'], 'properties': {'txid': {'type': 'number'}, 'result': {'type': 'object'}, 'replayed': {'type': 'boolean'}, 'revision': {'type': 'integer'}, 'warnings': {'type': 'array', 'items': {'type': 'string'}}, 'projectId': {'type': 'string'}, 'operationId': {'type': 'string'}, 'baseRevision': {'type': 'integer'}, 'mutationReceipt': {'type': 'object', 'required': ['id', 'key', 'operation', 'status', 'replayed'], 'properties': {'id': {'type': ['string', 'null']}, 'key': {'type': ['string', 'null']}, 'status': {'enum': ['completed'], 'type': 'string'}, 'replayed': {'type': 'boolean'}, 'operation': {'type': 'string'}}, 'additionalProperties': False}, 'createdTimelineItemIds': {'type': 'array', 'items': {'type': 'string'}}, 'deletedTimelineItemIds': {'type': 'array', 'items': {'type': 'string'}}, 'affectedTimelineItemIds': {'type': 'array', 'items': {'type': 'string'}}}, 'additionalProperties': False}
captions_look_apply
Apply Caption Look
Apply a verified caption look to one project. Preserves word overrides unless clearWordOverrides=true. Existing captions are restyled; spoken audio is preserved.
Destruktiv Idempotent
Eingabeschema
{'type': 'object', 'required': ['projectId', 'lookId', 'idempotencyKey'], 'properties': {'lookId': {'type': ['string', 'null'], 'default': None}, 'projectId': {'type': ['string', 'null'], 'format': 'uuid', 'default': None, 'description': 'UUID string.'}, 'workspaceId': {'type': 'string', 'format': 'uuid', 'description': 'UUID string.'}, 'idempotencyKey': {'type': ['string', 'null'], 'default': None}, 'clearWordOverrides': {'type': 'boolean', 'default': False}}, 'additionalProperties': False}
Ausgabeschema
{'type': 'object', 'additionalProperties': True}
captions_source_prepare
Prepare Source Captions
Restore editable project captions from the selected source's completed canonical transcript. Keeps the full recording and avoids duplicate captions on identical retries. Requires source transcription first; no-speech is an explicit successful state.
Destruktiv Idempotent
Eingabeschema
{'type': 'object', '$schema': 'https://json-schema.org/draft/2020-12/schema', 'required': ['workspaceId', 'idempotencyKey', 'projectId', 'assetId'], 'properties': {'assetId': {'type': 'string', 'format': 'uuid', 'pattern': '^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$', 'description': 'UUID string.'}, 'projectId': {'type': 'string', 'format': 'uuid', 'pattern': '^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$', 'description': 'UUID string.'}, 'workspaceId': {'anyOf': [{'type': 'string', 'format': 'uuid', 'pattern': '^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$'}, {'type': 'null'}], 'default': None}, 'idempotencyKey': {'type': 'string', 'maxLength': 200, 'minLength': 8}}, 'additionalProperties': False}
Ausgabeschema
{'type': 'object', 'additionalProperties': True}
captions_themes_list
List Caption Themes
List built-in caption looks and saved caption themes available to a workspace.
Nur Lesen Idempotent
Eingabeschema
{'type': 'object', 'properties': {'workspaceId': {'type': 'string', 'format': 'uuid', 'description': "Optional workspace ID. Defaults to the user's default workspace. UUID string."}, 'includeSavedThemes': {'type': 'boolean', 'default': True, 'description': 'Include saved workspace caption themes.'}, 'includeBuiltInLooks': {'type': 'boolean', 'default': True, 'description': 'Include built-in caption looks.'}}, 'additionalProperties': False}
Ausgabeschema
{'type': 'object', 'required': ['themes'], 'properties': {'themes': {'type': 'array', 'items': {'type': 'object'}}}, 'additionalProperties': False}
captions_words_correct
Correct Caption Words
Replace selected caption words by their stable IDs. Preserves timing and the other captions; this does not change the spoken audio.
Destruktiv Idempotent
Eingabeschema
{'type': 'object', '$schema': 'https://json-schema.org/draft/2020-12/schema', 'required': ['workspaceId', 'idempotencyKey', 'projectId', 'updates'], 'properties': {'updates': {'type': 'array', 'items': {'type': 'object', 'required': ['wordId', 'text'], 'properties': {'text': {'type': 'string', 'maxLength': 300, 'minLength': 1}, 'wordId': {'type': 'string', 'format': 'uuid', 'pattern': '^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$'}}, 'additionalProperties': False}, 'maxItems': 200, 'minItems': 1}, 'projectId': {'type': 'string', 'format': 'uuid', 'pattern': '^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$', 'description': 'UUID string.'}, 'workspaceId': {'anyOf': [{'type': 'string', 'format': 'uuid', 'pattern': '^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$'}, {'type': 'null'}], 'default': None}, 'idempotencyKey': {'type': 'string', 'maxLength': 200, 'minLength': 8}}, 'additionalProperties': False}
Ausgabeschema
{'type': 'object', 'additionalProperties': True}
captions_words_list
Read Caption Words
Read bounded editable caption words and stable word IDs for one project, optionally matching text.
Nur Lesen Idempotent
Eingabeschema
{'type': 'object', '$schema': 'https://json-schema.org/draft/2020-12/schema', 'required': ['workspaceId', 'projectId', 'matchText', 'limit', 'offset'], 'properties': {'limit': {'type': 'integer', 'default': 100, 'maximum': 200, 'minimum': 1}, 'offset': {'type': 'integer', 'default': 0, 'maximum': 9007199254740991, 'minimum': 0}, 'matchText': {'anyOf': [{'type': 'string', 'maxLength': 200}, {'type': 'null'}], 'default': None}, 'projectId': {'type': 'string', 'format': 'uuid', 'pattern': '^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$', 'description': 'UUID string.'}, 'workspaceId': {'anyOf': [{'type': 'string', 'format': 'uuid', 'pattern': '^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$'}, {'type': 'null'}], 'default': None}}, 'additionalProperties': False}
Ausgabeschema
{'type': 'object', 'additionalProperties': True}
carousels_clone
Clone Carousel
Duplicate a carousel onto a new project. Copies slots. Icon and shot values may be pack filenames or asset:<media_asset_id>.
Idempotent
Eingabeschema
{'type': 'object', '$schema': 'https://json-schema.org/draft/2020-12/schema', 'required': ['idempotencyKey', 'projectId'], 'properties': {'name': {'type': 'string', 'maxLength': 120, 'minLength': 1}, 'projectId': {'type': 'string', 'format': 'uuid', 'pattern': '^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$', 'description': 'UUID string.'}, 'workspaceId': {'anyOf': [{'type': 'string', 'format': 'uuid', 'pattern': '^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$'}, {'type': 'null'}]}, 'idempotencyKey': {'type': 'string', 'maxLength': 200, 'minLength': 8}}, 'additionalProperties': False}
Ausgabeschema
{'type': 'object', 'properties': {'kit': {'type': 'object', 'required': ['themes', 'templates', 'active_theme_id'], 'properties': {'themes': {'type': 'array', 'items': {'type': 'object', 'required': ['id', 'name', 'scope', 'fontFamily', 'titleColor', 'bodyColor', 'background', 'pageColor', 'overlayEnabled', 'overlayOpacity'], 'properties': {'id': {'type': 'string', 'format': 'uuid', 'pattern': '^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$'}, 'name': {'type': 'string', 'maxLength': 80, 'minLength': 1}, 'scope': {'enum': ['project', 'brand'], 'type': 'string'}, 'bodyColor': {'type': 'string', 'pattern': '^#[0-9a-fA-F]{6}$'}, 'pageColor': {'type': 'string', 'default': '', 'maxLength': 32}, 'background': {'type': 'string', 'default': '', 'maxLength': 32}, 'fontFamily': {'type': 'string', 'default': '', 'maxLength': 80}, 'titleColor': {'type': 'string', 'pattern': '^#[0-9a-fA-F]{6}$'}, 'logoAssetId': {'anyOf': [{'type': 'string', 'format': 'uuid', 'pattern': '^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$'}, {'type': 'null'}]}, 'overlayEnabled': {'type': 'boolean'}, 'overlayOpacity': {'type': 'integer', 'maximum': 100, 'minimum': 0}}, 'additionalProperties': False}, 'maxItems': 40}, 'templates': {'type': 'array', 'items': {'type': 'object', 'required': ['id', 'name', 'scope', 'template_id', 'slots'], 'properties': {'id': {'type': 'string', 'format': 'uuid', 'pattern': '^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$'}, 'name': {'type': 'string', 'maxLength': 80, 'minLength': 1}, 'scope': {'enum': ['project', 'brand'], 'type': 'string'}, 'slots': {'type': 'object', 'propertyNames': {'type': 'string', 'maxLength': 80, 'minLength': 1}, 'additionalProperties': {'type': 'string', 'maxLength': 4000}}, 'template_id': {'type': 'string', 'maxLength': 80, 'minLength': 1}}, 'additionalProperties': False}, 'maxItems': 40}, 'active_theme_id': {'anyOf': [{'type': 'string', 'format': 'uuid', 'pattern': '^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$'}, {'type': 'null'}]}}, 'additionalProperties': False}, 'name': {'type': 'string'}, 'frame': {'type': 'object', 'required': ['width', 'height', 'aspect_ratio'], 'properties': {'width': {'type': 'integer', 'maximum': 9007199254740991, 'minimum': -9007199254740991}, 'height': {'type': 'integer', 'maximum': 9007199254740991, 'minimum': -9007199254740991}, 'aspect_ratio': {'type': 'string'}}, 'additionalProperties': False}, 'style': {'anyOf': [{'type': 'object', 'properties': {'chip': {'type': 'object', 'properties': {'color': {'type': 'string', 'maxLength': 32, 'minLength': 1}, 'radius': {'type': 'integer', 'maximum': 48, 'minimum': 0}, 'font_size': {'type': 'integer', 'maximum': 120, 'minimum': 12}, 'padding_x': {'type': 'integer', 'maximum': 80, 'minimum': 0}, 'padding_y': {'type': 'integer', 'maximum': 80, 'minimum': 0}, 'background': {'type': 'string', 'maxLength': 32, 'minLength': 1}, 'font_family': {'type': 'string', 'maxLength': 80, 'minLength': 1}, 'font_weight': {'anyOf': [{'type': 'integer', 'maximum': 900, 'minimum': 100}, {'type': 'string'}]}, 'max_lines_per_chip': {'type': 'integer', 'maximum': 4, 'minimum': 1}}, 'additionalProperties': False}}, 'additionalProperties': False}, {'type': 'null'}]}, 'locale': {'type': ['string', 'null']}, 'slides': {'type': 'array', 'items': {'type': 'object', 'required': ['index', 'role', 'lines', 'slots', 'layout', 'visual'], 'properties': {'role': {'anyOf': [{'enum': ['hook', 'body', 'proof', 'cta'], 'type': 'string'}, {'type': 'null'}]}, 'index': {'type': 'integer', 'maximum': 9007199254740991, 'minimum': 0}, 'lines': {'type': 'array', 'items': {'type': 'string'}}, 'slots': {'type': 'object', 'propertyNames': {'type': 'string', 'maxLength': 80, 'minLength': 1}, 'additionalProperties': {'type': 'string', 'maxLength': 4000}}, 'layout': {'anyOf': [{'enum': ['chip_stack_ui', 'chip_stack_face_safe', 'chip_stack_top', 'title_body_card'], 'type': 'string'}, {'type': 'null'}]}, 'visual': {'type': 'object', 'required': ['kind'], 'properties': {'html': {'type': 'string', 'maxLength': 80000, 'minLength': 20}, 'kind': {'enum': ['media_asset', 'generate', 'solid', 'gradient', 'html', 'template'], 'type': 'string'}, 'color': {'type': 'string', 'pattern': '^#[0-9a-fA-F]{6}$'}, 'colors': {'type': 'array', 'items': {'type': 'string', 'pattern': '^#[0-9a-fA-F]{6}$'}, 'maxItems': 2, 'minItems': 1}, 'prompt': {'type': 'string', 'maxLength': 1000, 'minLength': 3}, 'model_id': {'type': 'string', 'maxLength': 120, 'minLength': 1}, 'template_id': {'type': 'string', 'maxLength': 80, 'minLength': 1}, 'media_asset_id': {'type': 'string', 'format': 'uuid', 'pattern': '^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$'}, 'source_media_asset_id': {'type': 'string', 'format': 'uuid', 'pattern': '^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$'}}, 'additionalProperties': False}, 'photo_url': {'anyOf': [{'type': 'string', 'maxLength': 4000, 'minLength': 1}, {'type': 'null'}]}, 'slot_urls': {'type': 'object', 'propertyNames': {'type': 'string'}, 'additionalProperties': {'type': 'string', 'maxLength': 4000, 'minLength': 1}}}, 'additionalProperties': False}}, 'can_undo': {'type': 'boolean'}, 'platform': {'anyOf': [{'enum': ['tiktok_photo', 'instagram_4x5', 'linkedin'], 'type': 'string'}, {'type': 'null'}]}, 'revision': {'type': 'integer', 'maximum': 9007199254740991, 'minimum': 0}, 'warnings': {'type': 'array', 'items': {'type': 'object', 'required': ['code', 'message'], 'properties': {'code': {'type': 'string'}, 'field': {'type': 'string'}, 'repair': {'type': 'string'}, 'message': {'type': 'string'}}, 'additionalProperties': False}}, 'templates': {'type': 'array', 'items': {'type': 'object', 'required': ['id', 'label', 'family', 'slots'], 'properties': {'id': {'type': 'string'}, 'label': {'type': 'string'}, 'slots': {'type': 'array', 'items': {'type': 'object', 'required': ['key', 'label'], 'properties': {'key': {'type': 'string'}, 'label': {'type': 'string'}}, 'additionalProperties': False}}, 'family': {'enum': ['photo', 'designed'], 'type': 'string'}}, 'additionalProperties': False}}, 'project_id': {'type': 'string', 'format': 'uuid', 'pattern': '^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$'}, 'next_actions': {'type': 'array', 'items': {'type': 'object', 'required': ['method', 'path', 'reason'], 'properties': {'path': {'type': 'string'}, 'method': {'enum': ['GET', 'POST', 'PATCH', 'DELETE'], 'type': 'string'}, 'reason': {'type': 'string'}}, 'additionalProperties': False}}, 'mutationReceipt': {'type': 'object', 'required': ['id', 'key', 'operation', 'status', 'replayed'], 'properties': {'id': {'type': ['string', 'null']}, 'key': {'type': ['string', 'null']}, 'status': {'enum': ['completed'], 'type': 'string'}, 'replayed': {'type': 'boolean'}, 'operation': {'type': 'string'}}, 'additionalProperties': False}}, 'additionalProperties': False}
carousels_compile
Compile Carousel
Create or replace a carousel project from a slide document. Server owns chip layout, safezones, and exact export pixels.
Idempotent
Eingabeschema
{'type': 'object', '$schema': 'https://json-schema.org/draft/2020-12/schema', 'required': ['platform', 'name', 'slides', 'idempotencyKey'], 'properties': {'name': {'type': 'string', 'maxLength': 120, 'minLength': 1}, 'style': {'type': 'object', 'properties': {'chip': {'type': 'object', 'properties': {'color': {'type': 'string', 'maxLength': 32, 'minLength': 1}, 'radius': {'type': 'integer', 'maximum': 48, 'minimum': 0}, 'font_size': {'type': 'integer', 'maximum': 120, 'minimum': 12}, 'padding_x': {'type': 'integer', 'maximum': 80, 'minimum': 0}, 'padding_y': {'type': 'integer', 'maximum': 80, 'minimum': 0}, 'background': {'type': 'string', 'maxLength': 32, 'minLength': 1}, 'font_family': {'type': 'string', 'maxLength': 80, 'minLength': 1}, 'font_weight': {'anyOf': [{'type': 'integer', 'maximum': 900, 'minimum': 100}, {'type': 'string'}]}, 'max_lines_per_chip': {'type': 'integer', 'maximum': 4, 'minimum': 1}}, 'additionalProperties': False}}, 'additionalProperties': False}, 'locale': {'type': 'string', 'maxLength': 12, 'minLength': 2}, 'slides': {'type': 'array', 'items': {'type': 'object', 'required': ['lines', 'visual'], 'properties': {'role': {'enum': ['hook', 'body', 'proof', 'cta'], 'type': 'string'}, 'lines': {'type': 'array', 'items': {'type': 'string', 'maxLength': 200, 'minLength': 1}, 'default': [], 'maxItems': 6}, 'slots': {'type': 'object', 'propertyNames': {'type': 'string', 'maxLength': 80, 'minLength': 1}, 'additionalProperties': {'type': 'string', 'maxLength': 4000}}, 'layout': {'enum': ['chip_stack_ui', 'chip_stack_face_safe', 'chip_stack_top', 'title_body_card'], 'type': 'string'}, 'visual': {'type': 'object', 'required': ['kind'], 'properties': {'html': {'type': 'string', 'maxLength': 80000, 'minLength': 20}, 'kind': {'enum': ['media_asset', 'generate', 'solid', 'gradient', 'html', 'template'], 'type': 'string'}, 'color': {'type': 'string', 'pattern': '^#[0-9a-fA-F]{6}$'}, 'colors': {'type': 'array', 'items': {'type': 'string', 'pattern': '^#[0-9a-fA-F]{6}$'}, 'maxItems': 2, 'minItems': 1}, 'prompt': {'type': 'string', 'maxLength': 1000, 'minLength': 3}, 'model_id': {'type': 'string', 'maxLength': 120, 'minLength': 1}, 'template_id': {'type': 'string', 'maxLength': 80, 'minLength': 1}, 'media_asset_id': {'type': 'string', 'format': 'uuid', 'pattern': '^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$'}, 'source_media_asset_id': {'type': 'string', 'format': 'uuid', 'pattern': '^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$'}}, 'additionalProperties': False}, 'layout_overrides': {'type': 'object', 'properties': {'top_px': {'type': 'integer', 'maximum': 1920, 'minimum': 0}}, 'additionalProperties': False}}, 'additionalProperties': False}, 'maxItems': 35, 'minItems': 1}, 'platform': {'enum': ['tiktok_photo', 'instagram_4x5', 'linkedin'], 'type': 'string'}, 'series_id': {'type': 'string', 'format': 'uuid', 'pattern': '^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$'}, 'project_id': {'type': 'string', 'format': 'uuid', 'pattern': '^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$'}, 'workspaceId': {'anyOf': [{'type': 'string', 'format': 'uuid', 'pattern': '^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$'}, {'type': 'null'}]}, 'clear_existing': {'type': 'boolean'}, 'idempotencyKey': {'type': 'string', 'maxLength': 200, 'minLength': 8}}, 'additionalProperties': False}
Ausgabeschema
{'type': 'object', 'required': ['project_id', 'revision', 'platform', 'slide_count', 'slides', 'frame', 'warnings', 'next_actions', 'mutationReceipt'], 'properties': {'frame': {'type': 'object', 'required': ['width', 'height', 'aspect_ratio'], 'properties': {'width': {'type': 'integer', 'maximum': 9007199254740991, 'minimum': -9007199254740991}, 'height': {'type': 'integer', 'maximum': 9007199254740991, 'minimum': -9007199254740991}, 'aspect_ratio': {'type': 'string'}}, 'additionalProperties': False}, 'job_id': {'type': ['string', 'null']}, 'slides': {'type': 'array', 'items': {'type': 'object', 'required': ['index', 'role', 'timeline_item_ids', 'overlay_ids', 'layout_applied', 'chip_band_px'], 'properties': {'role': {'anyOf': [{'enum': ['hook', 'body', 'proof', 'cta'], 'type': 'string'}, {'type': 'null'}]}, 'index': {'type': 'integer', 'maximum': 9007199254740991, 'minimum': 0}, 'overlay_ids': {'type': 'array', 'items': {'type': 'string'}}, 'chip_band_px': {'type': 'object', 'required': ['top', 'bottom'], 'properties': {'top': {'type': 'number'}, 'bottom': {'type': 'number'}}, 'additionalProperties': False}, 'layout_applied': {'enum': ['chip_stack_ui', 'chip_stack_face_safe', 'chip_stack_top', 'title_body_card'], 'type': 'string'}, 'timeline_item_ids': {'type': 'array', 'items': {'type': 'string'}}}, 'additionalProperties': False}}, 'platform': {'enum': ['tiktok_photo', 'instagram_4x5', 'linkedin'], 'type': 'string'}, 'revision': {'type': 'integer', 'maximum': 9007199254740991, 'minimum': 0}, 'warnings': {'type': 'array', 'items': {'type': 'object', 'required': ['code', 'message'], 'properties': {'code': {'type': 'string'}, 'field': {'type': 'string'}, 'repair': {'type': 'string'}, 'message': {'type': 'string'}}, 'additionalProperties': False}}, 'project_id': {'type': 'string', 'format': 'uuid', 'pattern': '^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$'}, 'slide_count': {'type': 'integer', 'maximum': 9007199254740991, 'minimum': 1}, 'next_actions': {'type': 'array', 'items': {'type': 'object', 'required': ['method', 'path', 'reason'], 'properties': {'path': {'type': 'string'}, 'method': {'enum': ['GET', 'POST', 'PATCH', 'DELETE'], 'type': 'string'}, 'reason': {'type': 'string'}}, 'additionalProperties': False}}, 'ai_image_run_id': {'type': ['string', 'null']}, 'mutationReceipt': {'type': 'object', 'required': ['id', 'key', 'operation', 'status', 'replayed'], 'properties': {'id': {'type': ['string', 'null']}, 'key': {'type': ['string', 'null']}, 'status': {'enum': ['completed'], 'type': 'string'}, 'replayed': {'type': 'boolean'}, 'operation': {'type': 'string'}}, 'additionalProperties': False}}, 'additionalProperties': False}
carousels_expand_recipe
Expand Carousel Recipe
Turn a named recipe or a brief into compile-ready named-template slides. Expand never publishes and never invents metrics.
Nur Lesen Idempotent
Eingabeschema
{'type': 'object', '$schema': 'https://json-schema.org/draft/2020-12/schema', 'required': ['recipeId'], 'properties': {'name': {'type': 'string', 'maxLength': 120, 'minLength': 1}, 'brief': {'type': 'string', 'maxLength': 8000, 'minLength': 1}, 'offer': {'type': 'string', 'maxLength': 400, 'minLength': 1}, 'locale': {'type': 'string', 'maxLength': 12, 'minLength': 2}, 'product': {'type': 'string', 'maxLength': 200, 'minLength': 1}, 'audience': {'type': 'string', 'maxLength': 200, 'minLength': 1}, 'platform': {'enum': ['tiktok_photo', 'instagram_4x5', 'linkedin'], 'type': 'string'}, 'recipeId': {'enum': ['curiosity_gap_ugc_7', 'result_first_demo_6', 'myth_guillotine_8', 'before_after_5', 'from_brief'], 'type': 'string'}, 'workspaceId': {'anyOf': [{'type': 'string', 'format': 'uuid', 'pattern': '^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$'}, {'type': 'null'}]}}, 'additionalProperties': False}
Ausgabeschema
{'type': 'object', '$schema': 'https://json-schema.org/draft/2020-12/schema', 'required': ['recipe_id', 'name', 'platform', 'slides'], 'properties': {'name': {'type': 'string'}, 'locale': {'type': ['string', 'null']}, 'slides': {'type': 'array', 'items': {'type': 'object', 'required': ['lines', 'visual'], 'properties': {'role': {'enum': ['hook', 'body', 'proof', 'cta'], 'type': 'string'}, 'lines': {'type': 'array', 'items': {'type': 'string', 'maxLength': 200, 'minLength': 1}, 'default': [], 'maxItems': 6}, 'slots': {'type': 'object', 'propertyNames': {'type': 'string', 'maxLength': 80, 'minLength': 1}, 'additionalProperties': {'type': 'string', 'maxLength': 4000}}, 'layout': {'enum': ['chip_stack_ui', 'chip_stack_face_safe', 'chip_stack_top', 'title_body_card'], 'type': 'string'}, 'visual': {'type': 'object', 'required': ['kind'], 'properties': {'html': {'type': 'string', 'maxLength': 80000, 'minLength': 20}, 'kind': {'enum': ['media_asset', 'generate', 'solid', 'gradient', 'html', 'template'], 'type': 'string'}, 'color': {'type': 'string', 'pattern': '^#[0-9a-fA-F]{6}$'}, 'colors': {'type': 'array', 'items': {'type': 'string', 'pattern': '^#[0-9a-fA-F]{6}$'}, 'maxItems': 2, 'minItems': 1}, 'prompt': {'type': 'string', 'maxLength': 1000, 'minLength': 3}, 'model_id': {'type': 'string', 'maxLength': 120, 'minLength': 1}, 'template_id': {'type': 'string', 'maxLength': 80, 'minLength': 1}, 'media_asset_id': {'type': 'string', 'format': 'uuid', 'pattern': '^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$'}, 'source_media_asset_id': {'type': 'string', 'format': 'uuid', 'pattern': '^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$'}}, 'additionalProperties': False}, 'layout_overrides': {'type': 'object', 'properties': {'top_px': {'type': 'integer', 'maximum': 1920, 'minimum': 0}}, 'additionalProperties': False}}, 'additionalProperties': False}}, 'platform': {'enum': ['tiktok_photo', 'instagram_4x5', 'linkedin'], 'type': 'string'}, 'recipe_id': {'enum': ['curiosity_gap_ugc_7', 'result_first_demo_6', 'myth_guillotine_8', 'before_after_5', 'from_brief'], 'type': 'string'}}, 'additionalProperties': False}
carousels_get
Get Carousel Document
Read the carousel slot document and the named template catalog.
Nur Lesen Idempotent
Eingabeschema
{'type': 'object', '$schema': 'https://json-schema.org/draft/2020-12/schema', 'required': ['projectId'], 'properties': {'projectId': {'type': 'string', 'format': 'uuid', 'pattern': '^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$', 'description': 'UUID string.'}, 'workspaceId': {'anyOf': [{'type': 'string', 'format': 'uuid', 'pattern': '^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$'}, {'type': 'null'}]}}, 'additionalProperties': False}
Ausgabeschema
{'type': 'object', '$schema': 'https://json-schema.org/draft/2020-12/schema', 'required': ['project_id', 'revision', 'name', 'platform', 'locale', 'frame', 'style', 'slides', 'templates', 'can_undo', 'warnings', 'next_actions'], 'properties': {'kit': {'type': 'object', 'required': ['themes', 'templates', 'active_theme_id'], 'properties': {'themes': {'type': 'array', 'items': {'type': 'object', 'required': ['id', 'name', 'scope', 'fontFamily', 'titleColor', 'bodyColor', 'background', 'pageColor', 'overlayEnabled', 'overlayOpacity'], 'properties': {'id': {'type': 'string', 'format': 'uuid', 'pattern': '^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$'}, 'name': {'type': 'string', 'maxLength': 80, 'minLength': 1}, 'scope': {'enum': ['project', 'brand'], 'type': 'string'}, 'bodyColor': {'type': 'string', 'pattern': '^#[0-9a-fA-F]{6}$'}, 'pageColor': {'type': 'string', 'default': '', 'maxLength': 32}, 'background': {'type': 'string', 'default': '', 'maxLength': 32}, 'fontFamily': {'type': 'string', 'default': '', 'maxLength': 80}, 'titleColor': {'type': 'string', 'pattern': '^#[0-9a-fA-F]{6}$'}, 'logoAssetId': {'anyOf': [{'type': 'string', 'format': 'uuid', 'pattern': '^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$'}, {'type': 'null'}]}, 'overlayEnabled': {'type': 'boolean'}, 'overlayOpacity': {'type': 'integer', 'maximum': 100, 'minimum': 0}}, 'additionalProperties': False}, 'maxItems': 40}, 'templates': {'type': 'array', 'items': {'type': 'object', 'required': ['id', 'name', 'scope', 'template_id', 'slots'], 'properties': {'id': {'type': 'string', 'format': 'uuid', 'pattern': '^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$'}, 'name': {'type': 'string', 'maxLength': 80, 'minLength': 1}, 'scope': {'enum': ['project', 'brand'], 'type': 'string'}, 'slots': {'type': 'object', 'propertyNames': {'type': 'string', 'maxLength': 80, 'minLength': 1}, 'additionalProperties': {'type': 'string', 'maxLength': 4000}}, 'template_id': {'type': 'string', 'maxLength': 80, 'minLength': 1}}, 'additionalProperties': False}, 'maxItems': 40}, 'active_theme_id': {'anyOf': [{'type': 'string', 'format': 'uuid', 'pattern': '^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$'}, {'type': 'null'}]}}, 'additionalProperties': False}, 'name': {'type': 'string'}, 'frame': {'type': 'object', 'required': ['width', 'height', 'aspect_ratio'], 'properties': {'width': {'type': 'integer', 'maximum': 9007199254740991, 'minimum': -9007199254740991}, 'height': {'type': 'integer', 'maximum': 9007199254740991, 'minimum': -9007199254740991}, 'aspect_ratio': {'type': 'string'}}, 'additionalProperties': False}, 'style': {'anyOf': [{'type': 'object', 'properties': {'chip': {'type': 'object', 'properties': {'color': {'type': 'string', 'maxLength': 32, 'minLength': 1}, 'radius': {'type': 'integer', 'maximum': 48, 'minimum': 0}, 'font_size': {'type': 'integer', 'maximum': 120, 'minimum': 12}, 'padding_x': {'type': 'integer', 'maximum': 80, 'minimum': 0}, 'padding_y': {'type': 'integer', 'maximum': 80, 'minimum': 0}, 'background': {'type': 'string', 'maxLength': 32, 'minLength': 1}, 'font_family': {'type': 'string', 'maxLength': 80, 'minLength': 1}, 'font_weight': {'anyOf': [{'type': 'integer', 'maximum': 900, 'minimum': 100}, {'type': 'string'}]}, 'max_lines_per_chip': {'type': 'integer', 'maximum': 4, 'minimum': 1}}, 'additionalProperties': False}}, 'additionalProperties': False}, {'type': 'null'}]}, 'locale': {'type': ['string', 'null']}, 'slides': {'type': 'array', 'items': {'type': 'object', 'required': ['index', 'role', 'lines', 'slots', 'layout', 'visual'], 'properties': {'role': {'anyOf': [{'enum': ['hook', 'body', 'proof', 'cta'], 'type': 'string'}, {'type': 'null'}]}, 'index': {'type': 'integer', 'maximum': 9007199254740991, 'minimum': 0}, 'lines': {'type': 'array', 'items': {'type': 'string'}}, 'slots': {'type': 'object', 'propertyNames': {'type': 'string', 'maxLength': 80, 'minLength': 1}, 'additionalProperties': {'type': 'string', 'maxLength': 4000}}, 'layout': {'anyOf': [{'enum': ['chip_stack_ui', 'chip_stack_face_safe', 'chip_stack_top', 'title_body_card'], 'type': 'string'}, {'type': 'null'}]}, 'visual': {'type': 'object', 'required': ['kind'], 'properties': {'html': {'type': 'string', 'maxLength': 80000, 'minLength': 20}, 'kind': {'enum': ['media_asset', 'generate', 'solid', 'gradient', 'html', 'template'], 'type': 'string'}, 'color': {'type': 'string', 'pattern': '^#[0-9a-fA-F]{6}$'}, 'colors': {'type': 'array', 'items': {'type': 'string', 'pattern': '^#[0-9a-fA-F]{6}$'}, 'maxItems': 2, 'minItems': 1}, 'prompt': {'type': 'string', 'maxLength': 1000, 'minLength': 3}, 'model_id': {'type': 'string', 'maxLength': 120, 'minLength': 1}, 'template_id': {'type': 'string', 'maxLength': 80, 'minLength': 1}, 'media_asset_id': {'type': 'string', 'format': 'uuid', 'pattern': '^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$'}, 'source_media_asset_id': {'type': 'string', 'format': 'uuid', 'pattern': '^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$'}}, 'additionalProperties': False}, 'photo_url': {'anyOf': [{'type': 'string', 'maxLength': 4000, 'minLength': 1}, {'type': 'null'}]}, 'slot_urls': {'type': 'object', 'propertyNames': {'type': 'string'}, 'additionalProperties': {'type': 'string', 'maxLength': 4000, 'minLength': 1}}}, 'additionalProperties': False}}, 'can_undo': {'type': 'boolean'}, 'platform': {'anyOf': [{'enum': ['tiktok_photo', 'instagram_4x5', 'linkedin'], 'type': 'string'}, {'type': 'null'}]}, 'revision': {'type': 'integer', 'maximum': 9007199254740991, 'minimum': 0}, 'warnings': {'type': 'array', 'items': {'type': 'object', 'required': ['code', 'message'], 'properties': {'code': {'type': 'string'}, 'field': {'type': 'string'}, 'repair': {'type': 'string'}, 'message': {'type': 'string'}}, 'additionalProperties': False}}, 'templates': {'type': 'array', 'items': {'type': 'object', 'required': ['id', 'label', 'family', 'slots'], 'properties': {'id': {'type': 'string'}, 'label': {'type': 'string'}, 'slots': {'type': 'array', 'items': {'type': 'object', 'required': ['key', 'label'], 'properties': {'key': {'type': 'string'}, 'label': {'type': 'string'}}, 'additionalProperties': False}}, 'family': {'enum': ['photo', 'designed'], 'type': 'string'}}, 'additionalProperties': False}}, 'project_id': {'type': 'string', 'format': 'uuid', 'pattern': '^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$'}, 'next_actions': {'type': 'array', 'items': {'type': 'object', 'required': ['method', 'path', 'reason'], 'properties': {'path': {'type': 'string'}, 'method': {'enum': ['GET', 'POST', 'PATCH', 'DELETE'], 'type': 'string'}, 'reason': {'type': 'string'}}, 'additionalProperties': False}}}, 'additionalProperties': False}
carousels_kit
Carousel Theme Kit
Save or apply a theme, brand theme, or named slide template. Themes rewrite fonts, colors, overlay, and asset:<id> logos. Never persist signed URLs.
Idempotent
Eingabeschema
{'type': 'object', '$schema': 'https://json-schema.org/draft/2020-12/schema', 'required': ['idempotencyKey', 'projectId', 'op'], 'properties': {'op': {'enum': ['save_theme', 'apply_theme', 'delete_theme', 'save_template', 'apply_template', 'delete_template', 'apply_brand'], 'type': 'string'}, 'name': {'type': 'string', 'maxLength': 80, 'minLength': 1}, 'scope': {'enum': ['project', 'brand'], 'type': 'string'}, 'themeId': {'type': 'string', 'format': 'uuid', 'pattern': '^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$'}, 'projectId': {'type': 'string', 'format': 'uuid', 'pattern': '^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$', 'description': 'UUID string.'}, 'slideIndex': {'type': 'integer', 'maximum': 34, 'minimum': 0}, 'workspaceId': {'anyOf': [{'type': 'string', 'format': 'uuid', 'pattern': '^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$'}, {'type': 'null'}]}, 'idempotencyKey': {'type': 'string', 'maxLength': 200, 'minLength': 8}, 'savedTemplateId': {'type': 'string', 'format': 'uuid', 'pattern': '^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$'}}, 'additionalProperties': False}
Ausgabeschema
{'type': 'object', 'properties': {'kit': {'type': 'object', 'required': ['themes', 'templates', 'active_theme_id'], 'properties': {'themes': {'type': 'array', 'items': {'type': 'object', 'required': ['id', 'name', 'scope', 'fontFamily', 'titleColor', 'bodyColor', 'background', 'pageColor', 'overlayEnabled', 'overlayOpacity'], 'properties': {'id': {'type': 'string', 'format': 'uuid', 'pattern': '^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$'}, 'name': {'type': 'string', 'maxLength': 80, 'minLength': 1}, 'scope': {'enum': ['project', 'brand'], 'type': 'string'}, 'bodyColor': {'type': 'string', 'pattern': '^#[0-9a-fA-F]{6}$'}, 'pageColor': {'type': 'string', 'default': '', 'maxLength': 32}, 'background': {'type': 'string', 'default': '', 'maxLength': 32}, 'fontFamily': {'type': 'string', 'default': '', 'maxLength': 80}, 'titleColor': {'type': 'string', 'pattern': '^#[0-9a-fA-F]{6}$'}, 'logoAssetId': {'anyOf': [{'type': 'string', 'format': 'uuid', 'pattern': '^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$'}, {'type': 'null'}]}, 'overlayEnabled': {'type': 'boolean'}, 'overlayOpacity': {'type': 'integer', 'maximum': 100, 'minimum': 0}}, 'additionalProperties': False}, 'maxItems': 40}, 'templates': {'type': 'array', 'items': {'type': 'object', 'required': ['id', 'name', 'scope', 'template_id', 'slots'], 'properties': {'id': {'type': 'string', 'format': 'uuid', 'pattern': '^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$'}, 'name': {'type': 'string', 'maxLength': 80, 'minLength': 1}, 'scope': {'enum': ['project', 'brand'], 'type': 'string'}, 'slots': {'type': 'object', 'propertyNames': {'type': 'string', 'maxLength': 80, 'minLength': 1}, 'additionalProperties': {'type': 'string', 'maxLength': 4000}}, 'template_id': {'type': 'string', 'maxLength': 80, 'minLength': 1}}, 'additionalProperties': False}, 'maxItems': 40}, 'active_theme_id': {'anyOf': [{'type': 'string', 'format': 'uuid', 'pattern': '^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$'}, {'type': 'null'}]}}, 'additionalProperties': False}, 'name': {'type': 'string'}, 'frame': {'type': 'object', 'required': ['width', 'height', 'aspect_ratio'], 'properties': {'width': {'type': 'integer', 'maximum': 9007199254740991, 'minimum': -9007199254740991}, 'height': {'type': 'integer', 'maximum': 9007199254740991, 'minimum': -9007199254740991}, 'aspect_ratio': {'type': 'string'}}, 'additionalProperties': False}, 'style': {'anyOf': [{'type': 'object', 'properties': {'chip': {'type': 'object', 'properties': {'color': {'type': 'string', 'maxLength': 32, 'minLength': 1}, 'radius': {'type': 'integer', 'maximum': 48, 'minimum': 0}, 'font_size': {'type': 'integer', 'maximum': 120, 'minimum': 12}, 'padding_x': {'type': 'integer', 'maximum': 80, 'minimum': 0}, 'padding_y': {'type': 'integer', 'maximum': 80, 'minimum': 0}, 'background': {'type': 'string', 'maxLength': 32, 'minLength': 1}, 'font_family': {'type': 'string', 'maxLength': 80, 'minLength': 1}, 'font_weight': {'anyOf': [{'type': 'integer', 'maximum': 900, 'minimum': 100}, {'type': 'string'}]}, 'max_lines_per_chip': {'type': 'integer', 'maximum': 4, 'minimum': 1}}, 'additionalProperties': False}}, 'additionalProperties': False}, {'type': 'null'}]}, 'locale': {'type': ['string', 'null']}, 'slides': {'type': 'array', 'items': {'type': 'object', 'required': ['index', 'role', 'lines', 'slots', 'layout', 'visual'], 'properties': {'role': {'anyOf': [{'enum': ['hook', 'body', 'proof', 'cta'], 'type': 'string'}, {'type': 'null'}]}, 'index': {'type': 'integer', 'maximum': 9007199254740991, 'minimum': 0}, 'lines': {'type': 'array', 'items': {'type': 'string'}}, 'slots': {'type': 'object', 'propertyNames': {'type': 'string', 'maxLength': 80, 'minLength': 1}, 'additionalProperties': {'type': 'string', 'maxLength': 4000}}, 'layout': {'anyOf': [{'enum': ['chip_stack_ui', 'chip_stack_face_safe', 'chip_stack_top', 'title_body_card'], 'type': 'string'}, {'type': 'null'}]}, 'visual': {'type': 'object', 'required': ['kind'], 'properties': {'html': {'type': 'string', 'maxLength': 80000, 'minLength': 20}, 'kind': {'enum': ['media_asset', 'generate', 'solid', 'gradient', 'html', 'template'], 'type': 'string'}, 'color': {'type': 'string', 'pattern': '^#[0-9a-fA-F]{6}$'}, 'colors': {'type': 'array', 'items': {'type': 'string', 'pattern': '^#[0-9a-fA-F]{6}$'}, 'maxItems': 2, 'minItems': 1}, 'prompt': {'type': 'string', 'maxLength': 1000, 'minLength': 3}, 'model_id': {'type': 'string', 'maxLength': 120, 'minLength': 1}, 'template_id': {'type': 'string', 'maxLength': 80, 'minLength': 1}, 'media_asset_id': {'type': 'string', 'format': 'uuid', 'pattern': '^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$'}, 'source_media_asset_id': {'type': 'string', 'format': 'uuid', 'pattern': '^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$'}}, 'additionalProperties': False}, 'photo_url': {'anyOf': [{'type': 'string', 'maxLength': 4000, 'minLength': 1}, {'type': 'null'}]}, 'slot_urls': {'type': 'object', 'propertyNames': {'type': 'string'}, 'additionalProperties': {'type': 'string', 'maxLength': 4000, 'minLength': 1}}}, 'additionalProperties': False}}, 'can_undo': {'type': 'boolean'}, 'platform': {'anyOf': [{'enum': ['tiktok_photo', 'instagram_4x5', 'linkedin'], 'type': 'string'}, {'type': 'null'}]}, 'revision': {'type': 'integer', 'maximum': 9007199254740991, 'minimum': 0}, 'warnings': {'type': 'array', 'items': {'type': 'object', 'required': ['code', 'message'], 'properties': {'code': {'type': 'string'}, 'field': {'type': 'string'}, 'repair': {'type': 'string'}, 'message': {'type': 'string'}}, 'additionalProperties': False}}, 'templates': {'type': 'array', 'items': {'type': 'object', 'required': ['id', 'label', 'family', 'slots'], 'properties': {'id': {'type': 'string'}, 'label': {'type': 'string'}, 'slots': {'type': 'array', 'items': {'type': 'object', 'required': ['key', 'label'], 'properties': {'key': {'type': 'string'}, 'label': {'type': 'string'}}, 'additionalProperties': False}}, 'family': {'enum': ['photo', 'designed'], 'type': 'string'}}, 'additionalProperties': False}}, 'project_id': {'type': 'string', 'format': 'uuid', 'pattern': '^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$'}, 'next_actions': {'type': 'array', 'items': {'type': 'object', 'required': ['method', 'path', 'reason'], 'properties': {'path': {'type': 'string'}, 'method': {'enum': ['GET', 'POST', 'PATCH', 'DELETE'], 'type': 'string'}, 'reason': {'type': 'string'}}, 'additionalProperties': False}}, 'mutationReceipt': {'type': 'object', 'required': ['id', 'key', 'operation', 'status', 'replayed'], 'properties': {'id': {'type': ['string', 'null']}, 'key': {'type': ['string', 'null']}, 'status': {'enum': ['completed'], 'type': 'string'}, 'replayed': {'type': 'boolean'}, 'operation': {'type': 'string'}}, 'additionalProperties': False}}, 'additionalProperties': False}
carousels_migrate
Migrate Legacy Carousel
Rebuild a compile slot document from a legacy overlay carousel. Then patch slots like any compiled deck.
Idempotent
Eingabeschema
{'type': 'object', '$schema': 'https://json-schema.org/draft/2020-12/schema', 'required': ['idempotencyKey', 'projectId'], 'properties': {'projectId': {'type': 'string', 'format': 'uuid', 'pattern': '^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$', 'description': 'UUID string.'}, 'workspaceId': {'anyOf': [{'type': 'string', 'format': 'uuid', 'pattern': '^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$'}, {'type': 'null'}]}, 'idempotencyKey': {'type': 'string', 'maxLength': 200, 'minLength': 8}}, 'additionalProperties': False}
Ausgabeschema
{'type': 'object', 'properties': {'kit': {'type': 'object', 'required': ['themes', 'templates', 'active_theme_id'], 'properties': {'themes': {'type': 'array', 'items': {'type': 'object', 'required': ['id', 'name', 'scope', 'fontFamily', 'titleColor', 'bodyColor', 'background', 'pageColor', 'overlayEnabled', 'overlayOpacity'], 'properties': {'id': {'type': 'string', 'format': 'uuid', 'pattern': '^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$'}, 'name': {'type': 'string', 'maxLength': 80, 'minLength': 1}, 'scope': {'enum': ['project', 'brand'], 'type': 'string'}, 'bodyColor': {'type': 'string', 'pattern': '^#[0-9a-fA-F]{6}$'}, 'pageColor': {'type': 'string', 'default': '', 'maxLength': 32}, 'background': {'type': 'string', 'default': '', 'maxLength': 32}, 'fontFamily': {'type': 'string', 'default': '', 'maxLength': 80}, 'titleColor': {'type': 'string', 'pattern': '^#[0-9a-fA-F]{6}$'}, 'logoAssetId': {'anyOf': [{'type': 'string', 'format': 'uuid', 'pattern': '^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$'}, {'type': 'null'}]}, 'overlayEnabled': {'type': 'boolean'}, 'overlayOpacity': {'type': 'integer', 'maximum': 100, 'minimum': 0}}, 'additionalProperties': False}, 'maxItems': 40}, 'templates': {'type': 'array', 'items': {'type': 'object', 'required': ['id', 'name', 'scope', 'template_id', 'slots'], 'properties': {'id': {'type': 'string', 'format': 'uuid', 'pattern': '^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$'}, 'name': {'type': 'string', 'maxLength': 80, 'minLength': 1}, 'scope': {'enum': ['project', 'brand'], 'type': 'string'}, 'slots': {'type': 'object', 'propertyNames': {'type': 'string', 'maxLength': 80, 'minLength': 1}, 'additionalProperties': {'type': 'string', 'maxLength': 4000}}, 'template_id': {'type': 'string', 'maxLength': 80, 'minLength': 1}}, 'additionalProperties': False}, 'maxItems': 40}, 'active_theme_id': {'anyOf': [{'type': 'string', 'format': 'uuid', 'pattern': '^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$'}, {'type': 'null'}]}}, 'additionalProperties': False}, 'name': {'type': 'string'}, 'frame': {'type': 'object', 'required': ['width', 'height', 'aspect_ratio'], 'properties': {'width': {'type': 'integer', 'maximum': 9007199254740991, 'minimum': -9007199254740991}, 'height': {'type': 'integer', 'maximum': 9007199254740991, 'minimum': -9007199254740991}, 'aspect_ratio': {'type': 'string'}}, 'additionalProperties': False}, 'style': {'anyOf': [{'type': 'object', 'properties': {'chip': {'type': 'object', 'properties': {'color': {'type': 'string', 'maxLength': 32, 'minLength': 1}, 'radius': {'type': 'integer', 'maximum': 48, 'minimum': 0}, 'font_size': {'type': 'integer', 'maximum': 120, 'minimum': 12}, 'padding_x': {'type': 'integer', 'maximum': 80, 'minimum': 0}, 'padding_y': {'type': 'integer', 'maximum': 80, 'minimum': 0}, 'background': {'type': 'string', 'maxLength': 32, 'minLength': 1}, 'font_family': {'type': 'string', 'maxLength': 80, 'minLength': 1}, 'font_weight': {'anyOf': [{'type': 'integer', 'maximum': 900, 'minimum': 100}, {'type': 'string'}]}, 'max_lines_per_chip': {'type': 'integer', 'maximum': 4, 'minimum': 1}}, 'additionalProperties': False}}, 'additionalProperties': False}, {'type': 'null'}]}, 'locale': {'type': ['string', 'null']}, 'slides': {'type': 'array', 'items': {'type': 'object', 'required': ['index', 'role', 'lines', 'slots', 'layout', 'visual'], 'properties': {'role': {'anyOf': [{'enum': ['hook', 'body', 'proof', 'cta'], 'type': 'string'}, {'type': 'null'}]}, 'index': {'type': 'integer', 'maximum': 9007199254740991, 'minimum': 0}, 'lines': {'type': 'array', 'items': {'type': 'string'}}, 'slots': {'type': 'object', 'propertyNames': {'type': 'string', 'maxLength': 80, 'minLength': 1}, 'additionalProperties': {'type': 'string', 'maxLength': 4000}}, 'layout': {'anyOf': [{'enum': ['chip_stack_ui', 'chip_stack_face_safe', 'chip_stack_top', 'title_body_card'], 'type': 'string'}, {'type': 'null'}]}, 'visual': {'type': 'object', 'required': ['kind'], 'properties': {'html': {'type': 'string', 'maxLength': 80000, 'minLength': 20}, 'kind': {'enum': ['media_asset', 'generate', 'solid', 'gradient', 'html', 'template'], 'type': 'string'}, 'color': {'type': 'string', 'pattern': '^#[0-9a-fA-F]{6}$'}, 'colors': {'type': 'array', 'items': {'type': 'string', 'pattern': '^#[0-9a-fA-F]{6}$'}, 'maxItems': 2, 'minItems': 1}, 'prompt': {'type': 'string', 'maxLength': 1000, 'minLength': 3}, 'model_id': {'type': 'string', 'maxLength': 120, 'minLength': 1}, 'template_id': {'type': 'string', 'maxLength': 80, 'minLength': 1}, 'media_asset_id': {'type': 'string', 'format': 'uuid', 'pattern': '^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$'}, 'source_media_asset_id': {'type': 'string', 'format': 'uuid', 'pattern': '^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$'}}, 'additionalProperties': False}, 'photo_url': {'anyOf': [{'type': 'string', 'maxLength': 4000, 'minLength': 1}, {'type': 'null'}]}, 'slot_urls': {'type': 'object', 'propertyNames': {'type': 'string'}, 'additionalProperties': {'type': 'string', 'maxLength': 4000, 'minLength': 1}}}, 'additionalProperties': False}}, 'can_undo': {'type': 'boolean'}, 'platform': {'anyOf': [{'enum': ['tiktok_photo', 'instagram_4x5', 'linkedin'], 'type': 'string'}, {'type': 'null'}]}, 'revision': {'type': 'integer', 'maximum': 9007199254740991, 'minimum': 0}, 'warnings': {'type': 'array', 'items': {'type': 'object', 'required': ['code', 'message'], 'properties': {'code': {'type': 'string'}, 'field': {'type': 'string'}, 'repair': {'type': 'string'}, 'message': {'type': 'string'}}, 'additionalProperties': False}}, 'templates': {'type': 'array', 'items': {'type': 'object', 'required': ['id', 'label', 'family', 'slots'], 'properties': {'id': {'type': 'string'}, 'label': {'type': 'string'}, 'slots': {'type': 'array', 'items': {'type': 'object', 'required': ['key', 'label'], 'properties': {'key': {'type': 'string'}, 'label': {'type': 'string'}}, 'additionalProperties': False}}, 'family': {'enum': ['photo', 'designed'], 'type': 'string'}}, 'additionalProperties': False}}, 'project_id': {'type': 'string', 'format': 'uuid', 'pattern': '^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$'}, 'next_actions': {'type': 'array', 'items': {'type': 'object', 'required': ['method', 'path', 'reason'], 'properties': {'path': {'type': 'string'}, 'method': {'enum': ['GET', 'POST', 'PATCH', 'DELETE'], 'type': 'string'}, 'reason': {'type': 'string'}}, 'additionalProperties': False}}, 'mutationReceipt': {'type': 'object', 'required': ['id', 'key', 'operation', 'status', 'replayed'], 'properties': {'id': {'type': ['string', 'null']}, 'key': {'type': ['string', 'null']}, 'status': {'enum': ['completed'], 'type': 'string'}, 'replayed': {'type': 'boolean'}, 'operation': {'type': 'string'}}, 'additionalProperties': False}}, 'additionalProperties': False}
carousels_patch_document
Patch Carousel Document
Reorder, remove, insert, duplicate, or undo slides on a compiled carousel. One write for the filmstrip. Insert rasters an empty named template unless sourceIndex copies a slide.
Idempotent
Eingabeschema
{'type': 'object', '$schema': 'https://json-schema.org/draft/2020-12/schema', 'required': ['idempotencyKey', 'projectId', 'op'], 'properties': {'op': {'enum': ['reorder', 'remove', 'insert', 'undo'], 'type': 'string'}, 'to': {'type': 'integer', 'maximum': 34, 'minimum': 0}, 'from': {'type': 'integer', 'maximum': 34, 'minimum': 0}, 'index': {'type': 'integer', 'maximum': 34, 'minimum': 0}, 'projectId': {'type': 'string', 'format': 'uuid', 'pattern': '^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$', 'description': 'UUID string.'}, 'templateId': {'type': 'string', 'maxLength': 80, 'minLength': 1}, 'sourceIndex': {'type': 'integer', 'maximum': 34, 'minimum': 0}, 'workspaceId': {'anyOf': [{'type': 'string', 'format': 'uuid', 'pattern': '^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$'}, {'type': 'null'}]}, 'idempotencyKey': {'type': 'string', 'maxLength': 200, 'minLength': 8}}, 'additionalProperties': False}
Ausgabeschema
{'type': 'object', 'properties': {'kit': {'type': 'object', 'required': ['themes', 'templates', 'active_theme_id'], 'properties': {'themes': {'type': 'array', 'items': {'type': 'object', 'required': ['id', 'name', 'scope', 'fontFamily', 'titleColor', 'bodyColor', 'background', 'pageColor', 'overlayEnabled', 'overlayOpacity'], 'properties': {'id': {'type': 'string', 'format': 'uuid', 'pattern': '^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$'}, 'name': {'type': 'string', 'maxLength': 80, 'minLength': 1}, 'scope': {'enum': ['project', 'brand'], 'type': 'string'}, 'bodyColor': {'type': 'string', 'pattern': '^#[0-9a-fA-F]{6}$'}, 'pageColor': {'type': 'string', 'default': '', 'maxLength': 32}, 'background': {'type': 'string', 'default': '', 'maxLength': 32}, 'fontFamily': {'type': 'string', 'default': '', 'maxLength': 80}, 'titleColor': {'type': 'string', 'pattern': '^#[0-9a-fA-F]{6}$'}, 'logoAssetId': {'anyOf': [{'type': 'string', 'format': 'uuid', 'pattern': '^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$'}, {'type': 'null'}]}, 'overlayEnabled': {'type': 'boolean'}, 'overlayOpacity': {'type': 'integer', 'maximum': 100, 'minimum': 0}}, 'additionalProperties': False}, 'maxItems': 40}, 'templates': {'type': 'array', 'items': {'type': 'object', 'required': ['id', 'name', 'scope', 'template_id', 'slots'], 'properties': {'id': {'type': 'string', 'format': 'uuid', 'pattern': '^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$'}, 'name': {'type': 'string', 'maxLength': 80, 'minLength': 1}, 'scope': {'enum': ['project', 'brand'], 'type': 'string'}, 'slots': {'type': 'object', 'propertyNames': {'type': 'string', 'maxLength': 80, 'minLength': 1}, 'additionalProperties': {'type': 'string', 'maxLength': 4000}}, 'template_id': {'type': 'string', 'maxLength': 80, 'minLength': 1}}, 'additionalProperties': False}, 'maxItems': 40}, 'active_theme_id': {'anyOf': [{'type': 'string', 'format': 'uuid', 'pattern': '^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$'}, {'type': 'null'}]}}, 'additionalProperties': False}, 'name': {'type': 'string'}, 'frame': {'type': 'object', 'required': ['width', 'height', 'aspect_ratio'], 'properties': {'width': {'type': 'integer', 'maximum': 9007199254740991, 'minimum': -9007199254740991}, 'height': {'type': 'integer', 'maximum': 9007199254740991, 'minimum': -9007199254740991}, 'aspect_ratio': {'type': 'string'}}, 'additionalProperties': False}, 'style': {'anyOf': [{'type': 'object', 'properties': {'chip': {'type': 'object', 'properties': {'color': {'type': 'string', 'maxLength': 32, 'minLength': 1}, 'radius': {'type': 'integer', 'maximum': 48, 'minimum': 0}, 'font_size': {'type': 'integer', 'maximum': 120, 'minimum': 12}, 'padding_x': {'type': 'integer', 'maximum': 80, 'minimum': 0}, 'padding_y': {'type': 'integer', 'maximum': 80, 'minimum': 0}, 'background': {'type': 'string', 'maxLength': 32, 'minLength': 1}, 'font_family': {'type': 'string', 'maxLength': 80, 'minLength': 1}, 'font_weight': {'anyOf': [{'type': 'integer', 'maximum': 900, 'minimum': 100}, {'type': 'string'}]}, 'max_lines_per_chip': {'type': 'integer', 'maximum': 4, 'minimum': 1}}, 'additionalProperties': False}}, 'additionalProperties': False}, {'type': 'null'}]}, 'locale': {'type': ['string', 'null']}, 'slides': {'type': 'array', 'items': {'type': 'object', 'required': ['index', 'role', 'lines', 'slots', 'layout', 'visual'], 'properties': {'role': {'anyOf': [{'enum': ['hook', 'body', 'proof', 'cta'], 'type': 'string'}, {'type': 'null'}]}, 'index': {'type': 'integer', 'maximum': 9007199254740991, 'minimum': 0}, 'lines': {'type': 'array', 'items': {'type': 'string'}}, 'slots': {'type': 'object', 'propertyNames': {'type': 'string', 'maxLength': 80, 'minLength': 1}, 'additionalProperties': {'type': 'string', 'maxLength': 4000}}, 'layout': {'anyOf': [{'enum': ['chip_stack_ui', 'chip_stack_face_safe', 'chip_stack_top', 'title_body_card'], 'type': 'string'}, {'type': 'null'}]}, 'visual': {'type': 'object', 'required': ['kind'], 'properties': {'html': {'type': 'string', 'maxLength': 80000, 'minLength': 20}, 'kind': {'enum': ['media_asset', 'generate', 'solid', 'gradient', 'html', 'template'], 'type': 'string'}, 'color': {'type': 'string', 'pattern': '^#[0-9a-fA-F]{6}$'}, 'colors': {'type': 'array', 'items': {'type': 'string', 'pattern': '^#[0-9a-fA-F]{6}$'}, 'maxItems': 2, 'minItems': 1}, 'prompt': {'type': 'string', 'maxLength': 1000, 'minLength': 3}, 'model_id': {'type': 'string', 'maxLength': 120, 'minLength': 1}, 'template_id': {'type': 'string', 'maxLength': 80, 'minLength': 1}, 'media_asset_id': {'type': 'string', 'format': 'uuid', 'pattern': '^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$'}, 'source_media_asset_id': {'type': 'string', 'format': 'uuid', 'pattern': '^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$'}}, 'additionalProperties': False}, 'photo_url': {'anyOf': [{'type': 'string', 'maxLength': 4000, 'minLength': 1}, {'type': 'null'}]}, 'slot_urls': {'type': 'object', 'propertyNames': {'type': 'string'}, 'additionalProperties': {'type': 'string', 'maxLength': 4000, 'minLength': 1}}}, 'additionalProperties': False}}, 'can_undo': {'type': 'boolean'}, 'platform': {'anyOf': [{'enum': ['tiktok_photo', 'instagram_4x5', 'linkedin'], 'type': 'string'}, {'type': 'null'}]}, 'revision': {'type': 'integer', 'maximum': 9007199254740991, 'minimum': 0}, 'warnings': {'type': 'array', 'items': {'type': 'object', 'required': ['code', 'message'], 'properties': {'code': {'type': 'string'}, 'field': {'type': 'string'}, 'repair': {'type': 'string'}, 'message': {'type': 'string'}}, 'additionalProperties': False}}, 'templates': {'type': 'array', 'items': {'type': 'object', 'required': ['id', 'label', 'family', 'slots'], 'properties': {'id': {'type': 'string'}, 'label': {'type': 'string'}, 'slots': {'type': 'array', 'items': {'type': 'object', 'required': ['key', 'label'], 'properties': {'key': {'type': 'string'}, 'label': {'type': 'string'}}, 'additionalProperties': False}}, 'family': {'enum': ['photo', 'designed'], 'type': 'string'}}, 'additionalProperties': False}}, 'project_id': {'type': 'string', 'format': 'uuid', 'pattern': '^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$'}, 'next_actions': {'type': 'array', 'items': {'type': 'object', 'required': ['method', 'path', 'reason'], 'properties': {'path': {'type': 'string'}, 'method': {'enum': ['GET', 'POST', 'PATCH', 'DELETE'], 'type': 'string'}, 'reason': {'type': 'string'}}, 'additionalProperties': False}}, 'mutationReceipt': {'type': 'object', 'required': ['id', 'key', 'operation', 'status', 'replayed'], 'properties': {'id': {'type': ['string', 'null']}, 'key': {'type': ['string', 'null']}, 'status': {'enum': ['completed'], 'type': 'string'}, 'replayed': {'type': 'boolean'}, 'operation': {'type': 'string'}}, 'additionalProperties': False}}, 'additionalProperties': False}
carousels_patch_slide
Patch Carousel Slide
Patch named slots or template_id on one slide. Re-rasters that slide only. Never rewrite HTML.
Idempotent
Eingabeschema
{'type': 'object', '$schema': 'https://json-schema.org/draft/2020-12/schema', 'required': ['idempotencyKey', 'projectId', 'slideIndex'], 'properties': {'lines': {'type': 'array', 'items': {'type': 'string', 'maxLength': 200, 'minLength': 1}, 'maxItems': 6}, 'slots': {'type': 'object', 'propertyNames': {'type': 'string'}, 'additionalProperties': {'type': 'string'}}, 'projectId': {'type': 'string', 'format': 'uuid', 'pattern': '^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$', 'description': 'UUID string.'}, 'slideIndex': {'type': 'integer', 'maximum': 34, 'minimum': 0}, 'templateId': {'type': 'string', 'maxLength': 80, 'minLength': 1}, 'workspaceId': {'anyOf': [{'type': 'string', 'format': 'uuid', 'pattern': '^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$'}, {'type': 'null'}]}, 'mediaAssetId': {'type': 'string', 'format': 'uuid', 'pattern': '^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$'}, 'idempotencyKey': {'type': 'string', 'maxLength': 200, 'minLength': 8}}, 'additionalProperties': False}
Ausgabeschema
{'type': 'object', 'properties': {'kit': {'type': 'object', 'required': ['themes', 'templates', 'active_theme_id'], 'properties': {'themes': {'type': 'array', 'items': {'type': 'object', 'required': ['id', 'name', 'scope', 'fontFamily', 'titleColor', 'bodyColor', 'background', 'pageColor', 'overlayEnabled', 'overlayOpacity'], 'properties': {'id': {'type': 'string', 'format': 'uuid', 'pattern': '^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$'}, 'name': {'type': 'string', 'maxLength': 80, 'minLength': 1}, 'scope': {'enum': ['project', 'brand'], 'type': 'string'}, 'bodyColor': {'type': 'string', 'pattern': '^#[0-9a-fA-F]{6}$'}, 'pageColor': {'type': 'string', 'default': '', 'maxLength': 32}, 'background': {'type': 'string', 'default': '', 'maxLength': 32}, 'fontFamily': {'type': 'string', 'default': '', 'maxLength': 80}, 'titleColor': {'type': 'string', 'pattern': '^#[0-9a-fA-F]{6}$'}, 'logoAssetId': {'anyOf': [{'type': 'string', 'format': 'uuid', 'pattern': '^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$'}, {'type': 'null'}]}, 'overlayEnabled': {'type': 'boolean'}, 'overlayOpacity': {'type': 'integer', 'maximum': 100, 'minimum': 0}}, 'additionalProperties': False}, 'maxItems': 40}, 'templates': {'type': 'array', 'items': {'type': 'object', 'required': ['id', 'name', 'scope', 'template_id', 'slots'], 'properties': {'id': {'type': 'string', 'format': 'uuid', 'pattern': '^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$'}, 'name': {'type': 'string', 'maxLength': 80, 'minLength': 1}, 'scope': {'enum': ['project', 'brand'], 'type': 'string'}, 'slots': {'type': 'object', 'propertyNames': {'type': 'string', 'maxLength': 80, 'minLength': 1}, 'additionalProperties': {'type': 'string', 'maxLength': 4000}}, 'template_id': {'type': 'string', 'maxLength': 80, 'minLength': 1}}, 'additionalProperties': False}, 'maxItems': 40}, 'active_theme_id': {'anyOf': [{'type': 'string', 'format': 'uuid', 'pattern': '^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$'}, {'type': 'null'}]}}, 'additionalProperties': False}, 'name': {'type': 'string'}, 'frame': {'type': 'object', 'required': ['width', 'height', 'aspect_ratio'], 'properties': {'width': {'type': 'integer', 'maximum': 9007199254740991, 'minimum': -9007199254740991}, 'height': {'type': 'integer', 'maximum': 9007199254740991, 'minimum': -9007199254740991}, 'aspect_ratio': {'type': 'string'}}, 'additionalProperties': False}, 'style': {'anyOf': [{'type': 'object', 'properties': {'chip': {'type': 'object', 'properties': {'color': {'type': 'string', 'maxLength': 32, 'minLength': 1}, 'radius': {'type': 'integer', 'maximum': 48, 'minimum': 0}, 'font_size': {'type': 'integer', 'maximum': 120, 'minimum': 12}, 'padding_x': {'type': 'integer', 'maximum': 80, 'minimum': 0}, 'padding_y': {'type': 'integer', 'maximum': 80, 'minimum': 0}, 'background': {'type': 'string', 'maxLength': 32, 'minLength': 1}, 'font_family': {'type': 'string', 'maxLength': 80, 'minLength': 1}, 'font_weight': {'anyOf': [{'type': 'integer', 'maximum': 900, 'minimum': 100}, {'type': 'string'}]}, 'max_lines_per_chip': {'type': 'integer', 'maximum': 4, 'minimum': 1}}, 'additionalProperties': False}}, 'additionalProperties': False}, {'type': 'null'}]}, 'locale': {'type': ['string', 'null']}, 'slides': {'type': 'array', 'items': {'type': 'object', 'required': ['index', 'role', 'lines', 'slots', 'layout', 'visual'], 'properties': {'role': {'anyOf': [{'enum': ['hook', 'body', 'proof', 'cta'], 'type': 'string'}, {'type': 'null'}]}, 'index': {'type': 'integer', 'maximum': 9007199254740991, 'minimum': 0}, 'lines': {'type': 'array', 'items': {'type': 'string'}}, 'slots': {'type': 'object', 'propertyNames': {'type': 'string', 'maxLength': 80, 'minLength': 1}, 'additionalProperties': {'type': 'string', 'maxLength': 4000}}, 'layout': {'anyOf': [{'enum': ['chip_stack_ui', 'chip_stack_face_safe', 'chip_stack_top', 'title_body_card'], 'type': 'string'}, {'type': 'null'}]}, 'visual': {'type': 'object', 'required': ['kind'], 'properties': {'html': {'type': 'string', 'maxLength': 80000, 'minLength': 20}, 'kind': {'enum': ['media_asset', 'generate', 'solid', 'gradient', 'html', 'template'], 'type': 'string'}, 'color': {'type': 'string', 'pattern': '^#[0-9a-fA-F]{6}$'}, 'colors': {'type': 'array', 'items': {'type': 'string', 'pattern': '^#[0-9a-fA-F]{6}$'}, 'maxItems': 2, 'minItems': 1}, 'prompt': {'type': 'string', 'maxLength': 1000, 'minLength': 3}, 'model_id': {'type': 'string', 'maxLength': 120, 'minLength': 1}, 'template_id': {'type': 'string', 'maxLength': 80, 'minLength': 1}, 'media_asset_id': {'type': 'string', 'format': 'uuid', 'pattern': '^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$'}, 'source_media_asset_id': {'type': 'string', 'format': 'uuid', 'pattern': '^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$'}}, 'additionalProperties': False}, 'photo_url': {'anyOf': [{'type': 'string', 'maxLength': 4000, 'minLength': 1}, {'type': 'null'}]}, 'slot_urls': {'type': 'object', 'propertyNames': {'type': 'string'}, 'additionalProperties': {'type': 'string', 'maxLength': 4000, 'minLength': 1}}}, 'additionalProperties': False}}, 'can_undo': {'type': 'boolean'}, 'platform': {'anyOf': [{'enum': ['tiktok_photo', 'instagram_4x5', 'linkedin'], 'type': 'string'}, {'type': 'null'}]}, 'revision': {'type': 'integer', 'maximum': 9007199254740991, 'minimum': 0}, 'warnings': {'type': 'array', 'items': {'type': 'object', 'required': ['code', 'message'], 'properties': {'code': {'type': 'string'}, 'field': {'type': 'string'}, 'repair': {'type': 'string'}, 'message': {'type': 'string'}}, 'additionalProperties': False}}, 'templates': {'type': 'array', 'items': {'type': 'object', 'required': ['id', 'label', 'family', 'slots'], 'properties': {'id': {'type': 'string'}, 'label': {'type': 'string'}, 'slots': {'type': 'array', 'items': {'type': 'object', 'required': ['key', 'label'], 'properties': {'key': {'type': 'string'}, 'label': {'type': 'string'}}, 'additionalProperties': False}}, 'family': {'enum': ['photo', 'designed'], 'type': 'string'}}, 'additionalProperties': False}}, 'project_id': {'type': 'string', 'format': 'uuid', 'pattern': '^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$'}, 'next_actions': {'type': 'array', 'items': {'type': 'object', 'required': ['method', 'path', 'reason'], 'properties': {'path': {'type': 'string'}, 'method': {'enum': ['GET', 'POST', 'PATCH', 'DELETE'], 'type': 'string'}, 'reason': {'type': 'string'}}, 'additionalProperties': False}}, 'mutationReceipt': {'type': 'object', 'required': ['id', 'key', 'operation', 'status', 'replayed'], 'properties': {'id': {'type': ['string', 'null']}, 'key': {'type': ['string', 'null']}, 'status': {'enum': ['completed'], 'type': 'string'}, 'replayed': {'type': 'boolean'}, 'operation': {'type': 'string'}}, 'additionalProperties': False}}, 'additionalProperties': False}
carousels_preview
Preview Carousel
Render JPEG stills for a compiled carousel at the exact platform frame and return them as MCP images so you can inspect chips on the real slides.
Nur Lesen Idempotent
Eingabeschema
{'type': 'object', '$schema': 'https://json-schema.org/draft/2020-12/schema', 'required': ['projectId', 'chrome'], 'properties': {'chrome': {'enum': ['tiktok', 'instagram', 'none'], 'type': 'string', 'default': 'none'}, 'projectId': {'type': 'string', 'format': 'uuid', 'pattern': '^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$', 'description': 'UUID string.'}, 'workspaceId': {'anyOf': [{'type': 'string', 'format': 'uuid', 'pattern': '^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$'}, {'type': 'null'}]}, 'slideIndexes': {'type': 'array', 'items': {'type': 'integer', 'maximum': 34, 'minimum': 0}, 'maxItems': 35}}, 'additionalProperties': False}
Ausgabeschema
{'type': 'object', '$schema': 'https://json-schema.org/draft/2020-12/schema', 'required': ['project_id', 'revision', 'platform', 'frame', 'slides', 'warnings', 'next_actions'], 'properties': {'frame': {'type': 'object', 'required': ['width', 'height', 'aspect_ratio'], 'properties': {'width': {'type': 'integer', 'maximum': 9007199254740991, 'minimum': -9007199254740991}, 'height': {'type': 'integer', 'maximum': 9007199254740991, 'minimum': -9007199254740991}, 'aspect_ratio': {'type': 'string'}}, 'additionalProperties': False}, 'slides': {'type': 'array', 'items': {'type': 'object', 'required': ['index', 'preview_url', 'width', 'height', 'expires_at'], 'properties': {'index': {'type': 'integer', 'maximum': 9007199254740991, 'minimum': 0}, 'print': {'enum': ['slots', 'ingested'], 'type': 'string'}, 'width': {'type': 'integer', 'maximum': 9007199254740991, 'minimum': -9007199254740991}, 'height': {'type': 'integer', 'maximum': 9007199254740991, 'minimum': -9007199254740991}, 'expires_at': {'type': 'string'}, 'preview_url': {'type': 'string'}}, 'additionalProperties': False}}, 'platform': {'anyOf': [{'enum': ['tiktok_photo', 'instagram_4x5', 'linkedin'], 'type': 'string'}, {'type': 'null'}]}, 'revision': {'type': 'integer', 'maximum': 9007199254740991, 'minimum': 0}, 'warnings': {'type': 'array', 'items': {'type': 'object', 'required': ['code', 'message'], 'properties': {'code': {'type': 'string'}, 'field': {'type': 'string'}, 'repair': {'type': 'string'}, 'message': {'type': 'string'}}, 'additionalProperties': False}}, 'project_id': {'type': 'string', 'format': 'uuid', 'pattern': '^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$'}, 'next_actions': {'type': 'array', 'items': {'type': 'object', 'required': ['method', 'path', 'reason'], 'properties': {'path': {'type': 'string'}, 'method': {'enum': ['GET', 'POST', 'PATCH', 'DELETE'], 'type': 'string'}, 'reason': {'type': 'string'}}, 'additionalProperties': False}}}, 'additionalProperties': False}
characters_apply
Apply Reusable Character
Create or update a reference-based character for repeatable faceless story generation.
Idempotent
Eingabeschema
{'type': 'object', 'required': ['name', 'idempotencyKey'], 'properties': {'name': {'type': 'string'}, 'type': {'enum': ['human', 'fictional', 'other'], 'type': 'string', 'default': 'human'}, 'species': {'type': 'string'}, 'storyFacts': {'type': 'array', 'items': {'type': 'string'}}, 'characterId': {'type': 'string'}, 'workspaceId': {'type': 'string', 'format': 'uuid', 'description': "Optional workspace UUID. Defaults to the user's default workspace. UUID string."}, 'defaultVoiceId': {'type': 'string'}, 'idempotencyKey': {'type': 'string'}, 'defaultVoiceStyle': {'type': 'string'}, 'referenceAssetIds': {'type': 'array', 'items': {'type': 'string'}}, 'canonicalDescription': {'type': 'string'}, 'confirmLikenessConsent': {'type': 'boolean', 'default': False, 'description': "For a human character, set true only after the user confirms consent to use the depicted person's likeness."}, 'primaryReferenceAssetId': {'type': 'string'}, 'confirmRightsToReferences': {'type': 'boolean', 'default': False, 'description': 'Set true only after the user confirms they own the reference media or have permission to use it.'}}, 'additionalProperties': False}
Ausgabeschema
{'type': 'object', 'required': ['character', 'mutationReceipt'], 'properties': {'character': {'type': 'object'}, 'mutationReceipt': {'type': 'object', 'required': ['id', 'key', 'operation', 'status', 'replayed'], 'properties': {'id': {'type': ['string', 'null']}, 'key': {'type': ['string', 'null']}, 'status': {'enum': ['completed'], 'type': 'string'}, 'replayed': {'type': 'boolean'}, 'operation': {'type': 'string'}}, 'additionalProperties': False}}, 'additionalProperties': False}
characters_get
Get Reusable Character
Inspect one reusable character and its ordered reference-image set before planning a story.
Nur Lesen Idempotent
Eingabeschema
{'type': 'object', 'required': ['characterId'], 'properties': {'characterId': {'type': 'string'}, 'workspaceId': {'type': 'string', 'format': 'uuid', 'description': "Optional workspace UUID. Defaults to the user's default workspace. UUID string."}}, 'additionalProperties': False}
Ausgabeschema
{'type': 'object', 'required': ['character'], 'properties': {'character': {'type': 'object'}}, 'additionalProperties': False}
characters_list
List Reusable Characters
List bounded reusable characters with identity, voice, facts, and image-reference metadata.
Nur Lesen Idempotent
Eingabeschema
{'type': 'object', 'properties': {'limit': {'type': 'number', 'default': 20, 'maximum': 50, 'minimum': 1}, 'offset': {'type': 'number', 'default': 0, 'minimum': 0}, 'workspaceId': {'type': 'string', 'format': 'uuid', 'description': "Optional workspace UUID. Defaults to the user's default workspace. UUID string."}, 'includeArchived': {'type': 'boolean', 'default': False}}, 'additionalProperties': False}
Ausgabeschema
{'type': 'object', 'required': ['characters', 'bounds'], 'properties': {'bounds': {'type': 'object', 'required': ['limit', 'maxLimit', 'offset', 'total', 'returned', 'hasMore', 'truncated'], 'properties': {'limit': {'type': 'number'}, 'total': {'type': 'number'}, 'offset': {'type': 'number'}, 'hasMore': {'type': 'boolean'}, 'maxLimit': {'type': 'number'}, 'returned': {'type': 'number'}, 'truncated': {'type': 'boolean'}}, 'additionalProperties': False}, 'characters': {'type': 'array', 'items': {'type': 'object'}}}, 'additionalProperties': False}
clip_batches_delete
Delete Clip Batch
Preview or delete a terminal clip batch. Dry-run is the default; real deletion requires explicit confirmation, retention choice, workspace delete permission, and an idempotency key.
Destruktiv Idempotent
Eingabeschema
{'type': 'object', 'required': ['batchId', 'idempotencyKey'], 'properties': {'dryRun': {'type': 'boolean', 'default': True}, 'batchId': {'type': 'string', 'format': 'uuid', 'description': 'UUID string.'}, 'retention': {'enum': ['retain_projects_and_exports', 'delete_projects_and_exports'], 'type': 'string', 'default': 'retain_projects_and_exports'}, 'workspaceId': {'type': 'string', 'format': 'uuid', 'description': 'UUID string.'}, 'confirmDelete': {'type': 'boolean', 'default': False}, 'idempotencyKey': {'type': 'string', 'maxLength': 255, 'minLength': 8}}, 'additionalProperties': False}
Ausgabeschema
{'type': 'object', 'additionalProperties': True}
clips_candidates_list
Review Clip Candidates
Read existing suggested moments with source ranges, hooks, transcript excerpts and thumbnails before producing videos. Results are bounded; this does not generate suggestions or render clips.
Nur Lesen Idempotent
Eingabeschema
{'type': 'object', '$schema': 'https://json-schema.org/draft/2020-12/schema', 'required': ['workspaceId', 'assetId', 'limit', 'offset'], 'properties': {'limit': {'type': 'integer', 'default': 20, 'maximum': 50, 'minimum': 1}, 'offset': {'type': 'integer', 'default': 0, 'maximum': 9007199254740991, 'minimum': 0}, 'assetId': {'type': 'string', 'format': 'uuid', 'pattern': '^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$', 'description': 'UUID string.'}, 'workspaceId': {'anyOf': [{'type': 'string', 'format': 'uuid', 'pattern': '^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$'}, {'type': 'null'}], 'default': None}}, 'additionalProperties': False}
Ausgabeschema
{'type': 'object', 'additionalProperties': True}
clips_create
Create Clips
Create a private BlitzReels clip batch from an existing asset or a user-provided video URL. Supports public social videos, Google Drive, and direct media URLs.
Externer Zugriff
Eingabeschema
{'type': 'object', 'properties': {'url': {'type': 'string', 'format': 'uri', 'description': 'Video URL to import before clipping. Supports social video links, Google Drive file links, and direct video file URLs.'}, 'assetId': {'type': 'string', 'format': 'uuid', 'description': 'Existing BlitzReels video asset ID. Provide assetId or url, not both. UUID string.'}, 'seriesId': {'type': 'string', 'description': 'Optional Series UUID. Omitted inherits the source Series; null creates standalone clips.'}, 'clipCount': {'type': 'integer', 'maximum': 50, 'minimum': 1, 'description': 'Maximum clips requested. Available source moments and account limits can yield fewer.'}, 'selection': {'anyOf': [{'type': 'object', 'required': ['includeIds', 'excludeIds'], 'properties': {'excludeIds': {'type': 'array', 'items': {'type': 'string'}, 'maxItems': 50, 'uniqueItems': True}, 'includeIds': {'anyOf': [{'type': 'array', 'items': {'type': 'string'}, 'maxItems': 50, 'minItems': 1, 'uniqueItems': True}, {'type': 'null'}]}}, 'additionalProperties': False}, {'type': 'null'}], 'default': None, 'description': 'Existing asset only: reviewed candidate IDs to include in order or exclude. Resolve IDs with clips_candidates_list first. Null delegates selection.'}, 'workspaceId': {'type': 'string', 'format': 'uuid', 'description': "Optional workspace ID. Defaults to the user's default workspace. UUID string."}, 'clipPresetId': {'enum': ['default', 'high-retention', 'demo-focus'], 'type': 'string', 'default': 'default', 'description': 'Clip style preset. Use high-retention for High Retention clips or demo-focus for product and screen demos.'}, 'captionThemeId': {'type': 'string', 'description': 'Saved theme UUID or built-in caption look. Omitted inherits Series defaults; null uses workspace captions.'}, 'durationBounds': {'anyOf': [{'type': 'object', 'required': ['minSeconds', 'maxSeconds'], 'properties': {'maxSeconds': {'type': ['number', 'null'], 'maximum': 180, 'minimum': 1}, 'minSeconds': {'type': ['number', 'null'], 'maximum': 180, 'minimum': 1}}, 'additionalProperties': False}, {'type': 'null'}], 'default': None, 'description': 'Requested clip duration bounds. Selection preserves complete moments; minimum cannot exceed maximum.'}, 'idempotencyKey': {'type': 'string', 'description': 'Retry key. Reuse only with identical inputs.'}, 'autoTrimSilence': {'type': 'boolean', 'default': True, 'description': 'Trim silence around selected moments.'}, 'createSharePage': {'type': 'boolean', 'default': False, 'description': 'Create a public showcase page where completed clips appear.'}, 'selectedAudioLanguage': {'type': 'string', 'maxLength': 40, 'minLength': 2, 'description': 'Audio language track for a social-video URL, using the language reported by media_import_inspect. Null uses source default. Existing assets and direct files preserve source audio.'}}, 'additionalProperties': False}
Ausgabeschema
{'type': 'object', 'required': ['result', 'batch'], 'properties': {'batch': {'type': 'object', 'required': ['id', 'status', 'assetId', 'projectFolderId', 'estimatedClipCount', 'totalClipCount', 'renderedCount', 'failedCount', 'reviewCount', 'clipPreset', 'selectedQuality', 'lastErrorMessage', 'sourceUrl', 'studioUrl', 'projectFolderUrl', 'zipDownloadUrl', 'downloadUrlExpiresInSeconds', 'polling', 'clips'], 'properties': {'id': {'type': 'string'}, 'clips': {'type': 'array', 'items': {'type': 'object', 'required': ['id', 'suggestionId', 'projectId', 'exportId', 'title', 'status', 'downloadUrl', 'thumbnailUrl', 'errorMessage'], 'properties': {'id': {'type': 'string'}, 'title': {'type': 'string'}, 'status': {'type': 'string'}, 'exportId': {'type': ['string', 'null']}, 'projectId': {'type': ['string', 'null']}, 'downloadUrl': {'type': ['string', 'null']}, 'errorMessage': {'type': ['string', 'null']}, 'suggestionId': {'type': ['string', 'null']}, 'thumbnailUrl': {'type': ['string', 'null']}}, 'additionalProperties': False}}, 'status': {'type': 'string'}, 'assetId': {'type': 'string'}, 'polling': {'type': 'object', 'required': ['state', 'stage', 'isTerminal', 'shouldPoll', 'suggestedTool', 'nextPollAfterSeconds', 'maxPollSeconds', 'maxPollAttempts'], 'properties': {'stage': {'type': 'string'}, 'state': {'type': 'string'}, 'isTerminal': {'type': 'boolean'}, 'shouldPoll': {'type': 'boolean'}, 'suggestedTool': {'enum': ['clips_get', 'clips_status_get'], 'type': 'string'}, 'maxPollSeconds': {'type': 'number'}, 'maxPollAttempts': {'type': 'number'}, 'nextPollAfterSeconds': {'type': ['number', 'null']}}, 'additionalProperties': False}, 'sourceUrl': {'type': 'string'}, 'studioUrl': {'type': 'string'}, 'clipPreset': {'anyOf': [{'type': 'object', 'required': ['id', 'name'], 'properties': {'id': {'type': 'string'}, 'name': {'type': 'string'}}, 'additionalProperties': False}, {'type': 'null'}]}, 'failedCount': {'type': 'number'}, 'reviewCount': {'type': 'number'}, 'renderedCount': {'type': 'number'}, 'totalClipCount': {'type': 'number'}, 'zipDownloadUrl': {'type': ['string', 'null']}, 'projectFolderId': {'type': ['string', 'null']}, 'selectedQuality': {'type': ['string', 'null']}, 'lastErrorMessage': {'type': ['string', 'null']}, 'projectFolderUrl': {'type': ['string', 'null']}, 'estimatedClipCount': {'type': 'number'}, 'downloadUrlExpiresInSeconds': {'type': 'number'}}, 'additionalProperties': False}, 'result': {'type': 'object', 'required': ['batch', 'importedAssetId', 'sourceKind', 'mutationReceipt'], 'properties': {'batch': {'type': 'object', 'required': ['id', 'status', 'assetId', 'projectFolderId', 'estimatedClipCount', 'totalClipCount', 'renderedCount', 'failedCount', 'reviewCount', 'clipPreset', 'selectedQuality', 'lastErrorMessage', 'sourceUrl', 'studioUrl', 'projectFolderUrl', 'zipDownloadUrl', 'downloadUrlExpiresInSeconds', 'polling', 'clips'], 'properties': {'id': {'type': 'string'}, 'clips': {'type': 'array', 'items': {'type': 'object', 'required': ['id', 'suggestionId', 'projectId', 'exportId', 'title', 'status', 'downloadUrl', 'thumbnailUrl', 'errorMessage'], 'properties': {'id': {'type': 'string'}, 'title': {'type': 'string'}, 'status': {'type': 'string'}, 'exportId': {'type': ['string', 'null']}, 'projectId': {'type': ['string', 'null']}, 'downloadUrl': {'type': ['string', 'null']}, 'errorMessage': {'type': ['string', 'null']}, 'suggestionId': {'type': ['string', 'null']}, 'thumbnailUrl': {'type': ['string', 'null']}}, 'additionalProperties': False}}, 'status': {'type': 'string'}, 'assetId': {'type': 'string'}, 'polling': {'type': 'object', 'required': ['state', 'stage', 'isTerminal', 'shouldPoll', 'suggestedTool', 'nextPollAfterSeconds', 'maxPollSeconds', 'maxPollAttempts'], 'properties': {'stage': {'type': 'string'}, 'state': {'type': 'string'}, 'isTerminal': {'type': 'boolean'}, 'shouldPoll': {'type': 'boolean'}, 'suggestedTool': {'enum': ['clips_get', 'clips_status_get'], 'type': 'string'}, 'maxPollSeconds': {'type': 'number'}, 'maxPollAttempts': {'type': 'number'}, 'nextPollAfterSeconds': {'type': ['number', 'null']}}, 'additionalProperties': False}, 'sourceUrl': {'type': 'string'}, 'studioUrl': {'type': 'string'}, 'clipPreset': {'anyOf': [{'type': 'object', 'required': ['id', 'name'], 'properties': {'id': {'type': 'string'}, 'name': {'type': 'string'}}, 'additionalProperties': False}, {'type': 'null'}]}, 'failedCount': {'type': 'number'}, 'reviewCount': {'type': 'number'}, 'renderedCount': {'type': 'number'}, 'totalClipCount': {'type': 'number'}, 'zipDownloadUrl': {'type': ['string', 'null']}, 'projectFolderId': {'type': ['string', 'null']}, 'selectedQuality': {'type': ['string', 'null']}, 'lastErrorMessage': {'type': ['string', 'null']}, 'projectFolderUrl': {'type': ['string', 'null']}, 'estimatedClipCount': {'type': 'number'}, 'downloadUrlExpiresInSeconds': {'type': 'number'}}, 'additionalProperties': False}, 'sourceKind': {'type': 'string'}, 'importedAssetId': {'type': 'string'}, 'mutationReceipt': {'type': 'object', 'required': ['id', 'key', 'operation', 'status', 'replayed'], 'properties': {'id': {'type': ['string', 'null']}, 'key': {'type': ['string', 'null']}, 'status': {'enum': ['completed'], 'type': 'string'}, 'replayed': {'type': 'boolean'}, 'operation': {'type': 'string'}}, 'additionalProperties': False}}, 'additionalProperties': False}}, 'additionalProperties': False}
clips_export
Export One Clip
Render one managed clip at an existing-account-supported quality. Returns persisted export state; inspect until the accepted delivery file is ready. Can spend existing account credits.
Idempotent
Eingabeschema
{'type': 'object', 'required': ['clipId', 'idempotencyKey'], 'properties': {'clipId': {'type': ['string', 'null'], 'default': None}, 'format': {'enum': ['mp4', 'mov'], 'type': 'string', 'default': 'mp4'}, 'resolution': {'enum': ['720p', '1080p'], 'type': 'string', 'default': '1080p'}, 'workspaceId': {'type': 'string', 'format': 'uuid', 'description': 'UUID string.'}, 'idempotencyKey': {'type': ['string', 'null'], 'default': None}, 'coverFrameSeconds': {'type': 'number', 'minimum': 0}}, 'additionalProperties': False}
Ausgabeschema
{'type': 'object', 'additionalProperties': True}
clips_get
Get Clip Batch
Get status, generated clips, render counts, and download links for a BlitzReels clip batch.
Nur Lesen Idempotent
Eingabeschema
{'type': 'object', 'required': ['batchId'], 'properties': {'batchId': {'type': 'string', 'format': 'uuid', 'description': 'Clip batch ID. UUID string.'}, 'workspaceId': {'type': 'string', 'format': 'uuid', 'description': "Optional workspace ID. Defaults to the user's default workspace. UUID string."}}, 'additionalProperties': False}
Ausgabeschema
{'type': 'object', 'required': ['batch'], 'properties': {'batch': {'type': 'object', 'required': ['id', 'status', 'assetId', 'projectFolderId', 'estimatedClipCount', 'totalClipCount', 'renderedCount', 'failedCount', 'reviewCount', 'clipPreset', 'selectedQuality', 'lastErrorMessage', 'sourceUrl', 'studioUrl', 'projectFolderUrl', 'zipDownloadUrl', 'downloadUrlExpiresInSeconds', 'polling', 'clips'], 'properties': {'id': {'type': 'string'}, 'clips': {'type': 'array', 'items': {'type': 'object', 'required': ['id', 'suggestionId', 'projectId', 'exportId', 'title', 'status', 'downloadUrl', 'thumbnailUrl', 'errorMessage'], 'properties': {'id': {'type': 'string'}, 'title': {'type': 'string'}, 'status': {'type': 'string'}, 'exportId': {'type': ['string', 'null']}, 'projectId': {'type': ['string', 'null']}, 'downloadUrl': {'type': ['string', 'null']}, 'errorMessage': {'type': ['string', 'null']}, 'suggestionId': {'type': ['string', 'null']}, 'thumbnailUrl': {'type': ['string', 'null']}}, 'additionalProperties': False}}, 'status': {'type': 'string'}, 'assetId': {'type': 'string'}, 'polling': {'type': 'object', 'required': ['state', 'stage', 'isTerminal', 'shouldPoll', 'suggestedTool', 'nextPollAfterSeconds', 'maxPollSeconds', 'maxPollAttempts'], 'properties': {'stage': {'type': 'string'}, 'state': {'type': 'string'}, 'isTerminal': {'type': 'boolean'}, 'shouldPoll': {'type': 'boolean'}, 'suggestedTool': {'enum': ['clips_get', 'clips_status_get'], 'type': 'string'}, 'maxPollSeconds': {'type': 'number'}, 'maxPollAttempts': {'type': 'number'}, 'nextPollAfterSeconds': {'type': ['number', 'null']}}, 'additionalProperties': False}, 'sourceUrl': {'type': 'string'}, 'studioUrl': {'type': 'string'}, 'clipPreset': {'anyOf': [{'type': 'object', 'required': ['id', 'name'], 'properties': {'id': {'type': 'string'}, 'name': {'type': 'string'}}, 'additionalProperties': False}, {'type': 'null'}]}, 'failedCount': {'type': 'number'}, 'reviewCount': {'type': 'number'}, 'renderedCount': {'type': 'number'}, 'totalClipCount': {'type': 'number'}, 'zipDownloadUrl': {'type': ['string', 'null']}, 'projectFolderId': {'type': ['string', 'null']}, 'selectedQuality': {'type': ['string', 'null']}, 'lastErrorMessage': {'type': ['string', 'null']}, 'projectFolderUrl': {'type': ['string', 'null']}, 'estimatedClipCount': {'type': 'number'}, 'downloadUrlExpiresInSeconds': {'type': 'number'}}, 'additionalProperties': False}}, 'additionalProperties': False}
clip_share_get
Read Clip Review Link
Read whether the source video's clip share page is public and which clips are visible. Does not publish content.
Nur Lesen Idempotent
Eingabeschema
{'type': 'object', '$schema': 'https://json-schema.org/draft/2020-12/schema', 'required': ['workspaceId', 'assetId'], 'properties': {'assetId': {'type': 'string', 'format': 'uuid', 'pattern': '^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$', 'description': 'UUID string.'}, 'workspaceId': {'anyOf': [{'type': 'string', 'format': 'uuid', 'pattern': '^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$'}, {'type': 'null'}], 'default': None}}, 'additionalProperties': False}
Ausgabeschema
{'type': 'object', 'required': ['result'], 'properties': {'result': {'type': 'object', 'additionalProperties': True}}, 'additionalProperties': False}
clip_share_publish
Publish a Clip Review Link
Make the selected source video's clip page public with reviewed title, description and explicit download permission. Requires confirmPublicSharing=true from the user. Returns the verified public URL; no social network post is made.
Destruktiv Externer Zugriff Idempotent
Eingabeschema
{'type': 'object', '$schema': 'https://json-schema.org/draft/2020-12/schema', 'required': ['workspaceId', 'idempotencyKey', 'assetId', 'title', 'description', 'allowDownloads', 'confirmPublicSharing'], 'properties': {'title': {'type': 'string', 'maxLength': 140, 'minLength': 1}, 'assetId': {'type': 'string', 'format': 'uuid', 'pattern': '^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$', 'description': 'UUID string.'}, 'description': {'type': 'string', 'default': '', 'maxLength': 500}, 'workspaceId': {'anyOf': [{'type': 'string', 'format': 'uuid', 'pattern': '^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$'}, {'type': 'null'}], 'default': None}, 'allowDownloads': {'type': 'boolean'}, 'idempotencyKey': {'type': 'string', 'maxLength': 200, 'minLength': 8}, 'confirmPublicSharing': {'type': 'boolean', 'const': True}}, 'additionalProperties': False}
Ausgabeschema
{'type': 'object', 'required': ['result'], 'properties': {'result': {'type': 'object', 'additionalProperties': True}}, 'additionalProperties': False}
clip_share_unpublish
Unpublish a Clip Review Link
Disable public access to the selected clip page. Changes an existing publication; preserves private projects and exports.
Destruktiv Externer Zugriff Idempotent
Eingabeschema
{'type': 'object', '$schema': 'https://json-schema.org/draft/2020-12/schema', 'required': ['workspaceId', 'idempotencyKey', 'assetId'], 'properties': {'assetId': {'type': 'string', 'format': 'uuid', 'pattern': '^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$', 'description': 'UUID string.'}, 'workspaceId': {'anyOf': [{'type': 'string', 'format': 'uuid', 'pattern': '^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$'}, {'type': 'null'}], 'default': None}, 'idempotencyKey': {'type': 'string', 'maxLength': 200, 'minLength': 8}}, 'additionalProperties': False}
Ausgabeschema
{'type': 'object', 'required': ['result'], 'properties': {'result': {'type': 'object', 'additionalProperties': True}}, 'additionalProperties': False}
clip_share_visibility_set
Set Shared Clip Visibility
Show or hide one identified clip on an existing public review page after explicit user confirmation. Preserves the other clips and private project data.
Destruktiv Externer Zugriff Idempotent
Eingabeschema
{'type': 'object', '$schema': 'https://json-schema.org/draft/2020-12/schema', 'required': ['workspaceId', 'idempotencyKey', 'assetId', 'clipId', 'visibility', 'confirmPublicSharing'], 'properties': {'clipId': {'type': 'string', 'format': 'uuid', 'pattern': '^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$'}, 'assetId': {'type': 'string', 'format': 'uuid', 'pattern': '^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$', 'description': 'UUID string.'}, 'visibility': {'enum': ['visible', 'hidden'], 'type': 'string'}, 'workspaceId': {'anyOf': [{'type': 'string', 'format': 'uuid', 'pattern': '^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$'}, {'type': 'null'}], 'default': None}, 'idempotencyKey': {'type': 'string', 'maxLength': 200, 'minLength': 8}, 'confirmPublicSharing': {'type': 'boolean', 'const': True}}, 'additionalProperties': False}
Ausgabeschema
{'type': 'object', 'required': ['result'], 'properties': {'result': {'type': 'object', 'additionalProperties': True}}, 'additionalProperties': False}
clips_inspect
Inspect One Clip
Read one managed clip's selected source range, project, workflow state and delivery information.
Nur Lesen Idempotent
Eingabeschema
{'type': 'object', 'required': ['clipId'], 'properties': {'clipId': {'type': ['string', 'null'], 'default': None}, 'workspaceId': {'type': 'string', 'format': 'uuid', 'description': 'UUID string.'}}, 'additionalProperties': False}
Ausgabeschema
{'type': 'object', 'additionalProperties': True}
clips_list
List Clips
List bounded managed clips from the selected source or project with their current workflow state.
Nur Lesen Idempotent
Eingabeschema
{'type': 'object', 'required': [], 'properties': {'limit': {'type': 'number', 'default': 20, 'maximum': 50, 'minimum': 1}, 'offset': {'type': 'number', 'default': 0, 'minimum': 0}, 'status': {'type': 'string'}, 'assetId': {'type': 'string', 'format': 'uuid', 'description': 'UUID string.'}, 'projectId': {'type': 'string', 'format': 'uuid', 'description': 'UUID string.'}, 'workspaceId': {'type': 'string', 'format': 'uuid', 'description': 'UUID string.'}}, 'additionalProperties': False}
Ausgabeschema
{'type': 'object', 'additionalProperties': True}
clips_manage
Manage Clips
List or inspect clips, regenerate, repair visual QA, start export, promote an accepted delivery export, inspect caption words, or apply a verified caption look.
Externer Zugriff
Eingabeschema
{'type': 'object', 'required': ['operation'], 'properties': {'limit': {'type': 'number', 'default': 20, 'maximum': 50, 'minimum': 1}, 'clipId': {'type': 'string'}, 'format': {'enum': ['mp4', 'mov'], 'type': 'string', 'default': 'mp4'}, 'lookId': {'type': 'string'}, 'offset': {'type': 'number', 'default': 0, 'minimum': 0}, 'status': {'type': 'string'}, 'assetId': {'type': 'string', 'format': 'uuid', 'description': 'UUID string.'}, 'exportId': {'type': 'string', 'format': 'uuid', 'description': 'UUID string.'}, 'matchText': {'type': 'string'}, 'operation': {'enum': ['list', 'get', 'reselect', 'repair', 'export', 'promote_export', 'list_caption_words', 'set_caption_look'], 'type': 'string'}, 'projectId': {'type': 'string', 'format': 'uuid', 'description': 'UUID string.'}, 'endSeconds': {'type': 'number'}, 'layoutMode': {'enum': ['auto', 'people_first', 'screen_first', 'preserve_full_source', 'prefer_split', 'prefer_focus', 'prefer_tutorial', 'prefer_demo'], 'type': 'string'}, 'repairMode': {'enum': ['auto', 'prefer_split', 'prefer_focus', 'prefer_tutorial', 'prefer_demo', 'move_captions_off_faces'], 'type': 'string', 'default': 'auto'}, 'resolution': {'enum': ['720p', '1080p'], 'type': 'string', 'default': '1080p'}, 'workspaceId': {'type': 'string', 'format': 'uuid', 'description': 'UUID string.'}, 'startSeconds': {'type': 'number', 'minimum': 0}, 'suggestionId': {'type': 'string', 'format': 'uuid', 'description': 'UUID string.'}, 'selectionMode': {'enum': ['auto_best', 'suggestion', 'time_range'], 'type': 'string'}, 'idempotencyKey': {'type': 'string'}, 'timelineItemId': {'type': 'string'}, 'captionsEnabled': {'type': 'boolean'}, 'confirmVisualQa': {'type': 'boolean', 'default': False}, 'contentTypeHint': {'enum': ['auto', 'podcast', 'tutorial', 'demo', 'generic'], 'type': 'string'}, 'captionWordLimit': {'type': 'number', 'default': 100, 'maximum': 500, 'minimum': 1}, 'coverFrameSeconds': {'type': 'number', 'minimum': 0}, 'clearWordOverrides': {'type': 'boolean', 'default': False}, 'maxDurationSeconds': {'type': 'number'}, 'minDurationSeconds': {'type': 'number'}, 'allowBlockingQaBypass': {'type': 'boolean', 'default': False}}, 'additionalProperties': False}
Ausgabeschema
{'type': 'object', 'additionalProperties': True}
clips_presets_list
List Clip Presets
List available clip batch presets and their clipping/caption defaults.
Nur Lesen Idempotent
Eingabeschema
{'type': 'object', 'properties': {}, 'additionalProperties': False}
Ausgabeschema
{'type': 'object', 'required': ['presets'], 'properties': {'presets': {'type': 'array', 'items': {'type': 'object'}}}, 'additionalProperties': False}
clips_recover
Recover Missing Clips
Recover a terminal batch's missing clip count through the persisted recovery workflow. Preserves accepted clips and returns the recovery batch ID. Can spend existing account credits; retry with the identical idempotency key.
Idempotent
Eingabeschema
{'type': 'object', '$schema': 'https://json-schema.org/draft/2020-12/schema', 'required': ['workspaceId', 'idempotencyKey', 'batchId', 'targetClipCount'], 'properties': {'batchId': {'type': 'string', 'format': 'uuid', 'pattern': '^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$', 'description': 'UUID string.'}, 'workspaceId': {'anyOf': [{'type': 'string', 'format': 'uuid', 'pattern': '^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$'}, {'type': 'null'}], 'default': None}, 'idempotencyKey': {'type': 'string', 'maxLength': 200, 'minLength': 8}, 'targetClipCount': {'anyOf': [{'type': 'integer', 'maximum': 30, 'minimum': 1}, {'type': 'null'}], 'default': None}}, 'additionalProperties': False}
Ausgabeschema
{'type': 'object', 'additionalProperties': True}
clips_repair
Repair One Clip Layout
Request a layout repair for one managed clip, such as preserving a screen demo or moving captions away from faces. Changes that clip's project; preserves the other clips.
Destruktiv Idempotent
Eingabeschema
{'type': 'object', 'required': ['clipId', 'idempotencyKey'], 'properties': {'clipId': {'type': ['string', 'null'], 'default': None}, 'repairMode': {'enum': ['auto', 'prefer_split', 'prefer_focus', 'prefer_tutorial', 'prefer_demo', 'move_captions_off_faces'], 'type': 'string', 'default': 'auto'}, 'workspaceId': {'type': 'string', 'format': 'uuid', 'description': 'UUID string.'}, 'idempotencyKey': {'type': ['string', 'null'], 'default': None}}, 'additionalProperties': False}
Ausgabeschema
{'type': 'object', 'additionalProperties': True}
clips_reselect
Revise Selected Moment
Replace the source moment for one managed clip using a verified suggestion or explicit time range. Can spend existing account credits. Preserves the other clips; read current state before retrying.
Destruktiv Idempotent
Eingabeschema
{'type': 'object', 'required': ['clipId', 'selectionMode', 'idempotencyKey'], 'properties': {'clipId': {'type': ['string', 'null'], 'default': None}, 'lookId': {'type': 'string'}, 'endSeconds': {'type': 'number'}, 'layoutMode': {'enum': ['auto', 'people_first', 'screen_first', 'preserve_full_source', 'prefer_split', 'prefer_focus', 'prefer_tutorial', 'prefer_demo'], 'type': 'string'}, 'workspaceId': {'type': 'string', 'format': 'uuid', 'description': 'UUID string.'}, 'startSeconds': {'type': 'number', 'minimum': 0}, 'suggestionId': {'type': 'string', 'format': 'uuid', 'description': 'UUID string.'}, 'selectionMode': {'enum': ['auto_best', 'suggestion', 'time_range'], 'type': ['string', 'null'], 'default': None}, 'idempotencyKey': {'type': ['string', 'null'], 'default': None}, 'captionsEnabled': {'type': 'boolean'}, 'contentTypeHint': {'enum': ['auto', 'podcast', 'tutorial', 'demo', 'generic'], 'type': 'string'}, 'maxDurationSeconds': {'type': 'number'}, 'minDurationSeconds': {'type': 'number'}}, 'additionalProperties': False}
Ausgabeschema
{'type': 'object', 'additionalProperties': True}
clips_status_get
Refresh Clip Progress
Read one existing batch's progress, ready clips and renewed signed links without opening or remounting a review widget. Safe for bounded polling and widget refresh; does not recreate or repair clips.
Nur Lesen Idempotent
Eingabeschema
{'type': 'object', 'required': ['batchId'], 'properties': {'batchId': {'type': 'string', 'format': 'uuid', 'description': 'UUID string.'}, 'workspaceId': {'type': 'string', 'format': 'uuid', 'description': 'UUID string.'}}, 'additionalProperties': False}
Ausgabeschema
{'type': 'object', 'required': ['batch'], 'properties': {'batch': {'type': 'object', 'required': ['id', 'status', 'assetId', 'projectFolderId', 'estimatedClipCount', 'totalClipCount', 'renderedCount', 'failedCount', 'reviewCount', 'clipPreset', 'selectedQuality', 'lastErrorMessage', 'sourceUrl', 'studioUrl', 'projectFolderUrl', 'zipDownloadUrl', 'downloadUrlExpiresInSeconds', 'polling', 'clips'], 'properties': {'id': {'type': 'string'}, 'clips': {'type': 'array', 'items': {'type': 'object', 'required': ['id', 'suggestionId', 'projectId', 'exportId', 'title', 'status', 'downloadUrl', 'thumbnailUrl', 'errorMessage'], 'properties': {'id': {'type': 'string'}, 'title': {'type': 'string'}, 'status': {'type': 'string'}, 'exportId': {'type': ['string', 'null']}, 'projectId': {'type': ['string', 'null']}, 'downloadUrl': {'type': ['string', 'null']}, 'errorMessage': {'type': ['string', 'null']}, 'suggestionId': {'type': ['string', 'null']}, 'thumbnailUrl': {'type': ['string', 'null']}}, 'additionalProperties': False}}, 'status': {'type': 'string'}, 'assetId': {'type': 'string'}, 'polling': {'type': 'object', 'required': ['state', 'stage', 'isTerminal', 'shouldPoll', 'suggestedTool', 'nextPollAfterSeconds', 'maxPollSeconds', 'maxPollAttempts'], 'properties': {'stage': {'type': 'string'}, 'state': {'type': 'string'}, 'isTerminal': {'type': 'boolean'}, 'shouldPoll': {'type': 'boolean'}, 'suggestedTool': {'enum': ['clips_get', 'clips_status_get'], 'type': 'string'}, 'maxPollSeconds': {'type': 'number'}, 'maxPollAttempts': {'type': 'number'}, 'nextPollAfterSeconds': {'type': ['number', 'null']}}, 'additionalProperties': False}, 'sourceUrl': {'type': 'string'}, 'studioUrl': {'type': 'string'}, 'clipPreset': {'anyOf': [{'type': 'object', 'required': ['id', 'name'], 'properties': {'id': {'type': 'string'}, 'name': {'type': 'string'}}, 'additionalProperties': False}, {'type': 'null'}]}, 'failedCount': {'type': 'number'}, 'reviewCount': {'type': 'number'}, 'renderedCount': {'type': 'number'}, 'totalClipCount': {'type': 'number'}, 'zipDownloadUrl': {'type': ['string', 'null']}, 'projectFolderId': {'type': ['string', 'null']}, 'selectedQuality': {'type': ['string', 'null']}, 'lastErrorMessage': {'type': ['string', 'null']}, 'projectFolderUrl': {'type': ['string', 'null']}, 'estimatedClipCount': {'type': 'number'}, 'downloadUrlExpiresInSeconds': {'type': 'number'}}, 'additionalProperties': False}}, 'additionalProperties': False}
content_performance_list
Read Published Content Performance
Read bounded existing provider-reported engagement in the selected workspace, sorted by views. Returns source title, caption, published date and views/likes/comments/shares/saves. Does not import new data, start monitoring or infer attributable leads, sales or revenue.
Nur Lesen Idempotent
Eingabeschema
{'type': 'object', '$schema': 'https://json-schema.org/draft/2020-12/schema', 'required': ['workspaceId', 'platform', 'range', 'limit', 'offset', 'search'], 'properties': {'limit': {'type': 'integer', 'default': 20, 'maximum': 50, 'minimum': 1}, 'range': {'enum': ['7d', '30d', '90d', 'all'], 'type': 'string', 'default': '30d'}, 'offset': {'type': 'integer', 'default': 0, 'maximum': 9007199254740991, 'minimum': 0}, 'search': {'type': 'string', 'default': '', 'maxLength': 200}, 'platform': {'enum': ['all', 'youtube', 'instagram', 'facebook', 'tiktok'], 'type': 'string', 'default': 'all'}, 'workspaceId': {'anyOf': [{'type': 'string', 'format': 'uuid', 'pattern': '^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$'}, {'type': 'null'}], 'default': None}}, 'additionalProperties': False}
Ausgabeschema
{'type': 'object', 'required': ['result'], 'properties': {'result': {'type': 'object', 'additionalProperties': True}}, 'additionalProperties': False}
delete_timeline_items
Delete Timeline Items
Preview or delete up to 100 timeline items and optionally remove linked captions.
Destruktiv Idempotent
Eingabeschema
{'type': 'object', 'required': ['projectId', 'timelineItemIds'], 'properties': {'dryRun': {'type': 'boolean', 'default': True}, 'projectId': {'type': 'string', 'format': 'uuid', 'description': 'UUID string.'}, 'confirmDelete': {'type': 'boolean', 'default': False}, 'idempotencyKey': {'type': 'string', 'pattern': '^[A-Za-z0-9._:-]+$', 'maxLength': 200, 'minLength': 8}, 'timelineItemIds': {'type': 'array', 'items': {'type': 'string', 'format': 'uuid'}, 'maxItems': 100, 'minItems': 1}, 'expectedRevision': {'type': 'integer', 'minimum': 0, 'description': 'Expected sequence revision, or null.'}, 'removeAssociatedCaptions': {'type': 'boolean', 'default': True}}, 'additionalProperties': False}
Ausgabeschema
{'type': 'object', 'oneOf': [{'type': 'object', 'required': ['dryRun', 'plan'], 'properties': {'plan': {'type': 'object'}, 'dryRun': {'type': 'boolean', 'const': True}}, 'additionalProperties': False}, {'type': 'object', 'required': ['dryRun', 'mutation'], 'properties': {'dryRun': {'type': 'boolean', 'const': False}, 'mutation': {'type': 'object', 'required': ['operationId', 'projectId', 'baseRevision', 'revision', 'replayed', 'txid', 'affectedTimelineItemIds', 'createdTimelineItemIds', 'deletedTimelineItemIds', 'warnings', 'result', 'mutationReceipt'], 'properties': {'txid': {'type': 'number'}, 'result': {'type': 'object'}, 'replayed': {'type': 'boolean'}, 'revision': {'type': 'integer'}, 'warnings': {'type': 'array', 'items': {'type': 'string'}}, 'projectId': {'type': 'string'}, 'operationId': {'type': 'string'}, 'baseRevision': {'type': 'integer'}, 'mutationReceipt': {'type': 'object', 'required': ['id', 'key', 'operation', 'status', 'replayed'], 'properties': {'id': {'type': ['string', 'null']}, 'key': {'type': ['string', 'null']}, 'status': {'enum': ['completed'], 'type': 'string'}, 'replayed': {'type': 'boolean'}, 'operation': {'type': 'string'}}, 'additionalProperties': False}, 'createdTimelineItemIds': {'type': 'array', 'items': {'type': 'string'}}, 'deletedTimelineItemIds': {'type': 'array', 'items': {'type': 'string'}}, 'affectedTimelineItemIds': {'type': 'array', 'items': {'type': 'string'}}}, 'additionalProperties': False}}, 'additionalProperties': False}]}
editor_asset_replace
editor asset replace
Replace one shot's media asset while preserving the other timeline items. Revision checked; dryRun previews by default. Requires a current editor snapshot and an asset in the same workspace.
Destruktiv Idempotent
Eingabeschema
{'type': 'object', '$schema': 'https://json-schema.org/draft/2020-12/schema', 'required': ['itemId', 'assetId', 'workspaceId', 'idempotencyKey', 'projectId', 'expectedRevision', 'dryRun'], 'properties': {'dryRun': {'type': 'boolean', 'default': True}, 'itemId': {'type': 'string'}, 'assetId': {'type': 'string', 'format': 'uuid', 'description': 'UUID string.'}, 'projectId': {'type': 'string', 'format': 'uuid', 'pattern': '^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$', 'description': 'UUID string.'}, 'workspaceId': {'anyOf': [{'type': 'string', 'format': 'uuid', 'pattern': '^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$'}, {'type': 'null'}], 'default': None}, 'idempotencyKey': {'type': 'string', 'maxLength': 200, 'minLength': 8}, 'expectedRevision': {'type': 'integer', 'maximum': 9007199254740991, 'minimum': 0}}, 'additionalProperties': False}
Ausgabeschema
{'type': 'object', 'additionalProperties': True}
editor_assets_insert
editor assets insert
Insert a workspace image, generated shot or audio asset at an explicit project time. Revision checked; dryRun previews by default.
Idempotent
Eingabeschema
{'type': 'object', '$schema': 'https://json-schema.org/draft/2020-12/schema', 'required': ['assetId', 'startSeconds', 'durationSeconds', 'layerIndex', 'workspaceId', 'idempotencyKey', 'projectId', 'expectedRevision', 'dryRun'], 'properties': {'dryRun': {'type': 'boolean', 'default': True}, 'assetId': {'type': 'string', 'format': 'uuid', 'minLength': 1, 'description': 'UUID string.'}, 'projectId': {'type': 'string', 'format': 'uuid', 'pattern': '^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$', 'description': 'UUID string.'}, 'layerIndex': {'anyOf': [{'type': 'integer', 'maximum': 9007199254740991, 'minimum': 0}, {'type': 'null'}]}, 'workspaceId': {'anyOf': [{'type': 'string', 'format': 'uuid', 'pattern': '^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$'}, {'type': 'null'}], 'default': None}, 'startSeconds': {'type': 'number', 'minimum': 0}, 'idempotencyKey': {'type': 'string', 'maxLength': 200, 'minLength': 8}, 'durationSeconds': {'anyOf': [{'type': 'number', 'exclusiveMinimum': 0}, {'type': 'null'}]}, 'expectedRevision': {'type': 'integer', 'maximum': 9007199254740991, 'minimum': 0}}, 'additionalProperties': False}
Ausgabeschema
{'type': 'object', 'additionalProperties': True}
editor_audio_set
editor audio set
Adjust one item's volume and audio fades. Revision checked; dryRun previews by default. Preserves the rest of the project.
Destruktiv Idempotent
Eingabeschema
{'type': 'object', '$schema': 'https://json-schema.org/draft/2020-12/schema', 'required': ['itemId', 'volume', 'fadeInSeconds', 'fadeOutSeconds', 'workspaceId', 'idempotencyKey', 'projectId', 'expectedRevision', 'dryRun'], 'properties': {'dryRun': {'type': 'boolean', 'default': True}, 'itemId': {'type': 'string'}, 'volume': {'type': 'number', 'maximum': 2, 'minimum': 0}, 'projectId': {'type': 'string', 'format': 'uuid', 'pattern': '^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$', 'description': 'UUID string.'}, 'workspaceId': {'anyOf': [{'type': 'string', 'format': 'uuid', 'pattern': '^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$'}, {'type': 'null'}], 'default': None}, 'fadeInSeconds': {'type': 'number', 'minimum': 0}, 'fadeOutSeconds': {'type': 'number', 'minimum': 0}, 'idempotencyKey': {'type': 'string', 'maxLength': 200, 'minLength': 8}, 'expectedRevision': {'type': 'integer', 'maximum': 9007199254740991, 'minimum': 0}}, 'additionalProperties': False}
Ausgabeschema
{'type': 'object', 'additionalProperties': True}
editor_crop_set
editor crop set
Adjust the crop of one existing source view after a layout has been applied. Revision checked; dryRun previews by default. Preserves the other shots.
Destruktiv Idempotent
Eingabeschema
{'type': 'object', '$schema': 'https://json-schema.org/draft/2020-12/schema', 'required': ['itemId', 'crop', 'workspaceId', 'idempotencyKey', 'projectId', 'expectedRevision', 'dryRun'], 'properties': {'crop': {'type': 'object', 'required': ['x', 'y', 'width', 'height'], 'properties': {'x': {'type': 'number', 'maximum': 1, 'minimum': 0}, 'y': {'type': 'number', 'maximum': 1, 'minimum': 0}, 'width': {'type': 'number', 'maximum': 1, 'minimum': 0.0001}, 'height': {'type': 'number', 'maximum': 1, 'minimum': 0.0001}}, 'additionalProperties': False}, 'dryRun': {'type': 'boolean', 'default': True}, 'itemId': {'type': 'string', 'minLength': 1}, 'projectId': {'type': 'string', 'format': 'uuid', 'pattern': '^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$', 'description': 'UUID string.'}, 'workspaceId': {'anyOf': [{'type': 'string', 'format': 'uuid', 'pattern': '^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$'}, {'type': 'null'}], 'default': None}, 'idempotencyKey': {'type': 'string', 'maxLength': 200, 'minLength': 8}, 'expectedRevision': {'type': 'integer', 'maximum': 9007199254740991, 'minimum': 0}}, 'additionalProperties': False}
Ausgabeschema
{'type': 'object', 'additionalProperties': True}
editor_edit_undo
Undo Saved Edit
Restore one saved editor action at the expected current revision. Requires the action ID from edit history and an idempotency key. Existing project data is changed.
Destruktiv Idempotent
Eingabeschema
{'type': 'object', '$schema': 'https://json-schema.org/draft/2020-12/schema', 'required': ['projectId', 'actionId', 'expectedRevision', 'workspaceId', 'idempotencyKey'], 'properties': {'actionId': {'type': 'string', 'minLength': 1}, 'projectId': {'type': 'string', 'format': 'uuid', 'description': 'UUID string.'}, 'workspaceId': {'anyOf': [{'type': 'string', 'format': 'uuid', 'pattern': '^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$'}, {'type': 'null'}], 'default': None}, 'idempotencyKey': {'type': 'string', 'maxLength': 200, 'minLength': 8}, 'expectedRevision': {'type': 'integer', 'maximum': 9007199254740991, 'minimum': 0}}, 'additionalProperties': False}
Ausgabeschema
{'type': 'object', 'additionalProperties': True}
editor_history_list
List Edit History
Read up to 50 saved edit actions, their labels and undo state. Does not restore or change the project.
Nur Lesen Idempotent
Eingabeschema
{'type': 'object', '$schema': 'https://json-schema.org/draft/2020-12/schema', 'required': ['workspaceId', 'projectId', 'limit'], 'properties': {'limit': {'type': 'integer', 'default': 20, 'maximum': 50, 'minimum': 1}, 'projectId': {'type': 'string', 'format': 'uuid', 'pattern': '^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$', 'description': 'UUID string.'}, 'workspaceId': {'anyOf': [{'type': 'string', 'format': 'uuid', 'pattern': '^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$'}, {'type': 'null'}], 'default': None}}, 'additionalProperties': False}
Ausgabeschema
{'type': 'object', 'additionalProperties': True}
editor_items_move
editor items move
Move selected timeline items to explicit times and layers. Revision checked; dryRun previews by default.
Destruktiv Idempotent
Eingabeschema
{'type': 'object', '$schema': 'https://json-schema.org/draft/2020-12/schema', 'required': ['items', 'workspaceId', 'idempotencyKey', 'projectId', 'expectedRevision', 'dryRun'], 'properties': {'items': {'type': 'array', 'items': {'type': 'object', 'required': ['id', 'startSeconds', 'layerIndex'], 'properties': {'id': {'type': 'string', 'minLength': 1}, 'layerIndex': {'type': 'integer', 'maximum': 9007199254740991, 'minimum': 0}, 'startSeconds': {'type': 'number', 'minimum': 0}}, 'additionalProperties': False}, 'maxItems': 500, 'minItems': 1}, 'dryRun': {'type': 'boolean', 'default': True}, 'projectId': {'type': 'string', 'format': 'uuid', 'pattern': '^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$', 'description': 'UUID string.'}, 'workspaceId': {'anyOf': [{'type': 'string', 'format': 'uuid', 'pattern': '^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$'}, {'type': 'null'}], 'default': None}, 'idempotencyKey': {'type': 'string', 'maxLength': 200, 'minLength': 8}, 'expectedRevision': {'type': 'integer', 'maximum': 9007199254740991, 'minimum': 0}}, 'additionalProperties': False}
Ausgabeschema
{'type': 'object', 'additionalProperties': True}
editor_items_remove
editor items remove
Remove selected timeline items and, if requested, their linked captions. Revision checked; dryRun previews by default. The saved action can be undone.
Destruktiv Idempotent
Eingabeschema
{'type': 'object', '$schema': 'https://json-schema.org/draft/2020-12/schema', 'required': ['itemIds', 'removeAssociatedCaptions', 'workspaceId', 'idempotencyKey', 'projectId', 'expectedRevision', 'dryRun'], 'properties': {'dryRun': {'type': 'boolean', 'default': True}, 'itemIds': {'type': 'array', 'items': {'type': 'string', 'minLength': 1}, 'maxItems': 500, 'minItems': 1}, 'projectId': {'type': 'string', 'format': 'uuid', 'pattern': '^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$', 'description': 'UUID string.'}, 'workspaceId': {'anyOf': [{'type': 'string', 'format': 'uuid', 'pattern': '^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$'}, {'type': 'null'}], 'default': None}, 'idempotencyKey': {'type': 'string', 'maxLength': 200, 'minLength': 8}, 'expectedRevision': {'type': 'integer', 'maximum': 9007199254740991, 'minimum': 0}, 'removeAssociatedCaptions': {'type': 'boolean'}}, 'additionalProperties': False}
Ausgabeschema
{'type': 'object', 'additionalProperties': True}
editor_snapshot_get
Read Editor Snapshot
Read the current revision, stable timeline IDs, captions, style and bounded media context before a precise revision. Signed media links are refreshed by reading again.
Nur Lesen Idempotent
Eingabeschema
{'type': 'object', '$schema': 'https://json-schema.org/draft/2020-12/schema', 'required': ['workspaceId', 'projectId', 'offset', 'limit', 'expectedRevision'], 'properties': {'limit': {'type': 'integer', 'default': 100, 'maximum': 200, 'minimum': 1}, 'offset': {'type': 'integer', 'default': 0, 'maximum': 9007199254740991, 'minimum': 0}, 'projectId': {'type': 'string', 'format': 'uuid', 'pattern': '^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$', 'description': 'UUID string.'}, 'workspaceId': {'anyOf': [{'type': 'string', 'format': 'uuid', 'pattern': '^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$'}, {'type': 'null'}], 'default': None}, 'expectedRevision': {'anyOf': [{'type': 'integer', 'maximum': 9007199254740991, 'minimum': 0}, {'type': 'null'}], 'default': None}}, 'additionalProperties': False}
Ausgabeschema
{'type': 'object', 'additionalProperties': True}
editor_text_set
editor text set
Create or revise one title or text overlay with explicit timing. Revision checked; dryRun previews by default. This edits project text, not spoken audio or captions.
Destruktiv Idempotent
Eingabeschema
{'type': 'object', '$schema': 'https://json-schema.org/draft/2020-12/schema', 'required': ['itemId', 'text', 'textKind', 'spec', 'startSeconds', 'durationSeconds', 'workspaceId', 'idempotencyKey', 'projectId', 'expectedRevision', 'dryRun'], 'properties': {'spec': {'anyOf': [{'type': 'object', 'propertyNames': {'type': 'string'}, 'additionalProperties': {}}, {'type': 'null'}]}, 'text': {'type': 'string', 'minLength': 1}, 'dryRun': {'type': 'boolean', 'default': True}, 'itemId': {'anyOf': [{'type': 'string', 'minLength': 1}, {'type': 'null'}]}, 'textKind': {'enum': ['overlay', 'title_card'], 'type': 'string'}, 'projectId': {'type': 'string', 'format': 'uuid', 'pattern': '^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$', 'description': 'UUID string.'}, 'workspaceId': {'anyOf': [{'type': 'string', 'format': 'uuid', 'pattern': '^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$'}, {'type': 'null'}], 'default': None}, 'startSeconds': {'type': 'number', 'minimum': 0}, 'idempotencyKey': {'type': 'string', 'maxLength': 200, 'minLength': 8}, 'durationSeconds': {'type': 'number', 'minimum': 0, 'exclusiveMinimum': 0}, 'expectedRevision': {'type': 'integer', 'maximum': 9007199254740991, 'minimum': 0}}, 'additionalProperties': False}
Ausgabeschema
{'type': 'object', 'additionalProperties': True}
exports_caption_track_get
Read Export Caption Track
Read a WebVTT caption track from the completed export's immutable canonical speech snapshot, preserving the actual export trims. Returns unavailable for older exports or unverified speech; never fabricates captions from titles or current edited timelines.
Nur Lesen Idempotent
Eingabeschema
{'type': 'object', '$schema': 'https://json-schema.org/draft/2020-12/schema', 'required': ['workspaceId', 'exportId'], 'properties': {'exportId': {'type': 'string', 'format': 'uuid', 'pattern': '^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$', 'description': 'UUID string.'}, 'workspaceId': {'anyOf': [{'type': 'string', 'format': 'uuid', 'pattern': '^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$'}, {'type': 'null'}], 'default': None}}, 'additionalProperties': False}
Ausgabeschema
{'type': 'object', 'additionalProperties': True}
exports_list
List Exports
List exports with render status and progress. Completed exports include a signed download URL. Pass exportId to return one export.
Nur Lesen Idempotent
Eingabeschema
{'type': 'object', 'properties': {'limit': {'type': 'number', 'default': 20, 'maximum': 50, 'minimum': 1, 'description': 'Maximum exports to return when exportId is absent (1-50).'}, 'offset': {'type': 'number', 'default': 0, 'minimum': 0, 'description': 'Export offset when exportId is absent.'}, 'exportId': {'type': 'string', 'format': 'uuid', 'description': 'Return only this export, including its signed download URL when the render is complete. UUID string.'}, 'projectId': {'type': 'string', 'format': 'uuid', 'description': 'Filter exports by project ID. UUID string.'}, 'workspaceId': {'type': 'string', 'format': 'uuid', 'description': "Optional workspace ID when projectId is not provided. Defaults to the user's default workspace. UUID string."}}, 'additionalProperties': False}
Ausgabeschema
{'type': 'object', 'required': ['exports', 'bounds'], 'properties': {'bounds': {'type': 'object', 'required': ['limit', 'maxLimit', 'offset', 'total', 'returned', 'hasMore', 'truncated'], 'properties': {'limit': {'type': 'number'}, 'total': {'type': 'number'}, 'offset': {'type': 'number'}, 'hasMore': {'type': 'boolean'}, 'maxLimit': {'type': 'number'}, 'returned': {'type': 'number'}, 'truncated': {'type': 'boolean'}}, 'additionalProperties': False}, 'exports': {'type': 'array', 'items': {'type': 'object'}}}, 'additionalProperties': False}
exports_start
Start Export
Render a BlitzReels video project and return export and job IDs for status checks.
Eingabeschema
{'type': 'object', 'required': ['projectId'], 'properties': {'format': {'enum': ['mp4', 'mov', 'fcpxml'], 'type': 'string', 'default': 'mp4', 'description': 'Export container format'}, 'projectId': {'type': 'string', 'format': 'uuid', 'description': 'BlitzReels project ID. UUID string.'}, 'resolution': {'enum': ['720p', '1080p', '4k'], 'type': 'string', 'default': '1080p', 'description': 'Export resolution'}, 'idempotencyKey': {'type': 'string', 'description': 'Retry key. Reuse only with identical inputs.'}, 'coverFrameSeconds': {'type': 'number', 'minimum': 0, 'description': 'Optional cover thumbnail timestamp'}}, 'additionalProperties': False}
Ausgabeschema
{'type': 'object', 'required': ['export'], 'properties': {'export': {'type': 'object', 'required': ['mutationReceipt'], 'properties': {'mutationReceipt': {'type': 'object', 'required': ['id', 'key', 'operation', 'status', 'replayed'], 'properties': {'id': {'type': ['string', 'null']}, 'key': {'type': ['string', 'null']}, 'status': {'enum': ['completed'], 'type': 'string'}, 'replayed': {'type': 'boolean'}, 'operation': {'type': 'string'}}, 'additionalProperties': False}}}}, 'additionalProperties': False}
generation_faceless_create
Generate Faceless Video
Turn a script into a full faceless video project: scene plan, generated visuals, optional voiceover, captions, music, and sound. Spends AI credits and returns a job to poll with generation_jobs_get.
Externer Zugriff Idempotent
Eingabeschema
{'type': 'object', 'required': ['script'], 'properties': {'script': {'type': 'string', 'maxLength': 30000, 'minLength': 1, 'description': 'The narration or story to turn into a video.'}, 'voiceId': {'type': 'string', 'maxLength': 200, 'description': 'Optional voice override from the BlitzReels voice catalog. The Story Kit narrator voice is used when omitted.'}, 'seriesId': {'type': 'string', 'description': 'Optional Series UUID. Inherits its Story Kit and branding defaults for this new video.'}, 'storyKitId': {'type': 'string', 'description': 'Reusable Story Kit UUID for characters, references, locations, style, and narrator voice.'}, 'videoModel': {'enum': ['seedance-2.5-edit', 'kling-o3-standard-edit', 'kling-o3-pro-edit', 'kling-v3-standard-motion-control', 'kling-v3-pro-motion-control', 'wan-2.2-animate-replace', 'kling-2.1', 'kling-2.6-pro', 'kling-o1', 'kling-3.0', 'kling-o3-standard', 'kling-o3-pro', 'kling-o3-4k', 'kling-v3-pro', 'minimax-01', 'minimax-hailuo-02', 'minimax-hailuo-2.3-pro', 'minimax-h3-max', 'luma-ray-2', 'luma-ray-3.2', 'veo3', 'veo3.1', 'veo3.1-fast', 'gemini-omni-flash-ref2v', 'gemini-omni-flash-edit', 'gemini-omni-flash', 'wan-2.7', 'wan-2.7-ref2v', 'wan-3.0', 'happy-horse', 'happy-horse-ref2v', 'pixverse-v6', 'grok-imagine', 'seedance-2.0-pro', 'seedance-2.5', 'seedance-2.0-pro-fast', 'seedance-2.0-ref2v', 'seedance-2.0-ref2v-fast', 'seedance-1.5-pro', 'seedance-1.0-pro', 'seedance-1.0-pro-fast', 'seedance-1.0-lite', 'seedance-1.0-lite-ref2v', 'ltx-2-19b', 'ltx-2-19b-distilled', 'ltx-2.3', 'ltx-2.3-fast'], 'type': 'string', 'default': 'seedance-2.0-ref2v', 'description': 'Image-to-video model used to animate scenes.'}, 'projectName': {'type': 'string', 'default': 'Faceless Video', 'maxLength': 200, 'minLength': 1, 'description': 'Name for the created BlitzReels project.'}, 'visualStyle': {'type': 'string', 'maxLength': 2000, 'minLength': 1, 'description': 'Optional art direction override. A Story Kit style is used when omitted.'}, 'workspaceId': {'type': 'string', 'format': 'uuid', 'description': "Optional workspace ID. Defaults to the user's default workspace. UUID string."}, 'imageModelId': {'type': 'string', 'default': 'fal-ai/nano-banana-pro', 'maxLength': 200, 'minLength': 3, 'description': 'Model used to generate scene images.'}, 'captionStyleId': {'type': 'string', 'maxLength': 200, 'description': 'Optional caption theme ID from captions_themes_list.'}, 'idempotencyKey': {'type': 'string', 'pattern': '^[A-Za-z0-9._:-]+$', 'maxLength': 200, 'minLength': 8, 'description': 'Retry key. Reuse only with identical inputs.'}, 'plannerModelId': {'type': 'string', 'default': 'google/gemini-3.8-flash', 'maxLength': 200, 'minLength': 3, 'description': 'Model used to plan the video scenes.'}, 'includeCaptions': {'type': 'boolean', 'default': True, 'description': 'Burn captions into the timeline.'}, 'generateVoiceover': {'type': 'boolean', 'default': True, 'description': 'Narrate the script with a generated voice.'}, 'generateSoundEffects': {'type': 'boolean', 'default': False, 'description': 'Add generated sound effects.'}, 'targetDurationSeconds': {'type': 'number', 'default': 45, 'maximum': 120, 'minimum': 10, 'description': 'Target runtime between 10 and 120 seconds.'}, 'styleReferenceAssetIds': {'type': 'array', 'items': {'type': 'string', 'format': 'uuid'}, 'default': [], 'maxItems': 10, 'description': 'Optional stills that lock rendering medium, palette, lighting and texture. Not used as scene frames.'}, 'generateBackgroundMusic': {'type': 'boolean', 'default': False, 'description': 'Add a generated background track.'}}, 'additionalProperties': False}
Ausgabeschema
{'type': 'object', 'required': ['generation'], 'properties': {'generation': {'type': 'object', 'required': ['job_id', 'kind', 'status', 'mutationReceipt'], 'properties': {'kind': {'enum': ['image', 'video', 'voiceover', 'music', 'sound', 'faceless'], 'type': 'string'}, 'job_id': {'type': 'string'}, 'status': {'type': 'string'}, 'media_id': {'type': ['string', 'null']}, 'project_id': {'type': ['string', 'null']}, 'mutationReceipt': {'type': 'object', 'required': ['id', 'key', 'operation', 'status', 'replayed'], 'properties': {'id': {'type': ['string', 'null']}, 'key': {'type': ['string', 'null']}, 'status': {'enum': ['completed'], 'type': 'string'}, 'replayed': {'type': 'boolean'}, 'operation': {'type': 'string'}}, 'additionalProperties': False}, 'estimated_credits': {'type': ['number', 'null']}}}}, 'additionalProperties': False}
generation_image_create
Generate Image
Queue an AI image generation into the BlitzReels media library. Spends AI credits and returns a job to poll with generation_jobs_get.
Externer Zugriff Idempotent
Eingabeschema
{'type': 'object', 'required': ['prompt'], 'properties': {'model': {'enum': ['fal-ai/gpt-image-1', 'fal-ai/gpt-image-1.5', 'fal-ai/gpt-image-2', 'fal-ai/gpt-image-2.5-flare', 'fal-ai/gpt-image-2.5-sunburst', 'xai/grok-imagine-image-2.0', 'fal-ai/bytedance/seedream/v5/lite/text-to-image', 'bytedance/seedream/v5/pro/text-to-image', 'fal-ai/krea-2/turbo', 'fal-ai/krea/v2/medium/turbo/text-to-image', 'fal-ai/krea/v2/medium/text-to-image', 'fal-ai/nano-banana-2', 'google/nano-banana-2-lite', 'fal-ai/nano-banana-pro'], 'type': 'string', 'default': 'fal-ai/nano-banana-2', 'description': 'Image model. Call generation_options_list for costs.'}, 'prompt': {'type': 'string', 'maxLength': 5000, 'minLength': 8, 'description': 'What the image should show (8-5000 characters).'}, 'folderId': {'type': 'string', 'format': 'uuid', 'description': 'Optional media library folder ID.'}, 'resolution': {'anyOf': [{'enum': ['0.5k', '1k', '2k', '4k'], 'type': 'string'}, {'type': 'null'}], 'default': None, 'description': 'Native image resolution. Call generation_options_list for model support and resolution pricing. Unsupported settings are rejected.'}, 'aspectRatio': {'enum': ['1:1', '16:9', '9:16', '4:3', '3:4', '3:2', '2:3', '5:4', '4:5', '21:9'], 'type': 'string', 'default': '1:1', 'description': 'Output aspect ratio.'}, 'workspaceId': {'type': 'string', 'format': 'uuid', 'description': "Optional workspace ID. Defaults to the user's default workspace. UUID string."}, 'enhancePrompt': {'type': 'boolean', 'default': False, 'description': 'Enhance using BlitzReels model grammar and actual input context.'}, 'idempotencyKey': {'type': 'string', 'pattern': '^[A-Za-z0-9._:-]+$', 'maxLength': 200, 'minLength': 8, 'description': 'Retry key. Reuse only with identical inputs.'}, 'referenceAssetIds': {'type': 'array', 'items': {'type': 'string', 'format': 'uuid'}, 'default': [], 'maxItems': 14, 'description': 'Ordered image references. Model-specific limits are listed in generation_options_list; unsupported references fail.'}}, 'additionalProperties': False}
Ausgabeschema
{'type': 'object', 'required': ['generation'], 'properties': {'generation': {'type': 'object', 'required': ['job_id', 'kind', 'status', 'mutationReceipt'], 'properties': {'kind': {'enum': ['image', 'video', 'voiceover', 'music', 'sound', 'faceless'], 'type': 'string'}, 'job_id': {'type': 'string'}, 'status': {'type': 'string'}, 'media_id': {'type': ['string', 'null']}, 'project_id': {'type': ['string', 'null']}, 'mutationReceipt': {'type': 'object', 'required': ['id', 'key', 'operation', 'status', 'replayed'], 'properties': {'id': {'type': ['string', 'null']}, 'key': {'type': ['string', 'null']}, 'status': {'enum': ['completed'], 'type': 'string'}, 'replayed': {'type': 'boolean'}, 'operation': {'type': 'string'}}, 'additionalProperties': False}, 'estimated_credits': {'type': ['number', 'null']}}}}, 'additionalProperties': False}
generation_jobs_cancel
Cancel Generation Job
Request cancellation of the identified queued or running generation. Work already performed can consume credits; cancellation does not establish a refund.
Destruktiv Externer Zugriff Idempotent
Eingabeschema
{'type': 'object', 'required': ['jobId'], 'properties': {'jobId': {'type': 'string', 'format': 'uuid', 'description': 'Job ID returned by any generation_*_create tool.'}, 'workspaceId': {'type': 'string', 'format': 'uuid', 'description': "Optional workspace ID. Defaults to the user's default workspace. UUID string."}}, 'additionalProperties': False}
Ausgabeschema
{'type': 'object', 'required': ['job'], 'properties': {'job': {'type': 'object', 'required': ['job_id', 'kind', 'status', 'progress'], 'properties': {'kind': {'enum': ['image', 'video', 'voiceover', 'music', 'sound', 'faceless'], 'type': 'string'}, 'error': {'type': ['string', 'null']}, 'job_id': {'type': 'string'}, 'status': {'enum': ['queued', 'processing', 'complete', 'failed', 'canceled'], 'type': 'string'}, 'media_id': {'type': ['string', 'null']}, 'progress': {'type': 'number'}, 'created_at': {'type': 'string'}, 'project_id': {'type': ['string', 'null']}, 'completed_at': {'type': ['string', 'null']}, 'download_url': {'type': ['string', 'null']}, 'estimated_credits': {'type': ['number', 'null']}}}}, 'additionalProperties': False}
generation_jobs_get
Get Generation Job
Check a queued generation. Completed jobs carry the media asset ID and a download URL.
Nur Lesen Idempotent
Eingabeschema
{'type': 'object', 'required': ['jobId'], 'properties': {'jobId': {'type': 'string', 'format': 'uuid', 'description': 'Job ID returned by any generation_*_create tool.'}, 'workspaceId': {'type': 'string', 'format': 'uuid', 'description': "Optional workspace ID. Defaults to the user's default workspace. UUID string."}}, 'additionalProperties': False}
Ausgabeschema
{'type': 'object', 'required': ['job'], 'properties': {'job': {'type': 'object', 'required': ['job_id', 'kind', 'status', 'progress'], 'properties': {'kind': {'enum': ['image', 'video', 'voiceover', 'music', 'sound', 'faceless'], 'type': 'string'}, 'error': {'type': ['string', 'null']}, 'job_id': {'type': 'string'}, 'status': {'enum': ['queued', 'processing', 'complete', 'failed', 'canceled'], 'type': 'string'}, 'media_id': {'type': ['string', 'null']}, 'progress': {'type': 'number'}, 'created_at': {'type': 'string'}, 'project_id': {'type': ['string', 'null']}, 'completed_at': {'type': ['string', 'null']}, 'download_url': {'type': ['string', 'null']}, 'estimated_credits': {'type': ['number', 'null']}}}}, 'additionalProperties': False}
generation_music_create
Generate Music
Queue a background music track into the BlitzReels media library. Spends AI credits and returns a job to poll with generation_jobs_get.
Externer Zugriff Idempotent
Eingabeschema
{'type': 'object', 'properties': {'mood': {'enum': ['curiosity', 'intrigue', 'urgency', 'tension', 'concern', 'surprise', 'hope', 'satisfaction', 'inspiration', 'revelation', 'neutral'], 'type': 'string', 'default': 'neutral', 'description': 'Track mood.'}, 'prompt': {'type': 'string', 'default': '', 'maxLength': 500, 'description': 'Optional description of the track.'}, 'workspaceId': {'type': 'string', 'format': 'uuid', 'description': "Optional workspace ID. Defaults to the user's default workspace. UUID string."}, 'idempotencyKey': {'type': 'string', 'pattern': '^[A-Za-z0-9._:-]+$', 'maxLength': 200, 'minLength': 8, 'description': 'Retry key. Reuse only with identical inputs.'}, 'durationSeconds': {'type': 'number', 'default': 30, 'maximum': 120, 'minimum': 10, 'description': 'Track length between 10 and 120 seconds.'}}, 'additionalProperties': False}
Ausgabeschema
{'type': 'object', 'required': ['generation'], 'properties': {'generation': {'type': 'object', 'required': ['job_id', 'kind', 'status', 'mutationReceipt'], 'properties': {'kind': {'enum': ['image', 'video', 'voiceover', 'music', 'sound', 'faceless'], 'type': 'string'}, 'job_id': {'type': 'string'}, 'status': {'type': 'string'}, 'media_id': {'type': ['string', 'null']}, 'project_id': {'type': ['string', 'null']}, 'mutationReceipt': {'type': 'object', 'required': ['id', 'key', 'operation', 'status', 'replayed'], 'properties': {'id': {'type': ['string', 'null']}, 'key': {'type': ['string', 'null']}, 'status': {'enum': ['completed'], 'type': 'string'}, 'replayed': {'type': 'boolean'}, 'operation': {'type': 'string'}}, 'additionalProperties': False}, 'estimated_credits': {'type': ['number', 'null']}}}}, 'additionalProperties': False}
generation_options_list
List Generation Options
List the models, defaults, limits, and credit costs available for one generation kind before queueing it. Video duration is an enum per model (durations_seconds), not a min-max range.
Nur Lesen Idempotent
Eingabeschema
{'type': 'object', 'required': ['kind'], 'properties': {'kind': {'enum': ['image', 'video', 'voiceover', 'music', 'sound', 'faceless'], 'type': 'string', 'description': 'Generation kind to describe.'}}, 'additionalProperties': False}
Ausgabeschema
{'type': 'object', 'required': ['options'], 'properties': {'options': {'type': 'object'}}, 'additionalProperties': False}
generation_plan_brief
Get Generation Plan Brief
Read a generation brief from rawPrompt. Source-video edits return execution for generation_video_create with required assets and transformation controls. New scenes return an authoring grammar and planJsonSchema for generation_plan_validate. This read does not generate media or spend credits.
Nur Lesen Idempotent
Eingabeschema
{'type': 'object', 'properties': {'genre': {'type': 'string', 'description': "Genre pack id (e.g. pixar-culture-skit). The brief lists available ids in availableGenres; the pack's beats and visual contract override the generic grammar."}, 'rawPrompt': {'type': 'string', 'maxLength': 5000, 'description': 'Original request. Clone or character-replacement requests select a video transformation brief instead of a new-story plan.'}, 'aspectRatio': {'enum': ['9:16', '16:9', '1:1'], 'type': 'string', 'default': '9:16'}, 'visualStyle': {'type': 'string', 'description': 'Visual style preset id; its locked style contract is included in the brief.'}, 'videoModelId': {'type': 'string', 'description': 'Target video model id (see generation_options_list, kind: video). Defaults to the strongest single-take model.'}, 'targetDurationSeconds': {'type': 'number', 'default': 15, 'maximum': 300, 'minimum': 2, 'description': 'Desired final video duration in seconds.'}}, 'additionalProperties': False}
Ausgabeschema
{'type': 'object', 'required': ['brief'], 'properties': {'brief': {'type': 'object', 'required': ['instructions', 'videoModelId', 'modelLabel', 'supportsNativeAudio', 'maxSingleTakeSeconds', 'allowedModes', 'targetDurationSeconds', 'aspectRatio', 'styleContract', 'grammar', 'planJsonSchema'], 'properties': {'grammar': {'type': 'string'}, 'execution': {'type': ['object', 'null'], 'description': 'Source-video operation, model and required assets; null for new-story plans.'}, 'genrePack': {'type': ['string', 'null']}, 'modelLabel': {'type': 'string'}, 'aspectRatio': {'type': 'string'}, 'allowedModes': {'type': 'array', 'items': {'type': 'string'}}, 'instructions': {'type': 'string'}, 'videoModelId': {'type': 'string'}, 'styleContract': {'type': ['string', 'null']}, 'planJsonSchema': {'type': 'object'}, 'availableGenres': {'type': 'array', 'items': {'type': 'string'}}, 'supportsNativeAudio': {'type': 'boolean'}, 'maxSingleTakeSeconds': {'type': 'number'}, 'targetDurationSeconds': {'type': 'number'}}}}, 'additionalProperties': False}
generation_plan_validate
Validate Generation Plan
Validate a self-authored generation plan against the schema and the target model's real capabilities before execution. Returns directive errors to fix and revalidate; only a valid plan is executable.
Nur Lesen Idempotent
Eingabeschema
{'type': 'object', 'required': ['plan'], 'properties': {'plan': {'type': 'object', 'description': "The generation plan object authored from generation_plan_brief's planJsonSchema.", 'additionalProperties': True}}, 'additionalProperties': False}
Ausgabeschema
{'type': 'object', 'required': ['valid', 'errors'], 'properties': {'valid': {'type': 'boolean'}, 'errors': {'type': 'array', 'items': {'type': 'string'}, 'description': 'Empty when valid. Each entry states exactly what to change.'}}, 'additionalProperties': False}
generation_sound_create
Generate Sound Effect
Queue a sound effect into the BlitzReels media library. Spends AI credits and returns a job to poll with generation_jobs_get.
Externer Zugriff Idempotent
Eingabeschema
{'type': 'object', 'required': ['prompt'], 'properties': {'loop': {'type': 'boolean', 'default': False, 'description': 'Produce a seamlessly loopable effect.'}, 'prompt': {'type': 'string', 'maxLength': 500, 'minLength': 3, 'description': 'The sound to create (3-500 characters).'}, 'workspaceId': {'type': 'string', 'format': 'uuid', 'description': "Optional workspace ID. Defaults to the user's default workspace. UUID string."}, 'idempotencyKey': {'type': 'string', 'pattern': '^[A-Za-z0-9._:-]+$', 'maxLength': 200, 'minLength': 8, 'description': 'Retry key. Reuse only with identical inputs.'}, 'durationSeconds': {'type': 'number', 'default': 2, 'maximum': 30, 'minimum': 0.5, 'description': 'Effect length between 0.5 and 30 seconds.'}, 'promptInfluence': {'type': 'number', 'default': 0.5, 'maximum': 1, 'minimum': 0, 'description': 'How literally to follow the prompt, between 0 and 1. Higher is more literal.'}}, 'additionalProperties': False}
Ausgabeschema
{'type': 'object', 'required': ['generation'], 'properties': {'generation': {'type': 'object', 'required': ['job_id', 'kind', 'status', 'mutationReceipt'], 'properties': {'kind': {'enum': ['image', 'video', 'voiceover', 'music', 'sound', 'faceless'], 'type': 'string'}, 'job_id': {'type': 'string'}, 'status': {'type': 'string'}, 'media_id': {'type': ['string', 'null']}, 'project_id': {'type': ['string', 'null']}, 'mutationReceipt': {'type': 'object', 'required': ['id', 'key', 'operation', 'status', 'replayed'], 'properties': {'id': {'type': ['string', 'null']}, 'key': {'type': ['string', 'null']}, 'status': {'enum': ['completed'], 'type': 'string'}, 'replayed': {'type': 'boolean'}, 'operation': {'type': 'string'}}, 'additionalProperties': False}, 'estimated_credits': {'type': ['number', 'null']}}}}, 'additionalProperties': False}
generation_video_create
Generate Video
Queue video generation, image animation, source-video editing or character replacement into the media library. Editing accepts referenceVideoAssetIds and transformation controls, including original-audio preservation. Spends AI credits and returns a job readable with generation_jobs_get.
Externer Zugriff Idempotent
Eingabeschema
{'type': 'object', 'required': ['prompt'], 'properties': {'seed': {'type': 'integer', 'description': 'Optional seed for reproducible output.'}, 'model': {'enum': ['seedance-2.5-edit', 'kling-o3-standard-edit', 'kling-o3-pro-edit', 'kling-v3-standard-motion-control', 'kling-v3-pro-motion-control', 'wan-2.2-animate-replace', 'kling-2.1', 'kling-2.6-pro', 'kling-o1', 'kling-3.0', 'kling-o3-standard', 'kling-o3-pro', 'kling-o3-4k', 'kling-v3-pro', 'minimax-01', 'minimax-hailuo-02', 'minimax-hailuo-2.3-pro', 'minimax-h3-max', 'luma-ray-2', 'luma-ray-3.2', 'minimax-hailuo-2.3-pro-t2v', 'minimax-h3-max-t2v', 'luma-ray-3.2-t2v', 'veo3', 'veo3.1', 'veo3.1-fast', 'gemini-omni-flash-ref2v', 'gemini-omni-flash-edit', 'gemini-omni-flash', 'veo3-fast', 'gemini-omni-flash-t2v', 'wan-2.1', 'wan-2.7', 'wan-2.7-ref2v', 'wan-2.7-t2v', 'wan-3.0', 'wan-3.0-t2v', 'happy-horse', 'happy-horse-ref2v', 'happy-horse-t2v', 'pixverse-v6', 'pixverse-v6-t2v', 'krea-wan-14b-t2v', 'grok-imagine', 'grok-imagine-t2v', 'seedance-2.0-pro', 'seedance-2.5', 'seedance-2.0-pro-fast', 'seedance-2.0-ref2v', 'seedance-2.0-ref2v-fast', 'seedance-2.0-pro-t2v', 'seedance-2.5-t2v', 'seedance-2.0-pro-fast-t2v', 'seedance-1.5-pro', 'seedance-1.5-pro-t2v', 'seedance-1.0-pro', 'seedance-1.0-pro-t2v', 'seedance-1.0-pro-fast', 'seedance-1.0-pro-fast-t2v', 'seedance-1.0-lite', 'seedance-1.0-lite-t2v', 'seedance-1.0-lite-ref2v', 'kling-o3-standard-t2v', 'kling-o3-pro-t2v', 'kling-v3-standard-t2v', 'kling-v3-pro-t2v', 'ltx-2-19b', 'ltx-2-19b-distilled', 'ltx-2.3', 'ltx-2.3-fast', 'ltx-2-19b-t2v', 'ltx-2-19b-distilled-t2v', 'ltx-2.3-t2v', 'ltx-2.3-fast-t2v'], 'type': 'string', 'default': 'wan-2.1', 'description': 'Video model. generation_options_list publishes generation type, source limits, character controls, resolution and pricing for each model.'}, 'prompt': {'type': 'string', 'maxLength': 5000, 'minLength': 3, 'description': 'What should happen in the shot (3-5000 characters).'}, 'folderId': {'type': 'string', 'format': 'uuid', 'description': 'Optional media library folder ID.'}, 'provider': {'enum': ['auto', 'byteplus-modelark', 'fal'], 'type': 'string', 'default': 'auto', 'description': 'Explicit provider must support the model and input mode. auto uses a configured compatible provider.'}, 'resolution': {'anyOf': [{'enum': ['480p', '720p', '768p', '1080p', '4k'], 'type': 'string'}, {'type': 'null'}], 'default': None, 'description': 'Output resolution. Call generation_options_list for model-specific supported values and defaults. Unsupported settings are rejected.'}, 'aspectRatio': {'enum': ['9:16', '16:9', '1:1'], 'type': 'string', 'default': '9:16', 'description': 'Output aspect ratio.'}, 'workspaceId': {'type': 'string', 'format': 'uuid', 'description': "Optional workspace ID. Defaults to the user's default workspace. UUID string."}, 'enhancePrompt': {'type': 'boolean', 'default': False, 'description': 'Enhance using BlitzReels model grammar and actual input context.'}, 'generateAudio': {'type': 'boolean', 'description': 'null uses model audio behavior. Explicit true/false must be supported by the selected model.'}, 'sourceAssetId': {'type': 'string', 'format': 'uuid', 'description': "First-frame still. Required only when that model's parameters.source_asset_id.required is true. Optional on reference-capable I2V including Seedance 2.5. Text-to-video rejects it. Cannot combine with reference arrays and end_frame_asset_id."}, 'idempotencyKey': {'type': 'string', 'pattern': '^[A-Za-z0-9._:-]+$', 'maxLength': 200, 'minLength': 8, 'description': 'Retry key. Reuse only with identical inputs.'}, 'negativePrompt': {'type': 'string', 'maxLength': 2500, 'description': 'What to avoid in the shot.'}, 'transformation': {'anyOf': [{'type': 'object', 'required': ['characters', 'sourcePersonCount', 'keepOriginalAudio', 'characterOrientation'], 'properties': {'characters': {'type': 'array', 'items': {'type': 'object', 'required': ['sourceRole', 'frontalAssetId', 'referenceAssetIds'], 'properties': {'sourceRole': {'type': 'string', 'maxLength': 200, 'minLength': 1}, 'frontalAssetId': {'type': 'string', 'format': 'uuid', 'pattern': '^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$'}, 'referenceAssetIds': {'type': 'array', 'items': {'type': 'string', 'format': 'uuid', 'pattern': '^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$'}, 'default': [], 'maxItems': 3}}, 'additionalProperties': False}, 'default': [], 'maxItems': 4}, 'keepOriginalAudio': {'type': 'boolean', 'default': True}, 'sourcePersonCount': {'anyOf': [{'type': 'integer', 'maximum': 1000, 'minimum': 1}, {'type': 'null'}], 'default': None}, 'characterOrientation': {'enum': ['video', 'image'], 'type': 'string', 'default': 'video'}}, 'additionalProperties': False}, {'type': 'null'}], '$schema': 'https://json-schema.org/draft/2020-12/schema', 'default': None}, 'durationSeconds': {'type': 'integer', 'default': 5, 'maximum': 30, 'minimum': 2, 'description': "Video transformations inherit the processed source duration and aspect ratio; duration_seconds is not a trim request. Choose a value from the selected model's durations_seconds. duration_seconds_min and duration_seconds_max are the bounds of that list, not a continuous range."}, 'endFrameAssetId': {'type': 'string', 'format': 'uuid', 'description': 'Last-frame still. Interpolates from the source first frame to this image across the full duration. Requires a source first frame; cannot combine with reference arrays.'}, 'referenceAssetIds': {'type': 'array', 'items': {'type': 'string', 'format': 'uuid'}, 'default': [], 'maxItems': 30, 'description': 'Ordered reference images: Seedance 2.5 up to 30; Seedance 2.0 ref2v up to 9; other reference models up to 4. Source counts toward the limit.'}, 'referenceAudioAssetIds': {'type': 'array', 'items': {'type': 'string', 'format': 'uuid'}, 'default': [], 'maxItems': 10, 'description': 'Reference audio: Seedance 2.5 up to 10; Seedance 2.0 ref2v and fast up to 3. Other models reject them.'}, 'referenceVideoAssetIds': {'type': 'array', 'items': {'type': 'string', 'format': 'uuid'}, 'default': [], 'maxItems': 10, 'description': 'Video transformations require one processed source video. Other reference modes have model-specific counts published by generation_options_list.'}}, 'additionalProperties': False}
Ausgabeschema
{'type': 'object', 'required': ['generation'], 'properties': {'generation': {'type': 'object', 'required': ['job_id', 'kind', 'status', 'mutationReceipt'], 'properties': {'kind': {'enum': ['image', 'video', 'voiceover', 'music', 'sound', 'faceless'], 'type': 'string'}, 'job_id': {'type': 'string'}, 'status': {'type': 'string'}, 'media_id': {'type': ['string', 'null']}, 'project_id': {'type': ['string', 'null']}, 'mutationReceipt': {'type': 'object', 'required': ['id', 'key', 'operation', 'status', 'replayed'], 'properties': {'id': {'type': ['string', 'null']}, 'key': {'type': ['string', 'null']}, 'status': {'enum': ['completed'], 'type': 'string'}, 'replayed': {'type': 'boolean'}, 'operation': {'type': 'string'}}, 'additionalProperties': False}, 'estimated_credits': {'type': ['number', 'null']}}}}, 'additionalProperties': False}
generation_voiceover_create
Generate Voiceover
Queue a text-to-speech voiceover into the BlitzReels media library. Spends AI credits and returns a job to poll with generation_jobs_get.
Externer Zugriff Idempotent
Eingabeschema
{'type': 'object', 'required': ['text'], 'properties': {'text': {'type': 'string', 'maxLength': 8000, 'minLength': 3, 'description': 'Script to read aloud (3-8000 characters).'}, 'speed': {'type': 'number', 'default': 1, 'maximum': 1.6, 'minimum': 0.5, 'description': 'Speaking rate between 0.5 and 1.6.'}, 'voiceId': {'enum': ['pNInz6obpgDQGcFmaJgB', 'TX3LPaxmHKxFdv7VOQHJ', 'FGY2WhTYpPnrIDTdsKH5', 'IKne3meq5aSn9XLyUdCD', 'cgSgspJ2msm6clMCkdW9', 'bIHbv24MWmeRgasZH58o', 'nPczCjzI2devNBz1zQrb', 'JBFqnCBsd6RMkjVDRZzb', 'SOYHLrjzK2X1ezoPC6cr', 'N2lVS1w4EtoT3dr4eOWO', 'S9EGwlCtMF7VXtENq79v', 'VhxAIIZM8IRmnl5fyeyk', 'hpp4J3VqNfWAUOO0d1Us', 'EXAVITQu4vr4xnSDxMaL', 'pFZP5JQG7iQjIQuC4Bku', 'SAz9YHcvj6GT2YYXdXww', 'Xb7hH8MSUJpSbSDYk0k2', 'XrExE9yKIg1WjnnlVkGX', 'onwK4e9ZLuTAKqWW03F9', 'pqHfZKP75CvOlQylNhV4', 'CwhRBWXzGAHq8TQ4Fs17', 'cjVigY5qzO86Huf0OWal', 'iP95p4xoKVk53GoZ742B'], 'type': 'string', 'default': 'pNInz6obpgDQGcFmaJgB', 'maxLength': 200, 'minLength': 1, 'description': 'Voice ID. Call generation_options_list with kind voiceover for the catalog.'}, 'voiceStyle': {'enum': ['curiosity', 'intrigue', 'urgency', 'tension', 'concern', 'surprise', 'hope', 'satisfaction', 'inspiration', 'revelation', 'neutral'], 'type': 'string', 'default': 'neutral', 'description': 'Delivery emotion.'}, 'workspaceId': {'type': 'string', 'format': 'uuid', 'description': "Optional workspace ID. Defaults to the user's default workspace. UUID string."}, 'idempotencyKey': {'type': 'string', 'pattern': '^[A-Za-z0-9._:-]+$', 'maxLength': 200, 'minLength': 8, 'description': 'Retry key. Reuse only with identical inputs.'}}, 'additionalProperties': False}
Ausgabeschema
{'type': 'object', 'required': ['generation'], 'properties': {'generation': {'type': 'object', 'required': ['job_id', 'kind', 'status', 'mutationReceipt'], 'properties': {'kind': {'enum': ['image', 'video', 'voiceover', 'music', 'sound', 'faceless'], 'type': 'string'}, 'job_id': {'type': 'string'}, 'status': {'type': 'string'}, 'media_id': {'type': ['string', 'null']}, 'project_id': {'type': ['string', 'null']}, 'mutationReceipt': {'type': 'object', 'required': ['id', 'key', 'operation', 'status', 'replayed'], 'properties': {'id': {'type': ['string', 'null']}, 'key': {'type': ['string', 'null']}, 'status': {'enum': ['completed'], 'type': 'string'}, 'replayed': {'type': 'boolean'}, 'operation': {'type': 'string'}}, 'additionalProperties': False}, 'estimated_credits': {'type': ['number', 'null']}}}}, 'additionalProperties': False}
media_assets_get
Get Media Asset
Get metadata and processing state for one media-library asset without returning transcript segments.
Nur Lesen Idempotent
Eingabeschema
{'type': 'object', 'required': ['assetId'], 'properties': {'assetId': {'type': 'string', 'format': 'uuid', 'description': 'Media asset UUID. UUID string.'}}, 'additionalProperties': False}
Ausgabeschema
{'type': 'object', 'required': ['asset'], 'properties': {'asset': {'type': 'object', 'required': ['id', 'name', 'description', 'folderId', 'assetType', 'mimeType', 'fileSizeBytes', 'durationSeconds', 'dimensionsWidth', 'dimensionsHeight', 'optimizedDimensionsWidth', 'optimizedDimensionsHeight', 'fps', 'hasAudioStream', 'processing', 'transcription', 'reframeAnalysis', 'createdAt', 'updatedAt'], 'properties': {'id': {'type': 'string'}, 'fps': {'type': ['number', 'null']}, 'name': {'type': 'string'}, 'folderId': {'type': ['string', 'null']}, 'mimeType': {'type': ['string', 'null']}, 'assetType': {'enum': ['video', 'audio', 'image', 'document'], 'type': 'string'}, 'createdAt': {'type': ['string', 'null']}, 'updatedAt': {'type': ['string', 'null']}, 'processing': {'type': 'object'}, 'description': {'type': ['string', 'null']}, 'fileSizeBytes': {'type': 'number'}, 'transcription': {'type': 'object'}, 'hasAudioStream': {'type': ['boolean', 'null']}, 'dimensionsWidth': {'type': ['number', 'null']}, 'durationSeconds': {'type': ['number', 'null']}, 'reframeAnalysis': {'type': 'object'}, 'dimensionsHeight': {'type': ['number', 'null']}, 'optimizedDimensionsWidth': {'type': ['number', 'null']}, 'optimizedDimensionsHeight': {'type': ['number', 'null']}}}}, 'additionalProperties': False}
media_assets_preview
Preview Media Asset
Return one bounded JPEG as MCP image content for visual inspection. Images use the stored visual; videos use the existing thumbnail.
Nur Lesen Idempotent
Eingabeschema
{'type': 'object', 'required': ['assetId'], 'properties': {'assetId': {'type': 'string', 'format': 'uuid', 'description': 'Media asset UUID. UUID string.'}, 'maxDimension': {'type': 'integer', 'default': 1024, 'maximum': 1536, 'minimum': 256, 'description': 'Maximum preview width or height in pixels (256-1536).'}}, 'additionalProperties': False}
Ausgabeschema
{'type': 'object', 'required': ['asset', 'preview'], 'properties': {'asset': {'type': 'object', 'required': ['id', 'name', 'assetType'], 'properties': {'id': {'type': 'string'}, 'name': {'type': 'string'}, 'assetType': {'type': 'string'}}}, 'preview': {'type': 'object', 'required': ['mimeType', 'width', 'height', 'byteLength'], 'properties': {'width': {'type': 'number'}, 'height': {'type': 'number'}, 'mimeType': {'type': 'string'}, 'byteLength': {'type': 'number'}}}}, 'additionalProperties': False}
media_assets_update
Update Media Asset
Rename one media asset, edit its description, move it to a folder, or change B-roll eligibility. Provide at least one of name, description, folderId, or allowUsingAsBroll.
Idempotent
Eingabeschema
{'type': 'object', 'required': ['assetId'], 'properties': {'name': {'type': 'string', 'maxLength': 255, 'minLength': 1, 'description': 'New media asset name.'}, 'assetId': {'type': 'string', 'format': 'uuid', 'description': 'Media asset UUID. UUID string.'}, 'folderId': {'type': 'string', 'format': 'uuid', 'description': 'Target folder UUID, or null to move the asset to root.'}, 'description': {'type': 'string', 'maxLength': 5000, 'description': 'New description, or null to clear it.'}, 'idempotencyKey': {'type': 'string', 'description': 'Retry key. Reuse only with identical inputs.'}, 'allowUsingAsBroll': {'type': 'boolean', 'description': 'Whether the asset may be selected as B-roll.'}}, 'additionalProperties': False}
Ausgabeschema
{'type': 'object', 'required': ['asset', 'updatedFields', 'txid', 'mutationReceipt'], 'properties': {'txid': {'type': ['number', 'null']}, 'asset': {'type': 'object'}, 'updatedFields': {'type': 'array', 'items': {'type': 'string'}}, 'mutationReceipt': {'type': 'object', 'required': ['id', 'key', 'operation', 'status', 'replayed'], 'properties': {'id': {'type': ['string', 'null']}, 'key': {'type': ['string', 'null']}, 'status': {'enum': ['completed'], 'type': 'string'}, 'replayed': {'type': 'boolean'}, 'operation': {'type': 'string'}}, 'additionalProperties': False}}, 'additionalProperties': False}
media_folders_create
Create Media Folder
Create one media-library folder in a workspace and return a retry-safe mutation receipt.
Idempotent
Eingabeschema
{'type': 'object', 'required': ['name'], 'properties': {'name': {'type': 'string', 'maxLength': 255, 'minLength': 1, 'description': 'Folder name.'}, 'iconType': {'enum': ['folder', 'code', 'video', 'audio', 'image', 'document', 'star', 'spark'], 'type': 'string', 'default': 'folder', 'description': 'Folder icon type.'}, 'description': {'type': 'string', 'maxLength': 1000, 'description': 'Optional folder description.'}, 'workspaceId': {'type': 'string', 'format': 'uuid', 'description': 'Workspace UUID, or null for the default workspace. UUID string.'}, 'idempotencyKey': {'type': 'string', 'description': 'Retry key. Reuse only with identical inputs.'}, 'parentFolderId': {'type': 'string', 'format': 'uuid', 'description': 'Parent folder UUID, or null for the root.'}}, 'additionalProperties': False}
Ausgabeschema
{'type': 'object', 'required': ['folder', 'mutationReceipt'], 'properties': {'folder': {'type': 'object'}, 'mutationReceipt': {'type': 'object', 'required': ['id', 'key', 'operation', 'status', 'replayed'], 'properties': {'id': {'type': ['string', 'null']}, 'key': {'type': ['string', 'null']}, 'status': {'enum': ['completed'], 'type': 'string'}, 'replayed': {'type': 'boolean'}, 'operation': {'type': 'string'}}, 'additionalProperties': False}}, 'additionalProperties': False}
media_folders_list
List Media Folders
List one bounded level of media-library folders and direct asset counts.
Nur Lesen Idempotent
Eingabeschema
{'type': 'object', 'properties': {'limit': {'type': 'integer', 'default': 20, 'maximum': 50, 'minimum': 1, 'description': 'Maximum folders to return (1-50).'}, 'offset': {'type': 'integer', 'default': 0, 'minimum': 0, 'description': 'Folder offset.'}, 'workspaceId': {'type': 'string', 'format': 'uuid', 'description': 'Workspace UUID, or null for the default workspace. UUID string.'}, 'parentFolderId': {'type': 'string', 'format': 'uuid', 'description': 'Parent folder UUID, or null for root folders.'}}, 'additionalProperties': False}
Ausgabeschema
{'type': 'object', 'required': ['folders', 'bounds'], 'properties': {'bounds': {'type': 'object', 'required': ['limit', 'maxLimit', 'offset', 'total', 'returned', 'hasMore', 'truncated'], 'properties': {'limit': {'type': 'number'}, 'total': {'type': 'number'}, 'offset': {'type': 'number'}, 'hasMore': {'type': 'boolean'}, 'maxLimit': {'type': 'number'}, 'returned': {'type': 'number'}, 'truncated': {'type': 'boolean'}}, 'additionalProperties': False}, 'folders': {'type': 'array', 'items': {'type': 'object'}}}, 'additionalProperties': False}
media_import_inspect
Inspect Import URL
Inspect a user-provided public social-video or Google Drive URL and return available import metadata without creating media.
Nur Lesen Idempotent
Eingabeschema
{'type': 'object', 'required': ['url'], 'properties': {'url': {'type': 'string', 'format': 'uri', 'description': 'Public video URL. Supports social video links and Google Drive file links.'}}, 'additionalProperties': False}
Ausgabeschema
{'type': 'object', 'required': ['preview'], 'properties': {'preview': {'type': 'object'}}, 'additionalProperties': False}
media_import_scan_page
Scan Page For Video
Scan a user-controlled public page and return an importable video URL found on it without creating media.
Nur Lesen Idempotent
Eingabeschema
{'type': 'object', 'required': ['url'], 'properties': {'url': {'type': 'string', 'format': 'uri', 'description': 'Video page URL or direct media URL to inspect for an importable video.'}, 'confirmAuthorizedToScan': {'type': 'boolean', 'default': False, 'description': 'Set true only after the user confirms they control the page or are authorized to scan it.'}}, 'additionalProperties': False}
Ausgabeschema
{'type': 'object', 'required': ['resolved'], 'properties': {'resolved': {'type': 'object'}}, 'additionalProperties': False}
media_import_url
Import Media From URL
Import a video, audio, or image from a user-provided direct URL into the private BlitzReels media library.
Eingabeschema
{'type': 'object', 'required': ['url'], 'properties': {'url': {'type': 'string', 'format': 'uri', 'description': 'URL of the media file to download and upload'}, 'name': {'type': 'string', 'description': 'Optional name for the file'}, 'projectId': {'type': 'string', 'format': 'uuid', 'description': 'Optional project ID to associate the upload with. UUID string.'}, 'workspaceId': {'type': 'string', 'format': 'uuid', 'description': "Optional workspace ID when projectId is not provided. Defaults to the user's default workspace. UUID string."}, 'contentHashSha256': {'type': 'string', 'pattern': '^[a-fA-F0-9]{64}$', 'description': 'Optional SHA-256 hex hash of file bytes for dedupe optimization. 64-character hex string.'}}, 'additionalProperties': False}
Ausgabeschema
{'type': 'object', 'required': ['media'], 'properties': {'media': {'type': 'object'}}, 'additionalProperties': False}
media_list
List Media
List media files in user's library (videos, audio, images)
Nur Lesen Idempotent
Eingabeschema
{'type': 'object', 'properties': {'limit': {'type': 'integer', 'default': 20, 'maximum': 50, 'minimum': 1, 'description': 'Maximum number of assets to return (1-50)'}, 'offset': {'type': 'integer', 'default': 0, 'minimum': 0, 'description': 'Media asset offset.'}, 'assetType': {'enum': ['video', 'audio', 'image', 'all'], 'type': 'string', 'default': 'all', 'description': 'Filter by asset type'}, 'workspaceId': {'type': 'string', 'format': 'uuid', 'description': "Optional workspace ID. Defaults to the user's default workspace. UUID string."}}, 'additionalProperties': False}
Ausgabeschema
{'type': 'object', 'required': ['assets', 'bounds'], 'properties': {'assets': {'type': 'array', 'items': {'type': 'object'}}, 'bounds': {'type': 'object', 'required': ['limit', 'maxLimit', 'offset', 'total', 'returned', 'hasMore', 'truncated'], 'properties': {'limit': {'type': 'number'}, 'total': {'type': 'number'}, 'offset': {'type': 'number'}, 'hasMore': {'type': 'boolean'}, 'maxLimit': {'type': 'number'}, 'returned': {'type': 'number'}, 'truncated': {'type': 'boolean'}}, 'additionalProperties': False}}, 'additionalProperties': False}
media_transcript_get
Get Media Transcript
Get transcript summary metadata or a bounded window of transcription segments for a video asset.
Nur Lesen Idempotent
Eingabeschema
{'type': 'object', 'required': ['assetId'], 'properties': {'mode': {'enum': ['summary', 'text', 'full'], 'type': 'string', 'default': 'summary', 'description': 'Summary returns metadata only. Text returns joined text for a bounded segment window. Full returns the bounded segment objects without duplicating their text.'}, 'limit': {'type': 'integer', 'default': 50, 'maximum': 200, 'minimum': 1, 'description': 'Maximum transcript segments to return (1-200).'}, 'offset': {'type': 'integer', 'default': 0, 'minimum': 0, 'description': 'Transcript segment offset.'}, 'assetId': {'type': 'string', 'format': 'uuid', 'description': 'The media asset ID to get transcript for. UUID string.'}}, 'additionalProperties': False}
Ausgabeschema
{'type': 'object', 'required': ['transcript'], 'properties': {'error': {'type': 'string'}, 'transcript': {'type': ['object', 'null'], 'required': ['text', 'segments', 'segmentBounds'], 'properties': {'text': {'type': ['string', 'null']}, 'segments': {'type': 'array', 'items': {'type': 'object'}}, 'segmentBounds': {'type': 'object', 'required': ['limit', 'maxLimit', 'offset', 'total', 'returned', 'hasMore', 'truncated'], 'properties': {'limit': {'type': 'number'}, 'total': {'type': 'number'}, 'offset': {'type': 'number'}, 'hasMore': {'type': 'boolean'}, 'maxLimit': {'type': 'number'}, 'returned': {'type': 'number'}, 'truncated': {'type': 'boolean'}}, 'additionalProperties': False}}}}, 'additionalProperties': False}
media_upload_file
Upload File
Import a video, audio, or image file from ChatGPT into the BlitzReels media library. Use this for a file the user attached or picked, and for an image ChatGPT generated in this conversation that the user wants to keep, animate, or edit in BlitzReels.
Eingabeschema
{'type': 'object', 'required': ['file'], 'properties': {'file': {'type': 'object', 'required': ['download_url', 'file_id'], 'properties': {'file_id': {'type': 'string'}, 'file_name': {'type': 'string'}, 'mime_type': {'type': 'string'}, 'download_url': {'type': 'string', 'format': 'uri'}}, 'description': 'A file from ChatGPT: attached by the user, picked from their file library, or produced earlier in this conversation. ChatGPT provides this value.'}, 'name': {'type': 'string', 'description': 'Optional name to use in BlitzReels.'}, 'projectId': {'type': 'string', 'format': 'uuid', 'description': 'Optional BlitzReels project ID to associate with the uploaded file. UUID string.'}, 'workspaceId': {'type': 'string', 'format': 'uuid', 'description': "Optional workspace ID when projectId is not provided. Defaults to the user's default workspace. UUID string."}}, 'additionalProperties': False}
Ausgabeschema
{'type': 'object', 'required': ['media'], 'properties': {'media': {'type': 'object'}}, 'additionalProperties': False}
media_upload_finish
Finish Media Upload
Complete the upload process after uploading to a presigned URL
Eingabeschema
{'type': 'object', 'required': ['storageKey', 'fileName', 'contentType', 'fileSizeBytes'], 'properties': {'fileName': {'type': 'string', 'description': 'Name of the uploaded file'}, 'projectId': {'type': 'string', 'format': 'uuid', 'description': 'Optional project ID to associate the upload with. UUID string.'}, 'storageKey': {'type': 'string', 'description': 'Storage key for the uploaded file'}, 'contentType': {'type': 'string', 'description': 'MIME type of the file'}, 'workspaceId': {'type': 'string', 'format': 'uuid', 'description': "Optional workspace ID when projectId is not provided. Defaults to the user's default workspace. UUID string."}, 'fileSizeBytes': {'type': 'number', 'minimum': 1, 'description': 'Size of the uploaded file in bytes'}, 'contentHashSha256': {'type': 'string', 'pattern': '^[a-fA-F0-9]{64}$', 'description': 'Optional SHA-256 hex hash of file bytes for dedupe optimization. 64-character hex string.'}}, 'additionalProperties': False}
Ausgabeschema
{'type': 'object', 'required': ['media'], 'properties': {'media': {'type': 'object'}}, 'additionalProperties': False}
media_upload_start
Start Media Upload
Get a presigned URL for direct file upload (for large files)
Eingabeschema
{'type': 'object', 'required': ['fileName', 'contentType'], 'properties': {'fileName': {'type': 'string', 'description': 'Name of the file to upload'}, 'projectId': {'type': 'string', 'format': 'uuid', 'description': 'Optional project ID to associate the upload with. UUID string.'}, 'contentType': {'type': 'string', 'description': 'MIME type (e.g., video/mp4, audio/mp3, image/jpeg)'}, 'workspaceId': {'type': 'string', 'format': 'uuid', 'description': "Optional workspace ID when projectId is not provided. Defaults to the user's default workspace. UUID string."}}, 'additionalProperties': False}
Ausgabeschema
{'type': 'object', 'required': ['uploadInfo'], 'properties': {'uploadInfo': {'type': 'object'}}, 'additionalProperties': False}
media_upscale
Upscale Video
Queue a ByteDance upscale of one stored video asset to 1080p or 4k. Call media_upscale_estimate first. Spends AI credits and returns a new pending media asset to poll with media_assets_get.
Idempotent
Eingabeschema
{'type': 'object', 'required': ['assetId', 'targetResolution'], 'properties': {'assetId': {'type': 'string', 'format': 'uuid', 'description': 'Source video asset UUID. UUID string.'}, 'projectId': {'type': 'string', 'format': 'uuid', 'description': 'Optional project UUID to attach the credit spend. UUID string.'}, 'workspaceId': {'type': 'string', 'format': 'uuid', 'description': "Optional workspace ID. Defaults to the user's default workspace. UUID string."}, 'idempotencyKey': {'type': 'string', 'description': 'Retry key. Reuse only with identical inputs.'}, 'targetResolution': {'enum': ['1080p', '4k'], 'type': 'string', 'description': 'Output long-edge target.'}}, 'additionalProperties': False}
Ausgabeschema
{'type': 'object', 'required': ['assetId', 'sourceAssetId', 'targetResolution', 'creditsRequired', 'runId', 'status', 'mutationReceipt'], 'properties': {'runId': {'type': 'string'}, 'status': {'enum': ['queued'], 'type': 'string'}, 'assetId': {'type': 'string'}, 'sourceAssetId': {'type': 'string'}, 'creditsRequired': {'type': 'number'}, 'mutationReceipt': {'type': 'object', 'required': ['id', 'key', 'operation', 'status', 'replayed'], 'properties': {'id': {'type': ['string', 'null']}, 'key': {'type': ['string', 'null']}, 'status': {'enum': ['completed'], 'type': 'string'}, 'replayed': {'type': 'boolean'}, 'operation': {'type': 'string'}}, 'additionalProperties': False}, 'targetResolution': {'enum': ['1080p', '4k'], 'type': 'string'}}, 'additionalProperties': False}
media_upscale_estimate
Estimate Video Upscale
Estimate ByteDance upscale eligibility and credits for one stored video. Does not spend credits or queue a job. Call this before media_upscale.
Nur Lesen Idempotent
Eingabeschema
{'type': 'object', 'required': ['assetId', 'targetResolution'], 'properties': {'assetId': {'type': 'string', 'format': 'uuid', 'description': 'Source video asset UUID. UUID string.'}, 'projectId': {'type': 'string', 'format': 'uuid', 'description': 'Optional project UUID for the estimate context. UUID string.'}, 'workspaceId': {'type': 'string', 'format': 'uuid', 'description': "Optional workspace ID. Defaults to the user's default workspace. UUID string."}, 'targetResolution': {'enum': ['1080p', '4k'], 'type': 'string', 'description': 'Output long-edge target.'}}, 'additionalProperties': False}
Ausgabeschema
{'type': 'object', 'required': ['eligible', 'ineligibleReason', 'targetResolution', 'targetFps', 'creditsRequired', 'durationSeconds', 'sourceLongEdge', 'targetLongEdge'], 'properties': {'eligible': {'type': 'boolean'}, 'targetFps': {'enum': ['30fps', '60fps'], 'type': 'string'}, 'sourceLongEdge': {'type': 'number'}, 'targetLongEdge': {'type': 'number'}, 'creditsRequired': {'type': 'number'}, 'durationSeconds': {'type': 'number'}, 'ineligibleReason': {'type': ['string', 'null']}, 'targetResolution': {'enum': ['1080p', '4k'], 'type': 'string'}}, 'additionalProperties': False}
mute_clip_audio
Mute Clip Audio
Set one timeline media item's volume to zero.
Idempotent
Eingabeschema
{'type': 'object', 'required': ['projectId', 'timelineItemId', 'idempotencyKey'], 'properties': {'projectId': {'type': 'string', 'format': 'uuid', 'description': 'UUID string.'}, 'idempotencyKey': {'type': 'string', 'pattern': '^[A-Za-z0-9._:-]+$', 'maxLength': 200, 'minLength': 8, 'description': 'Retry key. Reuse only with identical inputs.'}, 'timelineItemId': {'type': 'string', 'format': 'uuid'}, 'expectedRevision': {'type': 'integer', 'minimum': 0, 'description': 'Expected sequence revision, or null.'}}, 'additionalProperties': False}
Ausgabeschema
{'type': 'object', 'required': ['operationId', 'projectId', 'baseRevision', 'revision', 'replayed', 'txid', 'affectedTimelineItemIds', 'createdTimelineItemIds', 'deletedTimelineItemIds', 'warnings', 'result', 'mutationReceipt'], 'properties': {'txid': {'type': 'number'}, 'result': {'type': 'object'}, 'replayed': {'type': 'boolean'}, 'revision': {'type': 'integer'}, 'warnings': {'type': 'array', 'items': {'type': 'string'}}, 'projectId': {'type': 'string'}, 'operationId': {'type': 'string'}, 'baseRevision': {'type': 'integer'}, 'mutationReceipt': {'type': 'object', 'required': ['id', 'key', 'operation', 'status', 'replayed'], 'properties': {'id': {'type': ['string', 'null']}, 'key': {'type': ['string', 'null']}, 'status': {'enum': ['completed'], 'type': 'string'}, 'replayed': {'type': 'boolean'}, 'operation': {'type': 'string'}}, 'additionalProperties': False}, 'createdTimelineItemIds': {'type': 'array', 'items': {'type': 'string'}}, 'deletedTimelineItemIds': {'type': 'array', 'items': {'type': 'string'}}, 'affectedTimelineItemIds': {'type': 'array', 'items': {'type': 'string'}}}, 'additionalProperties': False}
projects_create
Create Project
Create a new private BlitzReels video project.
Eingabeschema
{'type': 'object', 'required': ['name'], 'properties': {'name': {'type': 'string', 'description': 'Project name (1-100 characters)'}, 'seriesId': {'type': 'string', 'description': 'Optional Series UUID for this new project.'}, 'frameRate': {'enum': ['24', '25', '30', '50', '60'], 'type': 'string', 'default': '30', 'description': 'Video frame rate'}, 'aspectRatio': {'enum': ['16:9', '9:16', '1:1'], 'type': 'string', 'default': '9:16', 'description': 'Video aspect ratio'}, 'description': {'type': 'string', 'description': 'Project description (optional, max 500 characters)'}, 'workspaceId': {'type': 'string', 'format': 'uuid', 'description': "Optional workspace ID. Defaults to the user's default workspace. UUID string."}, 'idempotencyKey': {'type': 'string', 'description': 'Retry key. Reuse only with identical inputs.'}}, 'additionalProperties': False}
Ausgabeschema
{'type': 'object', 'required': ['project'], 'properties': {'project': {'type': 'object', 'required': ['mutationReceipt'], 'properties': {'mutationReceipt': {'type': 'object', 'required': ['id', 'key', 'operation', 'status', 'replayed'], 'properties': {'id': {'type': ['string', 'null']}, 'key': {'type': ['string', 'null']}, 'status': {'enum': ['completed'], 'type': 'string'}, 'replayed': {'type': 'boolean'}, 'operation': {'type': 'string'}}, 'additionalProperties': False}}}}, 'additionalProperties': False}
projects_get
Get Project
Get details for one BlitzReels project, including timeline summary, clips, captions, and current recovery state with an app path and next read tool.
Nur Lesen Idempotent
Eingabeschema
{'type': 'object', 'required': ['projectId'], 'properties': {'projectId': {'type': 'string', 'format': 'uuid', 'description': 'The project ID to get details for. UUID string.'}}, 'additionalProperties': False}
Ausgabeschema
{'type': 'object', 'required': ['project'], 'properties': {'error': {'type': 'string'}, 'project': {'type': ['object', 'null']}}, 'additionalProperties': False}
projects_inspect
Inspect Project
Read bounded project context for editing, including timeline items, media assets, transcripts, captions, and stable IDs.
Nur Lesen Idempotent
Eingabeschema
{'type': 'object', 'required': ['projectId'], 'properties': {'mode': {'enum': ['summary', 'assets', 'timeline', 'transcript', 'full'], 'type': 'string', 'default': 'timeline', 'description': 'Bounded project context view to return.'}, 'search': {'type': 'string', 'description': 'Optional media search when mode is assets or full.'}, 'projectId': {'type': 'string', 'format': 'uuid', 'description': 'Project UUID. UUID string.'}, 'assetLimit': {'type': 'integer', 'maximum': 50, 'minimum': 1, 'description': 'Maximum media assets to return (1-50).'}, 'assetOffset': {'type': 'integer', 'minimum': 0, 'description': 'Media asset offset.'}, 'timelineLimit': {'type': 'integer', 'maximum': 1000, 'minimum': 1, 'description': 'Maximum timeline items to return (1-1000).'}, 'timelineOffset': {'type': 'integer', 'minimum': 0, 'description': 'Timeline item offset.'}, 'transcriptLimit': {'type': 'integer', 'maximum': 500, 'minimum': 1, 'description': 'Maximum transcript segments to return (1-500).'}, 'captionWordLimit': {'type': 'integer', 'maximum': 2000, 'minimum': 1, 'description': 'Maximum caption words to return (1-2000).'}, 'transcriptOffset': {'type': 'integer', 'minimum': 0, 'description': 'Transcript segment offset.'}, 'captionWordOffset': {'type': 'integer', 'minimum': 0, 'description': 'Caption word offset.'}}, 'additionalProperties': False}
Ausgabeschema
{'type': 'object', 'required': ['mode', 'data', 'bounds'], 'properties': {'data': {'type': 'object'}, 'mode': {'enum': ['summary', 'assets', 'timeline', 'transcript', 'full'], 'type': 'string'}, 'bounds': {'type': 'object', 'required': ['collections'], 'properties': {'collections': {'type': 'array', 'items': {'type': 'object', 'required': ['name', 'offset', 'limit', 'total', 'returned', 'hasMore', 'truncated'], 'properties': {'name': {'type': 'string'}, 'limit': {'type': 'number'}, 'total': {'type': 'number'}, 'offset': {'type': 'number'}, 'hasMore': {'type': 'boolean'}, 'returned': {'type': 'number'}, 'truncated': {'type': 'boolean'}}}}}}}, 'additionalProperties': False}
projects_list
List Projects
List the user's BlitzReels projects with status, duration, and basic metadata.
Nur Lesen Idempotent
Eingabeschema
{'type': 'object', 'properties': {'limit': {'type': 'number', 'default': 10, 'maximum': 50, 'minimum': 1, 'description': 'Maximum number of projects to return (1-50)'}, 'offset': {'type': 'number', 'default': 0, 'minimum': 0, 'description': 'Project offset.'}, 'search': {'type': 'string', 'description': 'Search projects by name'}, 'status': {'enum': ['active', 'archived', 'all'], 'type': 'string', 'default': 'active', 'description': 'Filter by project status'}, 'workspaceId': {'type': 'string', 'format': 'uuid', 'description': "Optional workspace ID. Defaults to the user's default workspace. UUID string."}}, 'additionalProperties': False}
Ausgabeschema
{'type': 'object', 'required': ['projects', 'bounds'], 'properties': {'bounds': {'type': 'object', 'required': ['limit', 'maxLimit', 'offset', 'total', 'returned', 'hasMore', 'truncated'], 'properties': {'limit': {'type': 'number'}, 'total': {'type': 'number'}, 'offset': {'type': 'number'}, 'hasMore': {'type': 'boolean'}, 'maxLimit': {'type': 'number'}, 'returned': {'type': 'number'}, 'truncated': {'type': 'boolean'}}, 'additionalProperties': False}, 'projects': {'type': 'array', 'items': {'type': 'object', 'required': ['id', 'name', 'description', 'updatedAt', 'lastExportAt', 'durationSeconds', 'clipCount', 'thumbnailUrl', 'status', 'projectUrl'], 'properties': {'id': {'type': 'string'}, 'name': {'type': 'string'}, 'status': {'enum': ['ready', 'exporting', 'needs_captions', 'processing', 'failed'], 'type': 'string'}, 'clipCount': {'type': 'number'}, 'updatedAt': {'type': 'string'}, 'projectUrl': {'type': 'string'}, 'description': {'type': ['string', 'null']}, 'lastExportAt': {'type': ['string', 'null']}, 'thumbnailUrl': {'type': ['string', 'null']}, 'durationSeconds': {'type': 'number'}}, 'additionalProperties': False}}}, 'additionalProperties': False}
recording_sets_clips_create
Clip a Synchronized Recording
Produce a batch from a ready synchronized camera and screen recording, with optional clip count, maximum duration and caption look. Preserves readable screen context through the existing layout pipeline. Can spend existing credits; follows clips_get with the returned batch_id.
Externer Zugriff Idempotent
Eingabeschema
{'type': 'object', '$schema': 'https://json-schema.org/draft/2020-12/schema', 'required': ['workspaceId', 'idempotencyKey', 'recordingSetId', 'clipCount', 'maxDurationSeconds', 'captionThemeId'], 'properties': {'clipCount': {'anyOf': [{'type': 'integer', 'maximum': 30, 'minimum': 1}, {'type': 'null'}], 'default': None}, 'workspaceId': {'anyOf': [{'type': 'string', 'format': 'uuid', 'pattern': '^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$'}, {'type': 'null'}], 'default': None}, 'captionThemeId': {'anyOf': [{'type': 'string', 'maxLength': 120}, {'type': 'null'}], 'default': None}, 'idempotencyKey': {'type': 'string', 'maxLength': 200, 'minLength': 8}, 'recordingSetId': {'type': 'string', 'format': 'uuid', 'pattern': '^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$'}, 'maxDurationSeconds': {'anyOf': [{'type': 'integer', 'const': 30}, {'type': 'integer', 'const': 60}, {'type': 'integer', 'const': 90}, {'type': 'integer', 'const': 180}, {'type': 'null'}], 'default': None}}, 'additionalProperties': False}
Ausgabeschema
{'type': 'object', 'required': ['result'], 'properties': {'result': {'type': 'object', 'additionalProperties': True}}, 'additionalProperties': False}
recording_sets_create
Create Synchronized Recording
Create an empty camera and screen recording set in the explicit workspace. Requires existing recording-set access; does not import files or start processing.
Idempotent
Eingabeschema
{'type': 'object', '$schema': 'https://json-schema.org/draft/2020-12/schema', 'required': ['workspaceId', 'idempotencyKey', 'name'], 'properties': {'name': {'type': 'string', 'maxLength': 200, 'minLength': 1}, 'workspaceId': {'anyOf': [{'type': 'string', 'format': 'uuid', 'pattern': '^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$'}, {'type': 'null'}], 'default': None}, 'idempotencyKey': {'type': 'string', 'maxLength': 200, 'minLength': 8}}, 'additionalProperties': False}
Ausgabeschema
{'type': 'object', 'required': ['result'], 'properties': {'result': {'type': 'object', 'additionalProperties': True}}, 'additionalProperties': False}
recording_sets_finalize
Synchronize Recording Tracks
Finalize the collected camera and screen tracks and queue analysis. Can spend existing transcription credits. Inspect returned alignment and warnings before clipping.
Externer Zugriff Idempotent
Eingabeschema
{'type': 'object', '$schema': 'https://json-schema.org/draft/2020-12/schema', 'required': ['workspaceId', 'idempotencyKey', 'recordingSetId'], 'properties': {'workspaceId': {'anyOf': [{'type': 'string', 'format': 'uuid', 'pattern': '^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$'}, {'type': 'null'}], 'default': None}, 'idempotencyKey': {'type': 'string', 'maxLength': 200, 'minLength': 8}, 'recordingSetId': {'type': 'string', 'format': 'uuid', 'pattern': '^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$'}}, 'additionalProperties': False}
Ausgabeschema
{'type': 'object', 'required': ['result'], 'properties': {'result': {'type': 'object', 'additionalProperties': True}}, 'additionalProperties': False}
recording_sets_get
Inspect Synchronized Recording
Read one camera and screen recording set, its primary speaker, content windows, alignment and warnings. Separate audio-only tracks are not supported.
Nur Lesen Idempotent
Eingabeschema
{'type': 'object', '$schema': 'https://json-schema.org/draft/2020-12/schema', 'required': ['workspaceId', 'recordingSetId'], 'properties': {'workspaceId': {'anyOf': [{'type': 'string', 'format': 'uuid', 'pattern': '^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$'}, {'type': 'null'}], 'default': None}, 'recordingSetId': {'type': 'string', 'format': 'uuid', 'pattern': '^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$'}}, 'additionalProperties': False}
Ausgabeschema
{'type': 'object', 'required': ['result'], 'properties': {'result': {'type': 'object', 'additionalProperties': True}}, 'additionalProperties': False}
recording_sets_list
List Synchronized Recordings
Read bounded camera and screen recording sets in the selected workspace with status, duration and alignment warnings.
Nur Lesen Idempotent
Eingabeschema
{'type': 'object', '$schema': 'https://json-schema.org/draft/2020-12/schema', 'required': ['workspaceId', 'status', 'limit', 'offset'], 'properties': {'limit': {'type': 'integer', 'default': 20, 'maximum': 50, 'minimum': 1}, 'offset': {'type': 'integer', 'default': 0, 'maximum': 9007199254740991, 'minimum': 0}, 'status': {'anyOf': [{'enum': ['collecting_assets', 'analyzing', 'finalizing', 'ready', 'failed'], 'type': 'string'}, {'type': 'null'}], 'default': None}, 'workspaceId': {'anyOf': [{'type': 'string', 'format': 'uuid', 'pattern': '^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$'}, {'type': 'null'}], 'default': None}}, 'additionalProperties': False}
Ausgabeschema
{'type': 'object', 'required': ['result'], 'properties': {'result': {'type': 'object', 'additionalProperties': True}}, 'additionalProperties': False}
recording_sets_track_attach
Attach Camera or Screen Recording
Attach one existing authorized video asset as a camera or screen track. Specify the main speaker when known; alignment happens during finalization.
Idempotent
Eingabeschema
{'type': 'object', '$schema': 'https://json-schema.org/draft/2020-12/schema', 'required': ['workspaceId', 'idempotencyKey', 'recordingSetId', 'asset_id', 'role', 'participant_label', 'participant_name', 'is_primary'], 'properties': {'role': {'enum': ['camera', 'screen'], 'type': 'string'}, 'asset_id': {'type': 'string', 'format': 'uuid', 'pattern': '^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$'}, 'is_primary': {'type': 'boolean', 'default': False}, 'workspaceId': {'anyOf': [{'type': 'string', 'format': 'uuid', 'pattern': '^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$'}, {'type': 'null'}], 'default': None}, 'idempotencyKey': {'type': 'string', 'maxLength': 200, 'minLength': 8}, 'recordingSetId': {'type': 'string', 'format': 'uuid', 'pattern': '^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$'}, 'participant_name': {'anyOf': [{'type': 'string', 'maxLength': 200}, {'type': 'null'}], 'default': None}, 'participant_label': {'anyOf': [{'type': 'string', 'maxLength': 120}, {'type': 'null'}], 'default': None}}, 'additionalProperties': False}
Ausgabeschema
{'type': 'object', 'required': ['result'], 'properties': {'result': {'type': 'object', 'additionalProperties': True}}, 'additionalProperties': False}
series_apply
Apply Series
Create or replace a Growth+ Series identity and defaults. defaultCreationMode selects podcast branding or faceless Story Kit defaults; membership stays mixed. Updates require expectedRevision. Existing content keeps its settings.
Idempotent
Eingabeschema
{'type': 'object', '$schema': 'https://json-schema.org/draft/2020-12/schema', 'required': ['name', 'defaultCreationMode', 'description', 'coverAssetId', 'logoAssetId', 'storyKitId', 'captionThemeId', 'seriesId', 'expectedRevision', 'workspaceId', 'idempotencyKey'], 'properties': {'name': {'type': 'string', 'maxLength': 120, 'minLength': 1}, 'seriesId': {'anyOf': [{'type': 'string', 'format': 'uuid', 'pattern': '^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$'}, {'type': 'null'}], 'default': None}, 'storyKitId': {'anyOf': [{'type': 'string', 'format': 'uuid', 'pattern': '^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$'}, {'type': 'null'}], 'default': None}, 'description': {'anyOf': [{'type': 'string', 'maxLength': 2000}, {'type': 'null'}], 'default': None}, 'logoAssetId': {'anyOf': [{'type': 'string', 'format': 'uuid', 'pattern': '^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$'}, {'type': 'null'}], 'default': None}, 'workspaceId': {'anyOf': [{'type': 'string', 'format': 'uuid', 'pattern': '^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$'}, {'type': 'null'}], 'default': None}, 'coverAssetId': {'anyOf': [{'type': 'string', 'format': 'uuid', 'pattern': '^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$'}, {'type': 'null'}], 'default': None}, 'captionThemeId': {'anyOf': [{'type': 'string', 'maxLength': 120, 'minLength': 1}, {'type': 'null'}], 'default': None}, 'idempotencyKey': {'type': 'string', 'maxLength': 200, 'minLength': 8}, 'expectedRevision': {'anyOf': [{'type': 'integer', 'maximum': 9007199254740991, 'exclusiveMinimum': 0}, {'type': 'null'}], 'default': None}, 'defaultCreationMode': {'enum': ['podcast', 'faceless'], 'type': 'string', 'default': 'podcast'}}, 'additionalProperties': False}
Ausgabeschema
{'type': 'object', 'required': ['series', 'mutationReceipt'], 'properties': {'series': {'type': 'object', '$schema': 'https://json-schema.org/draft/2020-12/schema', 'required': ['name', 'defaultCreationMode', 'description', 'coverAssetId', 'logoAssetId', 'storyKitId', 'captionThemeId', 'id', 'revision', 'createdAt', 'updatedAt'], 'properties': {'id': {'type': 'string', 'format': 'uuid', 'pattern': '^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$'}, 'name': {'type': 'string', 'maxLength': 120, 'minLength': 1}, 'revision': {'type': 'integer', 'maximum': 9007199254740991, 'exclusiveMinimum': 0}, 'createdAt': {'type': 'string'}, 'updatedAt': {'type': 'string'}, 'storyKitId': {'anyOf': [{'type': 'string', 'format': 'uuid', 'pattern': '^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$'}, {'type': 'null'}], 'default': None}, 'description': {'anyOf': [{'type': 'string', 'maxLength': 2000}, {'type': 'null'}], 'default': None}, 'logoAssetId': {'anyOf': [{'type': 'string', 'format': 'uuid', 'pattern': '^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$'}, {'type': 'null'}], 'default': None}, 'coverAssetId': {'anyOf': [{'type': 'string', 'format': 'uuid', 'pattern': '^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$'}, {'type': 'null'}], 'default': None}, 'captionThemeId': {'anyOf': [{'type': 'string', 'maxLength': 120, 'minLength': 1}, {'type': 'null'}], 'default': None}, 'defaultCreationMode': {'enum': ['podcast', 'faceless'], 'type': 'string', 'default': 'podcast'}}, 'additionalProperties': False}, 'mutationReceipt': {'type': 'object', 'required': ['id', 'key', 'operation', 'status', 'replayed'], 'properties': {'id': {'type': ['string', 'null']}, 'key': {'type': ['string', 'null']}, 'status': {'enum': ['completed'], 'type': 'string'}, 'replayed': {'type': 'boolean'}, 'operation': {'type': 'string'}}, 'additionalProperties': False}}, 'additionalProperties': False}
series_assign
Assign Series Content
Assign, move or detach one source or project using expectedSeriesId. Moving a source does not move existing clips or change branding.
Idempotent
Eingabeschema
{'type': 'object', '$schema': 'https://json-schema.org/draft/2020-12/schema', 'required': ['kind', 'contentId', 'seriesId', 'expectedSeriesId', 'workspaceId', 'idempotencyKey'], 'properties': {'kind': {'enum': ['project', 'source'], 'type': 'string'}, 'seriesId': {'anyOf': [{'type': 'string', 'format': 'uuid', 'pattern': '^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$'}, {'type': 'null'}]}, 'contentId': {'type': 'string', 'format': 'uuid', 'pattern': '^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$'}, 'workspaceId': {'anyOf': [{'type': 'string', 'format': 'uuid', 'pattern': '^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$'}, {'type': 'null'}], 'default': None}, 'idempotencyKey': {'type': 'string', 'maxLength': 200, 'minLength': 8}, 'expectedSeriesId': {'anyOf': [{'type': 'string', 'format': 'uuid', 'pattern': '^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$'}, {'type': 'null'}]}}, 'additionalProperties': False}
Ausgabeschema
{'type': 'object', '$schema': 'https://json-schema.org/draft/2020-12/schema', 'required': ['id', 'kind', 'seriesId', 'previousSeriesId', 'changed', 'mutationReceipt'], 'properties': {'id': {'type': 'string', 'format': 'uuid', 'pattern': '^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$'}, 'kind': {'enum': ['project', 'source'], 'type': 'string'}, 'changed': {'type': 'boolean'}, 'seriesId': {'anyOf': [{'type': 'string', 'format': 'uuid', 'pattern': '^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$'}, {'type': 'null'}]}, 'mutationReceipt': {'type': 'object', 'required': ['id', 'key', 'operation', 'status', 'replayed'], 'properties': {'id': {'type': ['string', 'null']}, 'key': {'type': ['string', 'null']}, 'status': {'enum': ['completed'], 'type': 'string'}, 'replayed': {'type': 'boolean'}, 'operation': {'type': 'string'}}, 'additionalProperties': False}, 'previousSeriesId': {'anyOf': [{'type': 'string', 'format': 'uuid', 'pattern': '^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$'}, {'type': 'null'}]}}, 'additionalProperties': False}
series_content
List Series Content
List sources or projects in a Series. Null seriesId lists standalone content. sourceId filters projects by clip origin.
Nur Lesen Idempotent
Eingabeschema
{'type': 'object', '$schema': 'https://json-schema.org/draft/2020-12/schema', 'required': ['limit', 'offset', 'seriesId', 'kind', 'sourceId', 'search', 'workspaceId'], 'properties': {'kind': {'enum': ['project', 'source'], 'type': 'string'}, 'limit': {'type': 'integer', 'default': 30, 'maximum': 100, 'minimum': 1}, 'offset': {'type': 'integer', 'default': 0, 'maximum': 9007199254740991, 'minimum': 0}, 'search': {'type': 'string', 'default': '', 'maxLength': 120}, 'seriesId': {'anyOf': [{'type': 'string', 'format': 'uuid', 'pattern': '^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$'}, {'type': 'null'}]}, 'sourceId': {'anyOf': [{'type': 'string', 'format': 'uuid', 'pattern': '^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$'}, {'type': 'null'}], 'default': None}, 'workspaceId': {'anyOf': [{'type': 'string', 'format': 'uuid', 'pattern': '^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$'}, {'type': 'null'}], 'default': None}}, 'additionalProperties': False}
Ausgabeschema
{'type': 'object', '$schema': 'https://json-schema.org/draft/2020-12/schema', 'required': ['items', 'bounds'], 'properties': {'items': {'type': 'array', 'items': {'type': 'object', 'required': ['id', 'kind', 'name', 'seriesId', 'sourceId', 'thumbnailUrl', 'durationSeconds'], 'properties': {'id': {'type': 'string', 'format': 'uuid', 'pattern': '^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$'}, 'kind': {'enum': ['project', 'source'], 'type': 'string'}, 'name': {'type': 'string'}, 'seriesId': {'anyOf': [{'type': 'string', 'format': 'uuid', 'pattern': '^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$'}, {'type': 'null'}]}, 'sourceId': {'anyOf': [{'type': 'string', 'format': 'uuid', 'pattern': '^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$'}, {'type': 'null'}]}, 'thumbnailUrl': {'type': ['string', 'null']}, 'durationSeconds': {'type': ['number', 'null']}}, 'additionalProperties': False}}, 'bounds': {'type': 'object', 'required': ['limit', 'offset', 'total', 'returned', 'hasMore', 'truncated'], 'properties': {'limit': {'type': 'integer', 'maximum': 9007199254740991, 'minimum': -9007199254740991}, 'total': {'type': 'integer', 'maximum': 9007199254740991, 'minimum': -9007199254740991}, 'offset': {'type': 'integer', 'maximum': 9007199254740991, 'minimum': -9007199254740991}, 'hasMore': {'type': 'boolean'}, 'returned': {'type': 'integer', 'maximum': 9007199254740991, 'minimum': -9007199254740991}, 'truncated': {'type': 'boolean'}}, 'additionalProperties': False}}, 'additionalProperties': False}
series_delete
Delete Series
Delete the Series container at an expected revision and detach its content. Sources, projects and exports are preserved.
Destruktiv Idempotent
Eingabeschema
{'type': 'object', '$schema': 'https://json-schema.org/draft/2020-12/schema', 'required': ['seriesId', 'expectedRevision', 'workspaceId', 'idempotencyKey'], 'properties': {'seriesId': {'type': 'string', 'format': 'uuid', 'pattern': '^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$'}, 'workspaceId': {'anyOf': [{'type': 'string', 'format': 'uuid', 'pattern': '^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$'}, {'type': 'null'}], 'default': None}, 'idempotencyKey': {'type': 'string', 'maxLength': 200, 'minLength': 8}, 'expectedRevision': {'type': 'integer', 'maximum': 9007199254740991, 'exclusiveMinimum': 0}}, 'additionalProperties': False}
Ausgabeschema
{'type': 'object', '$schema': 'https://json-schema.org/draft/2020-12/schema', 'required': ['id', 'detachedProjects', 'detachedSources', 'contentPreserved', 'mutationReceipt'], 'properties': {'id': {'type': 'string', 'format': 'uuid', 'pattern': '^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$'}, 'detachedSources': {'type': 'integer', 'maximum': 9007199254740991, 'minimum': -9007199254740991}, 'mutationReceipt': {'type': 'object', 'required': ['id', 'key', 'operation', 'status', 'replayed'], 'properties': {'id': {'type': ['string', 'null']}, 'key': {'type': ['string', 'null']}, 'status': {'enum': ['completed'], 'type': 'string'}, 'replayed': {'type': 'boolean'}, 'operation': {'type': 'string'}}, 'additionalProperties': False}, 'contentPreserved': {'type': 'boolean', 'const': True}, 'detachedProjects': {'type': 'integer', 'maximum': 9007199254740991, 'minimum': -9007199254740991}}, 'additionalProperties': False}
series_get
Get Series
Read a Series identity, creative defaults and revision.
Nur Lesen Idempotent
Eingabeschema
{'type': 'object', '$schema': 'https://json-schema.org/draft/2020-12/schema', 'required': ['workspaceId', 'seriesId'], 'properties': {'seriesId': {'type': 'string', 'format': 'uuid', 'pattern': '^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$'}, 'workspaceId': {'anyOf': [{'type': 'string', 'format': 'uuid', 'pattern': '^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$'}, {'type': 'null'}], 'default': None}}, 'additionalProperties': False}
Ausgabeschema
{'type': 'object', 'required': ['series'], 'properties': {'series': {'type': 'object', '$schema': 'https://json-schema.org/draft/2020-12/schema', 'required': ['name', 'defaultCreationMode', 'description', 'coverAssetId', 'logoAssetId', 'storyKitId', 'captionThemeId', 'id', 'revision', 'createdAt', 'updatedAt'], 'properties': {'id': {'type': 'string', 'format': 'uuid', 'pattern': '^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$'}, 'name': {'type': 'string', 'maxLength': 120, 'minLength': 1}, 'revision': {'type': 'integer', 'maximum': 9007199254740991, 'exclusiveMinimum': 0}, 'createdAt': {'type': 'string'}, 'updatedAt': {'type': 'string'}, 'storyKitId': {'anyOf': [{'type': 'string', 'format': 'uuid', 'pattern': '^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$'}, {'type': 'null'}], 'default': None}, 'description': {'anyOf': [{'type': 'string', 'maxLength': 2000}, {'type': 'null'}], 'default': None}, 'logoAssetId': {'anyOf': [{'type': 'string', 'format': 'uuid', 'pattern': '^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$'}, {'type': 'null'}], 'default': None}, 'coverAssetId': {'anyOf': [{'type': 'string', 'format': 'uuid', 'pattern': '^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$'}, {'type': 'null'}], 'default': None}, 'captionThemeId': {'anyOf': [{'type': 'string', 'maxLength': 120, 'minLength': 1}, {'type': 'null'}], 'default': None}, 'defaultCreationMode': {'enum': ['podcast', 'faceless'], 'type': 'string', 'default': 'podcast'}}, 'additionalProperties': False}}, 'additionalProperties': False}
series_list
List Series
List optional Series with bounded counts and cover previews.
Nur Lesen Idempotent
Eingabeschema
{'type': 'object', '$schema': 'https://json-schema.org/draft/2020-12/schema', 'required': ['limit', 'offset', 'workspaceId'], 'properties': {'limit': {'type': 'integer', 'default': 30, 'maximum': 100, 'minimum': 1}, 'offset': {'type': 'integer', 'default': 0, 'maximum': 9007199254740991, 'minimum': 0}, 'workspaceId': {'anyOf': [{'type': 'string', 'format': 'uuid', 'pattern': '^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$'}, {'type': 'null'}], 'default': None}}, 'additionalProperties': False}
Ausgabeschema
{'type': 'object', '$schema': 'https://json-schema.org/draft/2020-12/schema', 'required': ['items', 'bounds'], 'properties': {'items': {'type': 'array', 'items': {'type': 'object', 'required': ['name', 'defaultCreationMode', 'description', 'coverAssetId', 'logoAssetId', 'storyKitId', 'captionThemeId', 'id', 'revision', 'createdAt', 'updatedAt', 'coverUrl', 'projectCount', 'sourceCount'], 'properties': {'id': {'type': 'string', 'format': 'uuid', 'pattern': '^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$'}, 'name': {'type': 'string', 'maxLength': 120, 'minLength': 1}, 'coverUrl': {'type': ['string', 'null']}, 'revision': {'type': 'integer', 'maximum': 9007199254740991, 'exclusiveMinimum': 0}, 'createdAt': {'type': 'string'}, 'updatedAt': {'type': 'string'}, 'storyKitId': {'anyOf': [{'type': 'string', 'format': 'uuid', 'pattern': '^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$'}, {'type': 'null'}], 'default': None}, 'description': {'anyOf': [{'type': 'string', 'maxLength': 2000}, {'type': 'null'}], 'default': None}, 'logoAssetId': {'anyOf': [{'type': 'string', 'format': 'uuid', 'pattern': '^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$'}, {'type': 'null'}], 'default': None}, 'sourceCount': {'type': 'integer', 'maximum': 9007199254740991, 'minimum': -9007199254740991}, 'coverAssetId': {'anyOf': [{'type': 'string', 'format': 'uuid', 'pattern': '^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$'}, {'type': 'null'}], 'default': None}, 'projectCount': {'type': 'integer', 'maximum': 9007199254740991, 'minimum': -9007199254740991}, 'captionThemeId': {'anyOf': [{'type': 'string', 'maxLength': 120, 'minLength': 1}, {'type': 'null'}], 'default': None}, 'defaultCreationMode': {'enum': ['podcast', 'faceless'], 'type': 'string', 'default': 'podcast'}}, 'additionalProperties': False}}, 'bounds': {'type': 'object', 'required': ['limit', 'offset', 'total', 'returned', 'hasMore', 'truncated'], 'properties': {'limit': {'type': 'integer', 'maximum': 9007199254740991, 'minimum': -9007199254740991}, 'total': {'type': 'integer', 'maximum': 9007199254740991, 'minimum': -9007199254740991}, 'offset': {'type': 'integer', 'maximum': 9007199254740991, 'minimum': -9007199254740991}, 'hasMore': {'type': 'boolean'}, 'returned': {'type': 'integer', 'maximum': 9007199254740991, 'minimum': -9007199254740991}, 'truncated': {'type': 'boolean'}}, 'additionalProperties': False}}, 'additionalProperties': False}
story_kits_apply
Apply Story Kit
Create or update a Story Kit with optimistic concurrency and an idempotent mutation receipt.
Idempotent
Eingabeschema
{'type': 'object', 'required': ['name', 'visualStyle', 'idempotencyKey'], 'properties': {'name': {'type': 'string', 'description': 'Stable Story Kit name.'}, 'facts': {'type': 'array', 'items': {'type': 'string'}}, 'locations': {'type': 'array', 'items': {'type': 'object', 'required': ['id', 'name', 'canonicalDescription', 'referenceAssetIds', 'facts'], 'properties': {'id': {'type': 'string'}, 'name': {'type': 'string'}, 'facts': {'type': 'array', 'items': {'type': 'string'}}, 'referenceAssetIds': {'type': 'array', 'items': {'type': 'string'}}, 'canonicalDescription': {'type': 'string'}}, 'additionalProperties': False}}, 'storyKitId': {'type': 'string'}, 'description': {'type': 'string'}, 'visualStyle': {'type': 'string', 'description': 'Canonical visual-style contract.'}, 'workspaceId': {'type': 'string', 'format': 'uuid', 'description': "Optional workspace UUID. Defaults to the user's default workspace. UUID string."}, 'characterIds': {'type': 'array', 'items': {'type': 'string'}}, 'idempotencyKey': {'type': 'string'}, 'expectedRevision': {'type': 'number'}, 'narratorCharacterId': {'type': 'string'}, 'styleReferenceAssetIds': {'type': 'array', 'items': {'type': 'string'}}}, 'additionalProperties': False}
Ausgabeschema
{'type': 'object', 'required': ['storyKit', 'mutationReceipt'], 'properties': {'storyKit': {'type': 'object'}, 'mutationReceipt': {'type': 'object', 'required': ['id', 'key', 'operation', 'status', 'replayed'], 'properties': {'id': {'type': ['string', 'null']}, 'key': {'type': ['string', 'null']}, 'status': {'enum': ['completed'], 'type': 'string'}, 'replayed': {'type': 'boolean'}, 'operation': {'type': 'string'}}, 'additionalProperties': False}}, 'additionalProperties': False}
story_kits_get
Get Story Kit
Inspect one Story Kit and its revision before generating or updating a story.
Nur Lesen Idempotent
Eingabeschema
{'type': 'object', 'required': ['storyKitId'], 'properties': {'storyKitId': {'type': 'string'}, 'workspaceId': {'type': 'string', 'format': 'uuid', 'description': "Optional workspace UUID. Defaults to the user's default workspace. UUID string."}}, 'additionalProperties': False}
Ausgabeschema
{'type': 'object', 'required': ['storyKit'], 'properties': {'storyKit': {'type': 'object'}}, 'additionalProperties': False}
story_kits_list
List Story Kits
List bounded reusable Story Kits that bind characters, locations, style, facts, and narrator voice.
Nur Lesen Idempotent
Eingabeschema
{'type': 'object', 'properties': {'limit': {'type': 'number', 'default': 20, 'maximum': 50, 'minimum': 1}, 'offset': {'type': 'number', 'default': 0, 'minimum': 0}, 'workspaceId': {'type': 'string', 'format': 'uuid', 'description': "Optional workspace UUID. Defaults to the user's default workspace. UUID string."}}, 'additionalProperties': False}
Ausgabeschema
{'type': 'object', 'required': ['storyKits', 'bounds'], 'properties': {'bounds': {'type': 'object', 'required': ['limit', 'maxLimit', 'offset', 'total', 'returned', 'hasMore', 'truncated'], 'properties': {'limit': {'type': 'number'}, 'total': {'type': 'number'}, 'offset': {'type': 'number'}, 'hasMore': {'type': 'boolean'}, 'maxLimit': {'type': 'number'}, 'returned': {'type': 'number'}, 'truncated': {'type': 'boolean'}}, 'additionalProperties': False}, 'storyKits': {'type': 'array', 'items': {'type': 'object'}}}, 'additionalProperties': False}
timeline_audio_add
Add Audio To Timeline
Place an audio asset onto a BlitzReels project timeline at a timestamp for voiceover, music, or sound.
Eingabeschema
{'type': 'object', 'required': ['projectId', 'assetId'], 'properties': {'loop': {'type': 'boolean', 'default': False, 'description': 'Loop audio to fill requested duration'}, 'volume': {'type': 'number', 'default': 1, 'description': 'Audio volume multiplier, 1 is normal'}, 'assetId': {'type': 'string', 'format': 'uuid', 'description': 'Audio media asset ID. UUID string.'}, 'projectId': {'type': 'string', 'format': 'uuid', 'description': 'BlitzReels project ID. UUID string.'}, 'startSeconds': {'type': 'number', 'default': 0, 'minimum': 0, 'description': 'Timeline start time in seconds'}, 'fadeInSeconds': {'type': 'number', 'default': 0, 'minimum': 0, 'description': 'Fade-in length in seconds'}, 'fadeOutSeconds': {'type': 'number', 'default': 0, 'minimum': 0, 'description': 'Fade-out length in seconds'}, 'durationSeconds': {'type': 'number', 'minimum': 0, 'description': 'Optional duration. Required if the audio asset duration is not known yet.'}}, 'additionalProperties': False}
Ausgabeschema
{'type': 'object', 'required': ['result'], 'properties': {'result': {'type': 'object'}}, 'additionalProperties': False}
timeline_edit_apply
Apply Timeline Edit
Trim or extend one timeline item. Split one timeline item at an exact sequence position.
Idempotent
Eingabeschema
{'type': 'object', 'required': ['projectId', 'operation', 'expectedRevision', 'idempotencyKey'], 'properties': {'operation': {'oneOf': [{'type': 'object', 'required': ['operationId', 'timelineItemId', 'trimStartDeltaSeconds', 'trimEndDeltaSeconds', 'snapToFrame'], 'properties': {'operationId': {'type': 'string', 'const': 'timeline.item.trim'}, 'snapToFrame': {'type': 'boolean'}, 'timelineItemId': {'type': 'string', 'format': 'uuid'}, 'trimEndDeltaSeconds': {'type': 'number'}, 'trimStartDeltaSeconds': {'type': 'number'}}, 'additionalProperties': False}, {'type': 'object', 'required': ['operationId', 'timelineItemId', 'splitAtSeconds', 'snapToFrame'], 'properties': {'operationId': {'type': 'string', 'const': 'timeline.item.split'}, 'snapToFrame': {'type': 'boolean'}, 'splitAtSeconds': {'type': 'number', 'minimum': 0}, 'timelineItemId': {'type': 'string', 'format': 'uuid'}}, 'additionalProperties': False}]}, 'projectId': {'type': 'string', 'format': 'uuid', 'description': 'UUID string.'}, 'idempotencyKey': {'type': 'string', 'pattern': '^[A-Za-z0-9._:-]+$', 'maxLength': 200, 'minLength': 8}, 'expectedRevision': {'type': ['integer', 'null'], 'minimum': 0, 'description': 'Expected sequence revision, or null.'}}, 'additionalProperties': False}
Ausgabeschema
{'type': 'object', 'oneOf': [{'type': 'object', 'required': ['result', 'mutationReceipt'], 'properties': {'result': {'oneOf': [{'type': 'object', 'required': ['success', 'operation_id', 'project_id', 'mutation_receipt_id', 'idempotency_key', 'base_revision', 'revision', 'replayed', 'txid', 'affected_timeline_item_ids', 'created_timeline_item_ids', 'deleted_timeline_item_ids', 'warnings', 'result'], 'properties': {'txid': {'type': 'number', 'minimum': 0}, 'result': {'type': 'object', 'required': ['timeline_item_id', 'trim_start_units', 'trim_end_units', 'trim_start_seconds', 'trim_end_seconds', 'message'], 'properties': {'message': {'type': 'string'}, 'trim_end_units': {'type': 'string'}, 'timeline_item_id': {'type': 'string', 'format': 'uuid'}, 'trim_end_seconds': {'type': 'number'}, 'trim_start_units': {'type': 'string'}, 'trim_start_seconds': {'type': 'number'}}, 'additionalProperties': False}, 'success': {'type': 'boolean', 'const': True}, 'replayed': {'type': 'boolean'}, 'revision': {'type': 'number', 'minimum': 0}, 'warnings': {'type': 'array', 'items': {'type': 'string'}}, 'project_id': {'type': 'string', 'format': 'uuid'}, 'operation_id': {'type': 'string', 'const': 'timeline.item.trim'}, 'base_revision': {'type': 'number', 'minimum': 0}, 'idempotency_key': {'type': 'string'}, 'mutation_receipt_id': {'type': 'string'}, 'created_timeline_item_ids': {'type': 'array', 'items': {'type': 'string', 'format': 'uuid'}}, 'deleted_timeline_item_ids': {'type': 'array', 'items': {'type': 'string', 'format': 'uuid'}}, 'affected_timeline_item_ids': {'type': 'array', 'items': {'type': 'string', 'format': 'uuid'}}}, 'additionalProperties': False}, {'type': 'object', 'required': ['success', 'operation_id', 'project_id', 'mutation_receipt_id', 'idempotency_key', 'base_revision', 'revision', 'replayed', 'txid', 'affected_timeline_item_ids', 'created_timeline_item_ids', 'deleted_timeline_item_ids', 'warnings', 'result'], 'properties': {'txid': {'type': 'number', 'minimum': 0}, 'result': {'type': 'object', 'required': ['left_timeline_item_id', 'right_timeline_item_id', 'split_at_units', 'split_at_seconds'], 'properties': {'split_at_units': {'type': 'string'}, 'split_at_seconds': {'type': 'number'}, 'left_timeline_item_id': {'type': 'string', 'format': 'uuid'}, 'right_timeline_item_id': {'type': 'string', 'format': 'uuid'}}, 'additionalProperties': False}, 'success': {'type': 'boolean', 'const': True}, 'replayed': {'type': 'boolean'}, 'revision': {'type': 'number', 'minimum': 0}, 'warnings': {'type': 'array', 'items': {'type': 'string'}}, 'project_id': {'type': 'string', 'format': 'uuid'}, 'operation_id': {'type': 'string', 'const': 'timeline.item.split'}, 'base_revision': {'type': 'number', 'minimum': 0}, 'idempotency_key': {'type': 'string'}, 'mutation_receipt_id': {'type': 'string'}, 'created_timeline_item_ids': {'type': 'array', 'items': {'type': 'string', 'format': 'uuid'}}, 'deleted_timeline_item_ids': {'type': 'array', 'items': {'type': 'string', 'format': 'uuid'}}, 'affected_timeline_item_ids': {'type': 'array', 'items': {'type': 'string', 'format': 'uuid'}}}, 'additionalProperties': False}]}, 'mutationReceipt': {'type': 'object', 'required': ['id', 'key', 'operation', 'status', 'replayed'], 'properties': {'id': {'type': ['string', 'null']}, 'key': {'type': ['string', 'null']}, 'status': {'enum': ['completed'], 'type': 'string'}, 'replayed': {'type': 'boolean'}, 'operation': {'type': 'string'}}, 'additionalProperties': False}}, 'additionalProperties': False}, {'type': 'object', 'required': ['error'], 'properties': {'error': {'type': 'object', 'required': ['code', 'message', 'retryable', 'details'], 'properties': {'code': {'enum': ['validation_error', 'not_found', 'permission_denied', 'revision_conflict', 'idempotency_conflict', 'operation_in_progress', 'operation_previous_failure', 'sequence_busy', 'mutation_failed'], 'type': 'string'}, 'details': {'type': 'object', 'additionalProperties': {'anyOf': [{'type': 'string'}, {'type': 'number'}, {'type': 'boolean'}, {'type': 'null'}]}}, 'message': {'type': 'string'}, 'retryable': {'type': 'boolean'}}, 'additionalProperties': False}}, 'additionalProperties': False}]}
timeline_edit_preview
Preview Timeline Edit
Preview without mutation. Trim or extend one timeline item. Split one timeline item at an exact sequence position.
Nur Lesen Idempotent
Eingabeschema
{'type': 'object', 'required': ['projectId', 'operation', 'expectedRevision'], 'properties': {'operation': {'oneOf': [{'type': 'object', 'required': ['operationId', 'timelineItemId', 'trimStartDeltaSeconds', 'trimEndDeltaSeconds', 'snapToFrame'], 'properties': {'operationId': {'type': 'string', 'const': 'timeline.item.trim'}, 'snapToFrame': {'type': 'boolean'}, 'timelineItemId': {'type': 'string', 'format': 'uuid'}, 'trimEndDeltaSeconds': {'type': 'number'}, 'trimStartDeltaSeconds': {'type': 'number'}}, 'additionalProperties': False}, {'type': 'object', 'required': ['operationId', 'timelineItemId', 'splitAtSeconds', 'snapToFrame'], 'properties': {'operationId': {'type': 'string', 'const': 'timeline.item.split'}, 'snapToFrame': {'type': 'boolean'}, 'splitAtSeconds': {'type': 'number', 'minimum': 0}, 'timelineItemId': {'type': 'string', 'format': 'uuid'}}, 'additionalProperties': False}]}, 'projectId': {'type': 'string', 'format': 'uuid', 'description': 'UUID string.'}, 'expectedRevision': {'type': ['integer', 'null'], 'minimum': 0, 'description': 'Expected sequence revision, or null.'}}, 'additionalProperties': False}
Ausgabeschema
{'type': 'object', 'oneOf': [{'type': 'object', 'required': ['plan'], 'properties': {'plan': {'type': 'object', 'required': ['operation_id', 'project_id', 'current_revision', 'expected_revision', 'destructive', 'affected_timeline_item_ids', 'would_create_timeline_item_ids', 'would_delete_timeline_item_ids', 'change_count', 'warnings'], 'properties': {'warnings': {'type': 'array', 'items': {'type': 'string'}}, 'project_id': {'type': 'string', 'format': 'uuid'}, 'destructive': {'type': 'boolean'}, 'change_count': {'type': 'number', 'minimum': 0}, 'operation_id': {'enum': ['timeline.item.trim', 'timeline.item.split'], 'type': 'string'}, 'current_revision': {'type': 'number', 'minimum': 0}, 'expected_revision': {'type': ['number', 'null'], 'minimum': 0}, 'affected_timeline_item_ids': {'type': 'array', 'items': {'type': 'string', 'format': 'uuid'}}, 'would_create_timeline_item_ids': {'type': 'array', 'items': {'type': 'string', 'format': 'uuid'}}, 'would_delete_timeline_item_ids': {'type': 'array', 'items': {'type': 'string', 'format': 'uuid'}}}, 'additionalProperties': False}}, 'additionalProperties': False}, {'type': 'object', 'required': ['error'], 'properties': {'error': {'type': 'object', 'required': ['code', 'message', 'retryable', 'details'], 'properties': {'code': {'enum': ['validation_error', 'not_found', 'permission_denied', 'revision_conflict', 'idempotency_conflict', 'operation_in_progress', 'operation_previous_failure', 'sequence_busy', 'mutation_failed'], 'type': 'string'}, 'details': {'type': 'object', 'additionalProperties': {'anyOf': [{'type': 'string'}, {'type': 'number'}, {'type': 'boolean'}, {'type': 'null'}]}}, 'message': {'type': 'string'}, 'retryable': {'type': 'boolean'}}, 'additionalProperties': False}}, 'additionalProperties': False}]}
timeline_media_add
Add Media To Timeline
Place an image or video asset onto a BlitzReels project timeline at a timestamp, including B-roll and static images.
Eingabeschema
{'type': 'object', 'required': ['projectId', 'assetId'], 'properties': {'assetId': {'type': 'string', 'format': 'uuid', 'description': 'Image or video media asset ID. UUID string.'}, 'projectId': {'type': 'string', 'format': 'uuid', 'description': 'BlitzReels project ID. UUID string.'}, 'layerIndex': {'type': 'number', 'minimum': 0, 'description': 'Exact timeline layer to use. Lower layer numbers render on top. Omit for intent-based placement.'}, 'startSeconds': {'type': 'number', 'default': 0, 'minimum': 0, 'description': 'Timeline start time in seconds'}, 'allowDuplicate': {'type': 'boolean', 'default': True, 'description': 'Allow inserting the same asset more than once'}, 'positionPreset': {'enum': ['center', 'fullscreen', 'pip-top-left', 'pip-top-right', 'pip-bottom-left', 'pip-bottom-right'], 'type': 'string', 'default': 'fullscreen', 'description': 'Visual placement preset'}, 'animationPreset': {'enum': ['none', 'fadeIn', 'fadeOut', 'zoomIn', 'zoomOut', 'slideLeft', 'slideRight', 'slideUp', 'slideDown', 'popIn', 'bounce', 'spin'], 'type': 'string', 'default': 'none', 'description': 'Optional visual animation preset'}, 'durationSeconds': {'type': 'number', 'minimum': 0, 'description': 'Duration in seconds. Required for still images when a specific length is needed.'}, 'placementIntent': {'enum': ['overlay', 'background', 'exact'], 'type': 'string', 'default': 'overlay', 'description': 'Layer intent used when layerIndex is omitted. Use overlay for visible B-roll/logo/sticker over video, background for behind video, exact when layerIndex is supplied.'}}, 'additionalProperties': False}
Ausgabeschema
{'type': 'object', 'required': ['result'], 'properties': {'result': {'type': 'object'}}, 'additionalProperties': False}
update_timeline_clip
Update Timeline Clip
Update one timeline item's start, duration, trim, layer, ignored state, or blurred background. Provide at least one field to update besides timelineItemId.
Idempotent
Eingabeschema
{'type': 'object', 'required': ['projectId', 'timelineItemId', 'idempotencyKey'], 'properties': {'ignored': {'type': 'boolean'}, 'projectId': {'type': 'string', 'format': 'uuid', 'description': 'UUID string.'}, 'layerIndex': {'type': 'integer', 'minimum': 0}, 'startSeconds': {'type': 'number', 'minimum': 0}, 'idempotencyKey': {'type': 'string', 'pattern': '^[A-Za-z0-9._:-]+$', 'maxLength': 200, 'minLength': 8, 'description': 'Retry key. Reuse only with identical inputs.'}, 'timelineItemId': {'type': 'string', 'format': 'uuid'}, 'trimEndSeconds': {'type': 'number', 'minimum': 0}, 'durationSeconds': {'type': 'number', 'minimum': 0, 'exclusiveMinimum': 0}, 'expectedRevision': {'type': 'integer', 'minimum': 0, 'description': 'Expected sequence revision, or null.'}, 'trimStartSeconds': {'type': 'number', 'minimum': 0}, 'blurredBackground': {'type': 'boolean'}}, 'additionalProperties': False}
Ausgabeschema
{'type': 'object', 'required': ['operationId', 'projectId', 'baseRevision', 'revision', 'replayed', 'txid', 'affectedTimelineItemIds', 'createdTimelineItemIds', 'deletedTimelineItemIds', 'warnings', 'result', 'mutationReceipt'], 'properties': {'txid': {'type': 'number'}, 'result': {'type': 'object'}, 'replayed': {'type': 'boolean'}, 'revision': {'type': 'integer'}, 'warnings': {'type': 'array', 'items': {'type': 'string'}}, 'projectId': {'type': 'string'}, 'operationId': {'type': 'string'}, 'baseRevision': {'type': 'integer'}, 'mutationReceipt': {'type': 'object', 'required': ['id', 'key', 'operation', 'status', 'replayed'], 'properties': {'id': {'type': ['string', 'null']}, 'key': {'type': ['string', 'null']}, 'status': {'enum': ['completed'], 'type': 'string'}, 'replayed': {'type': 'boolean'}, 'operation': {'type': 'string'}}, 'additionalProperties': False}, 'createdTimelineItemIds': {'type': 'array', 'items': {'type': 'string'}}, 'deletedTimelineItemIds': {'type': 'array', 'items': {'type': 'string'}}, 'affectedTimelineItemIds': {'type': 'array', 'items': {'type': 'string'}}}, 'additionalProperties': False}
video_assets_approve
Approve Previews and Produce Video
After the user approves the generated previews and animation cost, confirmApproved=true starts scene animation, narration and editable timeline assembly. Can replace the project's generated timeline and spend existing credits. Follow the revision and then export the finished project.
Destruktiv Externer Zugriff Idempotent
Eingabeschema
{'type': 'object', '$schema': 'https://json-schema.org/draft/2020-12/schema', 'required': ['workspaceId', 'idempotencyKey', 'projectId', 'revisionId', 'confirmApproved'], 'properties': {'projectId': {'type': 'string', 'format': 'uuid', 'pattern': '^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$', 'description': 'UUID string.'}, 'revisionId': {'type': 'string', 'format': 'uuid', 'pattern': '^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$'}, 'workspaceId': {'anyOf': [{'type': 'string', 'format': 'uuid', 'pattern': '^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$'}, {'type': 'null'}], 'default': None}, 'idempotencyKey': {'type': 'string', 'maxLength': 200, 'minLength': 8}, 'confirmApproved': {'type': 'boolean', 'const': True}}, 'additionalProperties': False}
Ausgabeschema
{'type': 'object', 'required': ['result'], 'properties': {'result': {'type': 'object', 'additionalProperties': True}}, 'additionalProperties': False}
video_feedback_save
Save Video Quality Feedback
Save the user's 1-5 rating and optional quality category/comment against one completed playable video export. Replaces that user's previous feedback for this export; does not change accepted clips or defaults. Requires the feedback storage migration to be installed.
Destruktiv Idempotent
Eingabeschema
{'type': 'object', '$schema': 'https://json-schema.org/draft/2020-12/schema', 'required': ['workspaceId', 'idempotencyKey', 'exportId', 'rating', 'category', 'comment'], 'properties': {'rating': {'type': 'integer', 'maximum': 5, 'minimum': 1}, 'comment': {'type': 'string', 'maxLength': 2000}, 'category': {'anyOf': [{'enum': ['moments', 'captions', 'pacing', 'framing', 'editing', 'export', 'other'], 'type': 'string'}, {'type': 'null'}]}, 'exportId': {'type': 'string', 'format': 'uuid', 'pattern': '^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$', 'description': 'UUID string.'}, 'workspaceId': {'anyOf': [{'type': 'string', 'format': 'uuid', 'pattern': '^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$'}, {'type': 'null'}], 'default': None}, 'idempotencyKey': {'type': 'string', 'maxLength': 200, 'minLength': 8}}, 'additionalProperties': False}
Ausgabeschema
{'type': 'object', 'additionalProperties': True}
video_storyboard_approve
Approve Storyboard Previews
After showing the storyboard and its credit estimate, confirmApproved=true starts production of reference images and scene keyframes. Spends existing credits. This stage produces reviewable previews, not animated videos.
Destruktiv Externer Zugriff Idempotent
Eingabeschema
{'type': 'object', '$schema': 'https://json-schema.org/draft/2020-12/schema', 'required': ['workspaceId', 'idempotencyKey', 'projectId', 'revisionId', 'confirmApproved'], 'properties': {'projectId': {'type': 'string', 'format': 'uuid', 'pattern': '^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$', 'description': 'UUID string.'}, 'revisionId': {'type': 'string', 'format': 'uuid', 'pattern': '^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$'}, 'workspaceId': {'anyOf': [{'type': 'string', 'format': 'uuid', 'pattern': '^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$'}, {'type': 'null'}], 'default': None}, 'idempotencyKey': {'type': 'string', 'maxLength': 200, 'minLength': 8}, 'confirmApproved': {'type': 'boolean', 'const': True}}, 'additionalProperties': False}
Ausgabeschema
{'type': 'object', 'required': ['result'], 'properties': {'result': {'type': 'object', 'additionalProperties': True}}, 'additionalProperties': False}
video_storyboard_asset_regenerate
Regenerate Selected Storyboard Preview
Replace the identified preview after user approval of the new credit cost. A scene_keyframe changes one keyframe; a character_anchor refreshes its dependent keyframes; a style_anchor refreshes every keyframe. Preserves unaffected previews. Does not regenerate an already finished video shot.
Destruktiv Externer Zugriff Idempotent
Eingabeschema
{'type': 'object', '$schema': 'https://json-schema.org/draft/2020-12/schema', 'required': ['projectId', 'revisionId', 'asset_type', 'workspaceId', 'idempotencyKey', 'confirmRegeneration'], 'properties': {'projectId': {'type': 'string', 'format': 'uuid', 'pattern': '^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$', 'description': 'UUID string.'}, 'asset_type': {'enum': ['style_anchor', 'character_anchor', 'scene_keyframe'], 'type': 'string', 'description': 'style_anchor regenerates the shared style reference and every keyframe; character_anchor requires character_id and refreshes dependent keyframes; scene_keyframe requires scene_index.'}, 'revisionId': {'type': 'string', 'format': 'uuid', 'pattern': '^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$'}, 'scene_index': {'type': 'integer', 'maximum': 11, 'minimum': 0}, 'workspaceId': {'anyOf': [{'type': 'string', 'format': 'uuid', 'pattern': '^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$'}, {'type': 'null'}], 'default': None}, 'character_id': {'type': 'string', 'minLength': 1}, 'idempotencyKey': {'type': 'string', 'maxLength': 200, 'minLength': 8}, 'confirmRegeneration': {'type': 'boolean', 'const': True}}, 'additionalProperties': False}
Ausgabeschema
{'type': 'object', 'required': ['result'], 'properties': {'result': {'type': 'object', 'additionalProperties': True}}, 'additionalProperties': False}
video_storyboard_create
Plan an Approved Video Script
Create a vertical video storyboard for the user-approved script in an existing project. Spends planning credits; returns scene narration, factual review notes, references and the production credit estimate. Does not generate images or animate video. Existing account access applies.
Externer Zugriff Idempotent
Eingabeschema
{'type': 'object', '$schema': 'https://json-schema.org/draft/2020-12/schema', 'required': ['projectId', 'script', 'workspaceId', 'idempotencyKey', 'confirmScriptApproved'], 'properties': {'script': {'type': 'string', 'maxLength': 30000, 'minLength': 1}, 'voice_id': {'type': 'string', 'maxLength': 200}, 'projectId': {'type': 'string', 'format': 'uuid', 'pattern': '^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$', 'description': 'UUID string.'}, 'series_id': {'anyOf': [{'type': 'string', 'format': 'uuid', 'pattern': '^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$'}, {'type': 'null'}]}, 'video_model': {'type': 'string', 'maxLength': 200, 'minLength': 3}, 'workspaceId': {'anyOf': [{'type': 'string', 'format': 'uuid', 'pattern': '^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$'}, {'type': 'null'}], 'default': None}, 'story_kit_id': {'type': 'string', 'format': 'uuid', 'pattern': '^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$'}, 'visual_style': {'type': 'string', 'maxLength': 200, 'minLength': 1}, 'character_ids': {'type': 'array', 'items': {'type': 'string', 'format': 'uuid', 'pattern': '^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$'}, 'maxItems': 8}, 'idempotencyKey': {'type': 'string', 'maxLength': 200, 'minLength': 8}, 'image_model_id': {'type': 'string', 'maxLength': 200, 'minLength': 3}, 'caption_style_id': {'type': 'string', 'maxLength': 200}, 'include_captions': {'type': 'boolean'}, 'planner_model_id': {'type': 'string', 'maxLength': 200, 'minLength': 3}, 'confirmScriptApproved': {'type': 'boolean', 'const': True}, 'generate_sound_effects': {'type': 'boolean'}, 'target_duration_seconds': {'type': 'number', 'maximum': 120, 'minimum': 10}, 'generate_background_music': {'type': 'boolean'}, 'style_reference_asset_ids': {'type': 'array', 'items': {'type': 'string', 'format': 'uuid', 'pattern': '^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$'}, 'maxItems': 10}}, 'additionalProperties': False}
Ausgabeschema
{'type': 'object', 'required': ['result'], 'properties': {'result': {'type': 'object', 'additionalProperties': True}}, 'additionalProperties': False}
video_storyboard_get
Review Video Storyboard
Read one authorized storyboard revision, its scene and reference previews, estimate, approvals and bounded polling guidance. Refreshes signed previews. Complete means the editable timeline is assembled; use exports_start and exports_list for a downloadable MP4.
Nur Lesen Idempotent
Eingabeschema
{'type': 'object', '$schema': 'https://json-schema.org/draft/2020-12/schema', 'required': ['workspaceId', 'projectId', 'revisionId'], 'properties': {'projectId': {'type': 'string', 'format': 'uuid', 'pattern': '^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$', 'description': 'UUID string.'}, 'revisionId': {'type': 'string', 'format': 'uuid', 'pattern': '^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$'}, 'workspaceId': {'anyOf': [{'type': 'string', 'format': 'uuid', 'pattern': '^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$'}, {'type': 'null'}], 'default': None}}, 'additionalProperties': False}
Ausgabeschema
{'type': 'object', 'required': ['result'], 'properties': {'result': {'type': 'object', 'additionalProperties': True}}, 'additionalProperties': False}
video_storyboard_revise
Revise Selected Storyboard Scenes
Create a new immutable draft from a known revision with selected scene, character or model changes. Preserves other scene definitions; requires review and production approval again. Does not generate media or overwrite an approved revision.
Idempotent
Eingabeschema
{'type': 'object', '$schema': 'https://json-schema.org/draft/2020-12/schema', 'required': ['projectId', 'revisionId', 'workspaceId', 'idempotencyKey'], 'properties': {'projectId': {'type': 'string', 'format': 'uuid', 'pattern': '^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$', 'description': 'UUID string.'}, 'revisionId': {'type': 'string', 'format': 'uuid', 'pattern': '^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$'}, 'video_model': {'type': 'string', 'maxLength': 200, 'minLength': 3}, 'workspaceId': {'anyOf': [{'type': 'string', 'format': 'uuid', 'pattern': '^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$'}, {'type': 'null'}], 'default': None}, 'scene_updates': {'type': 'array', 'items': {'type': 'object', 'required': ['scene_index'], 'properties': {'title': {'type': 'string', 'maxLength': 200, 'minLength': 1}, 'scene_index': {'type': 'integer', 'maximum': 11, 'minimum': 0}, 'image_prompt': {'type': 'string', 'maxLength': 5000, 'minLength': 1}, 'character_ids': {'type': 'array', 'items': {'type': 'string', 'minLength': 1}, 'maxItems': 2}, 'motion_prompt': {'type': 'string', 'maxLength': 5000, 'minLength': 1}}, 'additionalProperties': False}, 'maxItems': 12}, 'idempotencyKey': {'type': 'string', 'maxLength': 200, 'minLength': 8}, 'image_model_id': {'type': 'string', 'maxLength': 200, 'minLength': 3}, 'character_updates': {'type': 'array', 'items': {'type': 'object', 'required': ['character_id'], 'properties': {'name': {'type': 'string', 'maxLength': 200, 'minLength': 1}, 'character_id': {'type': 'string', 'minLength': 1}, 'anchor_prompt': {'type': 'string', 'maxLength': 3000, 'minLength': 1}, 'canonical_description': {'type': 'string', 'maxLength': 3000, 'minLength': 1}}, 'additionalProperties': False}, 'maxItems': 8}, 'style_anchor_prompt': {'type': 'string', 'maxLength': 3000, 'minLength': 1, 'description': 'Self-contained prompt for the single reference frame that locks rendering medium, palette, lighting, and grain for every scene. No characters, no text, no interfaces.'}}, 'additionalProperties': False}
Ausgabeschema
{'type': 'object', 'required': ['result'], 'properties': {'result': {'type': 'object', 'additionalProperties': True}}, 'additionalProperties': False}
visuals_apply
Apply visual presets
Create or update up to 20 visual blocks in one call after edit timing is settled. Presets: broll-headline, steps, quote, end-screen, key-number, before-after, screenshot-focus, chapter. IDs are scoped to the project; repeating an ID updates it. Asset IDs must belong to the workspace. Atomic, undoable; dryRun validates without writing. Returns IDs and revision. No generation pass.
Idempotent
Eingabeschema
{'type': 'object', '$schema': 'https://json-schema.org/draft/2020-12/schema', 'required': ['projectId', 'items', 'expectedRevision', 'dryRun', 'idempotencyKey'], 'properties': {'items': {'type': 'array', 'items': {'type': 'object', 'required': ['id', 'at', 'duration', 'preset', 'text'], 'properties': {'at': {'type': 'number', 'maximum': 86400, 'minimum': 0}, 'id': {'type': 'string', 'pattern': '^[a-zA-Z0-9_-]{1,80}$'}, 'cta': {'type': 'string', 'maxLength': 40, 'minLength': 1, 'description': 'Required for end-screen.'}, 'text': {'type': 'string', 'maxLength': 220, 'minLength': 1, 'description': 'Heading, or quote. Max 120 characters except quote: 220.'}, 'focus': {'type': 'object', 'required': ['x', 'y', 'width', 'height'], 'properties': {'x': {'type': 'number', 'maximum': 1, 'minimum': 0}, 'y': {'type': 'number', 'maximum': 1, 'minimum': 0}, 'width': {'type': 'number', 'maximum': 1, 'exclusiveMinimum': 0}, 'height': {'type': 'number', 'maximum': 1, 'exclusiveMinimum': 0}}, 'description': 'Required for screenshot-focus. Normalized rectangle inside the source image.', 'additionalProperties': False}, 'steps': {'type': 'array', 'items': {'type': 'string', 'maxLength': 48, 'minLength': 1}, 'maxItems': 5, 'minItems': 2, 'description': 'Required for steps.'}, 'value': {'type': 'number', 'maximum': 999999, 'minimum': -999999, 'description': 'Required for key-number.'}, 'number': {'type': 'string', 'maxLength': 4, 'minLength': 1, 'description': 'Required for chapter.'}, 'preset': {'enum': ['broll-headline', 'steps', 'quote', 'end-screen', 'key-number', 'before-after', 'screenshot-focus', 'chapter'], 'type': 'string'}, 'suffix': {'type': 'string', 'maxLength': 8, 'description': 'Required for key-number; empty string allowed.'}, 'assetId': {'type': 'string', 'format': 'uuid', 'pattern': '^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$', 'description': 'Required for broll-headline and screenshot-focus.'}, 'duration': {'type': 'number', 'maximum': 30, 'minimum': 1}, 'attribution': {'type': 'string', 'maxLength': 60, 'minLength': 1, 'description': 'Required for quote.'}, 'logoAssetId': {'anyOf': [{'type': 'string', 'format': 'uuid', 'pattern': '^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$'}, {'type': 'null'}], 'description': 'Required for end-screen; null for no logo.'}, 'afterAssetId': {'type': 'string', 'format': 'uuid', 'pattern': '^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$', 'description': 'Required for before-after.'}, 'beforeAssetId': {'type': 'string', 'format': 'uuid', 'pattern': '^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$', 'description': 'Required for before-after.'}}, 'additionalProperties': False}, 'maxItems': 20, 'minItems': 1, 'description': 'Supply only the fields for the selected preset.'}, 'dryRun': {'type': 'boolean'}, 'projectId': {'type': 'string', 'format': 'uuid', 'pattern': '^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$', 'description': 'UUID string.'}, 'idempotencyKey': {'type': 'string', 'pattern': '^[A-Za-z0-9._:-]+$', 'maxLength': 200, 'minLength': 8}, 'expectedRevision': {'anyOf': [{'type': 'integer', 'maximum': 9007199254740991, 'minimum': 0}, {'type': 'null'}]}}, 'additionalProperties': False}
Ausgabeschema
{'type': 'object', '$schema': 'https://json-schema.org/draft/2020-12/schema', 'required': ['success', 'dryRun', 'revision', 'mutationReceiptId', 'replayed', 'items', 'warnings'], 'properties': {'items': {'type': 'array', 'items': {'type': 'object', 'required': ['id', 'timelineItemId', 'contentItemId', 'compositionId', 'status'], 'properties': {'id': {'type': 'string'}, 'status': {'enum': ['created', 'updated'], 'type': 'string'}, 'compositionId': {'type': 'string', 'format': 'uuid', 'pattern': '^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$'}, 'contentItemId': {'type': 'string', 'format': 'uuid', 'pattern': '^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$'}, 'timelineItemId': {'type': 'string', 'format': 'uuid', 'pattern': '^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$'}}, 'additionalProperties': False}}, 'dryRun': {'type': 'boolean'}, 'success': {'type': 'boolean', 'const': True}, 'replayed': {'type': 'boolean'}, 'revision': {'type': 'integer', 'maximum': 9007199254740991, 'minimum': 0}, 'warnings': {'type': 'array', 'items': {'type': 'string'}}, 'mutationReceiptId': {'type': ['string', 'null']}}, 'additionalProperties': False}
workflow_runs_create
Create Workflow Run
Create an interactive workflow run from a workflow and optional inputs.
Eingabeschema
{'type': 'object', 'required': ['workflowId'], 'properties': {'inputs': {'type': 'object', 'default': {}, 'description': 'Optional workflow input values. Omit to use workflow defaults.', 'additionalProperties': {'anyOf': [{'type': 'string'}, {'type': 'number'}, {'type': 'boolean'}, {'type': 'array', 'items': {'type': 'string'}}, {'type': 'object', 'additionalProperties': {'anyOf': [{'type': 'string'}, {'type': 'number'}, {'type': 'boolean'}, {'type': 'null'}]}}, {'type': 'null'}]}}, 'projectId': {'type': 'string', 'format': 'uuid', 'description': 'Optional project ID for workflows that operate on an existing project. UUID string.'}, 'workflowId': {'type': 'string', 'format': 'uuid', 'description': 'Workflow ID to run. UUID string.'}}, 'additionalProperties': False}
Ausgabeschema
{'type': 'object', 'required': ['run'], 'properties': {'run': {'type': 'object'}}, 'additionalProperties': False}
workflow_runs_execute_step
Execute Workflow Run Step
Execute one pending workflow run step and return updated run status.
Eingabeschema
{'type': 'object', 'required': ['runId', 'stepRunId'], 'properties': {'runId': {'type': 'string', 'format': 'uuid', 'description': 'Workflow run ID. UUID string.'}, 'stepRunId': {'type': 'string', 'format': 'uuid', 'description': 'Step run ID from workflow_runs_create or workflow_runs_get. UUID string.'}}, 'additionalProperties': False}
Ausgabeschema
{'type': 'object', 'required': ['result', 'run'], 'properties': {'run': {'type': 'object'}, 'result': {'type': 'object'}}, 'additionalProperties': False}
workflow_runs_get
Get Workflow Run
Get workflow run status, step statuses, outputs, warnings, and dashboard URL.
Nur Lesen Idempotent
Eingabeschema
{'type': 'object', 'required': ['runId'], 'properties': {'runId': {'type': 'string', 'format': 'uuid', 'description': 'Workflow run ID. UUID string.'}, 'stepLimit': {'type': 'number', 'default': 20, 'description': 'Maximum workflow run steps to return (1-100).'}, 'stepOffset': {'type': 'number', 'default': 0, 'description': 'Workflow run step offset.'}}, 'additionalProperties': False}
Ausgabeschema
{'type': 'object', 'required': ['run'], 'properties': {'run': {'type': 'object', 'required': ['steps', 'stepBounds'], 'properties': {'steps': {'type': 'array', 'items': {'type': 'object'}}, 'stepBounds': {'type': 'object', 'required': ['limit', 'maxLimit', 'offset', 'total', 'returned', 'hasMore', 'truncated'], 'properties': {'limit': {'type': 'number'}, 'total': {'type': 'number'}, 'offset': {'type': 'number'}, 'hasMore': {'type': 'boolean'}, 'maxLimit': {'type': 'number'}, 'returned': {'type': 'number'}, 'truncated': {'type': 'boolean'}}, 'additionalProperties': False}}}}, 'additionalProperties': False}
workflows_get
Get Workflow
Get a workflow definition, input schema, defaults, and ordered steps.
Nur Lesen Idempotent
Eingabeschema
{'type': 'object', 'required': ['workflowId'], 'properties': {'stepLimit': {'type': 'number', 'default': 20, 'description': 'Maximum workflow steps to return (1-100).'}, 'stepOffset': {'type': 'number', 'default': 0, 'description': 'Workflow step offset.'}, 'workflowId': {'type': 'string', 'format': 'uuid', 'description': 'Workflow ID. UUID string.'}}, 'additionalProperties': False}
Ausgabeschema
{'type': 'object', 'required': ['workflow'], 'properties': {'workflow': {'type': 'object', 'required': ['steps', 'stepBounds'], 'properties': {'steps': {'type': 'array', 'items': {'type': 'object'}}, 'stepBounds': {'type': 'object', 'required': ['limit', 'maxLimit', 'offset', 'total', 'returned', 'hasMore', 'truncated'], 'properties': {'limit': {'type': 'number'}, 'total': {'type': 'number'}, 'offset': {'type': 'number'}, 'hasMore': {'type': 'boolean'}, 'maxLimit': {'type': 'number'}, 'returned': {'type': 'number'}, 'truncated': {'type': 'boolean'}}, 'additionalProperties': False}}}}, 'additionalProperties': False}
workflows_import
Import Workflow
Import a public BlitzReels workflow into the user's workspace.
Eingabeschema
{'type': 'object', 'required': ['workflowId'], 'properties': {'workflowId': {'type': 'string', 'format': 'uuid', 'description': 'Public workflow ID to import. UUID string.'}, 'workspaceId': {'type': 'string', 'format': 'uuid', 'description': "Optional target workspace ID. Defaults to the user's default workspace. UUID string."}}, 'additionalProperties': False}
Ausgabeschema
{'type': 'object', 'required': ['workflow'], 'properties': {'workflow': {'type': 'object', 'required': ['steps', 'stepBounds'], 'properties': {'steps': {'type': 'array', 'items': {'type': 'object'}}, 'stepBounds': {'type': 'object', 'required': ['limit', 'maxLimit', 'offset', 'total', 'returned', 'hasMore', 'truncated'], 'properties': {'limit': {'type': 'number'}, 'total': {'type': 'number'}, 'offset': {'type': 'number'}, 'hasMore': {'type': 'boolean'}, 'maxLimit': {'type': 'number'}, 'returned': {'type': 'number'}, 'truncated': {'type': 'boolean'}}, 'additionalProperties': False}}}}, 'additionalProperties': False}
workflows_list
List Workflows
List public BlitzReels workflows that can be imported into a workspace.
Nur Lesen Idempotent
Eingabeschema
{'type': 'object', 'properties': {'limit': {'type': 'number', 'default': 20, 'maximum': 50, 'minimum': 1, 'description': 'Maximum workflows to return (1-50).'}, 'offset': {'type': 'number', 'default': 0, 'minimum': 0, 'description': 'Pagination offset.'}, 'search': {'type': 'string', 'description': 'Optional search query for workflow name or description.'}, 'trigger': {'enum': ['video_uploaded', 'project_created', 'export_started', 'manual'], 'type': 'string', 'description': 'Optional trigger filter.'}}, 'additionalProperties': False}
Ausgabeschema
{'type': 'object', 'required': ['workflows', 'bounds'], 'properties': {'bounds': {'type': 'object', 'required': ['limit', 'maxLimit', 'offset', 'total', 'returned', 'hasMore', 'truncated'], 'properties': {'limit': {'type': 'number'}, 'total': {'type': 'number'}, 'offset': {'type': 'number'}, 'hasMore': {'type': 'boolean'}, 'maxLimit': {'type': 'number'}, 'returned': {'type': 'number'}, 'truncated': {'type': 'boolean'}}, 'additionalProperties': False}, 'workflows': {'type': 'array', 'items': {'type': 'object'}}}, 'additionalProperties': False}
workspace_brand_scan
Inspect Supplied Business Website
Start extracting a brand profile from the exact website the user supplied and authorized to scan. Saves a draft profile for review; does not apply discovered fields to existing videos. Can spend existing account credits.
Destruktiv Externer Zugriff Idempotent
Eingabeschema
{'type': 'object', '$schema': 'https://json-schema.org/draft/2020-12/schema', 'required': ['workspaceId', 'idempotencyKey', 'websiteUrl', 'confirmAuthorizedToScan'], 'properties': {'websiteUrl': {'type': 'string', 'format': 'uri', 'maxLength': 2048}, 'workspaceId': {'anyOf': [{'type': 'string', 'format': 'uuid', 'pattern': '^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$'}, {'type': 'null'}], 'default': None}, 'idempotencyKey': {'type': 'string', 'maxLength': 200, 'minLength': 8}, 'confirmAuthorizedToScan': {'type': 'boolean', 'const': True}}, 'additionalProperties': False}
Ausgabeschema
{'type': 'object', 'additionalProperties': True}
workspace_brand_scan_get
Read Website Brand Draft
Read one authorized website extraction run and its draft business profile. Show the extracted fields to the user for review before saving them as defaults.
Nur Lesen Idempotent
Eingabeschema
{'type': 'object', '$schema': 'https://json-schema.org/draft/2020-12/schema', 'required': ['workspaceId', 'runId'], 'properties': {'runId': {'type': 'string', 'format': 'uuid', 'pattern': '^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$', 'description': 'UUID string.'}, 'workspaceId': {'anyOf': [{'type': 'string', 'format': 'uuid', 'pattern': '^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$'}, {'type': 'null'}], 'default': None}}, 'additionalProperties': False}
Ausgabeschema
{'type': 'object', 'additionalProperties': True}
workspace_context_get
Read Business Context
Read the selected workspace's business audience, offer, reviewed brand defaults, protected vocabulary, editorial purpose, language, avoided terms, pronunciation notes and existing account entitlements. Returns current export quality and watermark constraints without pricing or upgrade links.
Nur Lesen Idempotent
Eingabeschema
{'type': 'object', '$schema': 'https://json-schema.org/draft/2020-12/schema', 'required': ['workspaceId'], 'properties': {'workspaceId': {'anyOf': [{'type': 'string', 'format': 'uuid', 'pattern': '^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$'}, {'type': 'null'}], 'default': None}}, 'additionalProperties': False}
Ausgabeschema
{'type': 'object', 'additionalProperties': True}
workspace_context_save
Save Reviewed Business Context
Save the user-reviewed business name, audience, offer, conversion goal, tone, protected vocabulary and editorial preferences for the selected workspace. Requires workspace settings permission and confirmReviewed=true; changes future assistant guidance, preserving existing projects. Pronunciation notes guide script drafting; they do not retime or replace source speech.
Destruktiv Idempotent
Eingabeschema
{'type': 'object', '$schema': 'https://json-schema.org/draft/2020-12/schema', 'required': ['workspaceId', 'idempotencyKey', 'brandName', 'audience', 'offer', 'conversionGoal', 'tone', 'editorialPreferences', 'protectedWords', 'confirmReviewed'], 'properties': {'tone': {'anyOf': [{'type': 'string', 'maxLength': 240}, {'type': 'null'}]}, 'offer': {'anyOf': [{'type': 'string', 'maxLength': 500}, {'type': 'null'}]}, 'audience': {'anyOf': [{'type': 'string', 'maxLength': 500}, {'type': 'null'}]}, 'brandName': {'anyOf': [{'type': 'string', 'maxLength': 160}, {'type': 'null'}]}, 'workspaceId': {'anyOf': [{'type': 'string', 'format': 'uuid', 'pattern': '^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$'}, {'type': 'null'}], 'default': None}, 'conversionGoal': {'anyOf': [{'type': 'string', 'maxLength': 500}, {'type': 'null'}]}, 'idempotencyKey': {'type': 'string', 'maxLength': 200, 'minLength': 8}, 'protectedWords': {'type': 'array', 'items': {'type': 'string', 'maxLength': 100, 'minLength': 1}, 'maxItems': 40}, 'confirmReviewed': {'type': 'boolean', 'const': True}, 'editorialPreferences': {'anyOf': [{'type': 'object', 'required': ['purpose', 'preferredLanguage', 'avoidTerms', 'pronunciationNotes'], 'properties': {'purpose': {'anyOf': [{'enum': ['authority', 'education', 'product_demo', 'lead_generation'], 'type': 'string'}, {'type': 'null'}]}, 'avoidTerms': {'type': 'array', 'items': {'type': 'string', 'maxLength': 100, 'minLength': 1}, 'maxItems': 40}, 'preferredLanguage': {'anyOf': [{'type': 'string', 'maxLength': 40, 'minLength': 2}, {'type': 'null'}]}, 'pronunciationNotes': {'type': 'array', 'items': {'type': 'object', 'required': ['term', 'pronunciation'], 'properties': {'term': {'type': 'string', 'maxLength': 100, 'minLength': 1}, 'pronunciation': {'type': 'string', 'maxLength': 160, 'minLength': 1}}, 'additionalProperties': False}, 'maxItems': 40}}, 'additionalProperties': False}, {'type': 'null'}]}}, 'additionalProperties': False}
Ausgabeschema
{'type': 'object', 'additionalProperties': True}
workspaces_list
List Workspaces
List bounded workspaces the connected user belongs to, with their role and default workspace. Selecting a workspace for the task does not change account defaults.
Nur Lesen Idempotent
Eingabeschema
{'type': 'object', '$schema': 'https://json-schema.org/draft/2020-12/schema', 'required': ['limit', 'offset'], 'properties': {'limit': {'type': 'integer', 'default': 20, 'maximum': 50, 'minimum': 1}, 'offset': {'type': 'integer', 'default': 0, 'maximum': 9007199254740991, 'minimum': 0}}, 'additionalProperties': False}
Ausgabeschema
{'type': 'object', 'additionalProperties': True}
Geändert
generation_jobs_cancel
1. October 2026 02:53
Geändert
generation_faceless_create
1. October 2026 02:53
Geändert
generation_sound_create
1. October 2026 02:53
Geändert
generation_music_create
1. October 2026 02:53
Geändert
generation_voiceover_create
1. October 2026 02:53
Geändert
generation_video_create
1. October 2026 02:53
Geändert
generation_image_create
1. October 2026 02:53
Hinzugefügt
captions_look_apply
1. October 2026 02:53
Hinzugefügt
clips_export
1. October 2026 02:53
Hinzugefügt
clips_repair
1. October 2026 02:53
Hinzugefügt
clips_reselect
1. October 2026 02:53
Hinzugefügt
clips_inspect
1. October 2026 02:53
Hinzugefügt
clips_list
1. October 2026 02:53
Hinzugefügt
clips_status_get
1. October 2026 02:53
Geändert
clips_get
1. October 2026 02:53
Geändert
clips_create
1. October 2026 02:53
Hinzugefügt
workspace_brand_scan_get
1. October 2026 02:53
Hinzugefügt
workspace_brand_scan
1. October 2026 02:53
Hinzugefügt
workspace_context_save
1. October 2026 02:53
Hinzugefügt
workspace_context_get
1. October 2026 02:53
Hinzugefügt
workspaces_list
1. October 2026 02:53
Hinzugefügt
clips_recover
1. October 2026 02:53
Hinzugefügt
captions_source_prepare
1. October 2026 02:53
Hinzugefügt
video_feedback_save
1. October 2026 02:53
Hinzugefügt
captions_words_correct
1. October 2026 02:53
Hinzugefügt
captions_words_list
1. October 2026 02:53
Hinzugefügt
clips_candidates_list
1. October 2026 02:53
Hinzugefügt
editor_edit_undo
1. October 2026 02:53
Hinzugefügt
editor_history_list
1. October 2026 02:53
Hinzugefügt
editor_snapshot_get
1. October 2026 02:53