BlitzReels Video Editor
Ce que fait ce MCP
Creates and edits short-form videos, including timelines, captions, transitions, AI-generated visuals, music, voiceovers, sound effects, rendering, and export.
Outils
Schéma d’entrée
{'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}
Schéma de sortie
{'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}
Schéma d’entrée
{'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}
Schéma de sortie
{'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}
Schéma d’entrée
{'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}
Schéma de sortie
{'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}
Schéma d’entrée
{'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}
Schéma de sortie
{'type': 'object', 'additionalProperties': True}
Schéma d’entrée
{'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}
Schéma de sortie
{'type': 'object', 'additionalProperties': True}
Schéma d’entrée
{'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}
Schéma de sortie
{'type': 'object', 'required': ['themes'], 'properties': {'themes': {'type': 'array', 'items': {'type': 'object'}}}, 'additionalProperties': False}
Schéma d’entrée
{'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}
Schéma de sortie
{'type': 'object', 'additionalProperties': True}
Schéma d’entrée
{'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}
Schéma de sortie
{'type': 'object', 'additionalProperties': True}
Schéma d’entrée
{'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}
Schéma de sortie
{'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}
Schéma d’entrée
{'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}
Schéma de sortie
{'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}
Schéma d’entrée
{'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}
Schéma de sortie
{'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}
Schéma d’entrée
{'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}
Schéma de sortie
{'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}
Schéma d’entrée
{'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}
Schéma de sortie
{'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}
Schéma d’entrée
{'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}
Schéma de sortie
{'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}
Schéma d’entrée
{'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}
Schéma de sortie
{'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}
Schéma d’entrée
{'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}
Schéma de sortie
{'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}
Schéma d’entrée
{'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}
Schéma de sortie
{'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}
Schéma d’entrée
{'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}
Schéma de sortie
{'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}
Schéma d’entrée
{'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}
Schéma de sortie
{'type': 'object', 'required': ['character'], 'properties': {'character': {'type': 'object'}}, 'additionalProperties': False}
Schéma d’entrée
{'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}
Schéma de sortie
{'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}
Schéma d’entrée
{'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}
Schéma de sortie
{'type': 'object', 'additionalProperties': True}
Schéma d’entrée
{'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}
Schéma de sortie
{'type': 'object', 'additionalProperties': True}
Schéma d’entrée
{'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}
Schéma de sortie
{'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}
Schéma d’entrée
{'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}
Schéma de sortie
{'type': 'object', 'additionalProperties': True}
Schéma d’entrée
{'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}
Schéma de sortie
{'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}
Schéma d’entrée
{'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}
Schéma de sortie
{'type': 'object', 'required': ['result'], 'properties': {'result': {'type': 'object', 'additionalProperties': True}}, 'additionalProperties': False}
Schéma d’entrée
{'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}
Schéma de sortie
{'type': 'object', 'required': ['result'], 'properties': {'result': {'type': 'object', 'additionalProperties': True}}, 'additionalProperties': False}
Schéma d’entrée
{'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}
Schéma de sortie
{'type': 'object', 'required': ['result'], 'properties': {'result': {'type': 'object', 'additionalProperties': True}}, 'additionalProperties': False}
Schéma d’entrée
{'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}
Schéma de sortie
{'type': 'object', 'required': ['result'], 'properties': {'result': {'type': 'object', 'additionalProperties': True}}, 'additionalProperties': False}
Schéma d’entrée
{'type': 'object', 'required': ['clipId'], 'properties': {'clipId': {'type': ['string', 'null'], 'default': None}, 'workspaceId': {'type': 'string', 'format': 'uuid', 'description': 'UUID string.'}}, 'additionalProperties': False}
Schéma de sortie
{'type': 'object', 'additionalProperties': True}
Schéma d’entrée
{'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}
Schéma de sortie
{'type': 'object', 'additionalProperties': True}
Schéma d’entrée
{'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}
Schéma de sortie
{'type': 'object', 'additionalProperties': True}
Schéma d’entrée
{'type': 'object', 'properties': {}, 'additionalProperties': False}
Schéma de sortie
{'type': 'object', 'required': ['presets'], 'properties': {'presets': {'type': 'array', 'items': {'type': 'object'}}}, 'additionalProperties': False}
Schéma d’entrée
{'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}
Schéma de sortie
{'type': 'object', 'additionalProperties': True}
Schéma d’entrée
{'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}
Schéma de sortie
{'type': 'object', 'additionalProperties': True}
Schéma d’entrée
{'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}
Schéma de sortie
{'type': 'object', 'additionalProperties': True}
Schéma d’entrée
{'type': 'object', 'required': ['batchId'], 'properties': {'batchId': {'type': 'string', 'format': 'uuid', 'description': 'UUID string.'}, 'workspaceId': {'type': 'string', 'format': 'uuid', 'description': 'UUID string.'}}, 'additionalProperties': False}
Schéma de sortie
{'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}
Schéma d’entrée
{'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}
Schéma de sortie
{'type': 'object', 'required': ['result'], 'properties': {'result': {'type': 'object', 'additionalProperties': True}}, 'additionalProperties': False}
Schéma d’entrée
{'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}
Schéma de sortie
{'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}]}
Schéma d’entrée
{'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}
Schéma de sortie
{'type': 'object', 'additionalProperties': True}
Schéma d’entrée
{'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}
Schéma de sortie
{'type': 'object', 'additionalProperties': True}
Schéma d’entrée
{'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}
Schéma de sortie
{'type': 'object', 'additionalProperties': True}
Schéma d’entrée
{'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}
Schéma de sortie
{'type': 'object', 'additionalProperties': True}
Schéma d’entrée
{'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}
Schéma de sortie
{'type': 'object', 'additionalProperties': True}
Schéma d’entrée
{'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}
Schéma de sortie
{'type': 'object', 'additionalProperties': True}
Schéma d’entrée
{'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}
Schéma de sortie
{'type': 'object', 'additionalProperties': True}
Schéma d’entrée
{'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}
Schéma de sortie
{'type': 'object', 'additionalProperties': True}
Schéma d’entrée
{'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}
Schéma de sortie
{'type': 'object', 'additionalProperties': True}
Schéma d’entrée
{'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}
Schéma de sortie
{'type': 'object', 'additionalProperties': True}
Schéma d’entrée
{'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}
Schéma de sortie
{'type': 'object', 'additionalProperties': True}
Schéma d’entrée
{'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}
Schéma de sortie
{'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}
Schéma d’entrée
{'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}
Schéma de sortie
{'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}
Schéma d’entrée
{'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}
Schéma de sortie
{'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}
Schéma d’entrée
{'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}
Schéma de sortie
{'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}
Schéma d’entrée
{'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}
Schéma de sortie
{'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}
Schéma d’entrée
{'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}
Schéma de sortie
{'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}
Schéma d’entrée
{'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}
Schéma de sortie
{'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}
Schéma d’entrée
{'type': 'object', 'required': ['kind'], 'properties': {'kind': {'enum': ['image', 'video', 'voiceover', 'music', 'sound', 'faceless'], 'type': 'string', 'description': 'Generation kind to describe.'}}, 'additionalProperties': False}
Schéma de sortie
{'type': 'object', 'required': ['options'], 'properties': {'options': {'type': 'object'}}, 'additionalProperties': False}
Schéma d’entrée
{'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}
Schéma de sortie
{'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}
Schéma d’entrée
{'type': 'object', 'required': ['plan'], 'properties': {'plan': {'type': 'object', 'description': "The generation plan object authored from generation_plan_brief's planJsonSchema.", 'additionalProperties': True}}, 'additionalProperties': False}
Schéma de sortie
{'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}
Schéma d’entrée
{'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}
Schéma de sortie
{'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}
Schéma d’entrée
{'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}
Schéma de sortie
{'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}
Schéma d’entrée
{'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}
Schéma de sortie
{'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}
Schéma d’entrée
{'type': 'object', 'required': ['assetId'], 'properties': {'assetId': {'type': 'string', 'format': 'uuid', 'description': 'Media asset UUID. UUID string.'}}, 'additionalProperties': False}
Schéma de sortie
{'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}
Schéma d’entrée
{'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}
Schéma de sortie
{'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}
Schéma d’entrée
{'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}
Schéma de sortie
{'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}
Schéma d’entrée
{'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}
Schéma de sortie
{'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}
Schéma d’entrée
{'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}
Schéma de sortie
{'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}
Schéma d’entrée
{'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}
Schéma de sortie
{'type': 'object', 'required': ['preview'], 'properties': {'preview': {'type': 'object'}}, 'additionalProperties': False}
Schéma d’entrée
{'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}
Schéma de sortie
{'type': 'object', 'required': ['resolved'], 'properties': {'resolved': {'type': 'object'}}, 'additionalProperties': False}
Schéma d’entrée
{'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}
Schéma de sortie
{'type': 'object', 'required': ['media'], 'properties': {'media': {'type': 'object'}}, 'additionalProperties': False}
Schéma d’entrée
{'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}
Schéma de sortie
{'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}
Schéma d’entrée
{'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}
Schéma de sortie
{'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}
Schéma d’entrée
{'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}
Schéma de sortie
{'type': 'object', 'required': ['media'], 'properties': {'media': {'type': 'object'}}, 'additionalProperties': False}
Schéma d’entrée
{'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}
Schéma de sortie
{'type': 'object', 'required': ['media'], 'properties': {'media': {'type': 'object'}}, 'additionalProperties': False}
Schéma d’entrée
{'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}
Schéma de sortie
{'type': 'object', 'required': ['uploadInfo'], 'properties': {'uploadInfo': {'type': 'object'}}, 'additionalProperties': False}
Schéma d’entrée
{'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}
Schéma de sortie
{'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}
Schéma d’entrée
{'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}
Schéma de sortie
{'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}
Schéma d’entrée
{'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}
Schéma de sortie
{'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}
Schéma d’entrée
{'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}
Schéma de sortie
{'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}
Schéma d’entrée
{'type': 'object', 'required': ['projectId'], 'properties': {'projectId': {'type': 'string', 'format': 'uuid', 'description': 'The project ID to get details for. UUID string.'}}, 'additionalProperties': False}
Schéma de sortie
{'type': 'object', 'required': ['project'], 'properties': {'error': {'type': 'string'}, 'project': {'type': ['object', 'null']}}, 'additionalProperties': False}
Schéma d’entrée
{'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}
Schéma de sortie
{'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}
Schéma d’entrée
{'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}
Schéma de sortie
{'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}
Schéma d’entrée
{'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}
Schéma de sortie
{'type': 'object', 'required': ['result'], 'properties': {'result': {'type': 'object', 'additionalProperties': True}}, 'additionalProperties': False}
Schéma d’entrée
{'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}
Schéma de sortie
{'type': 'object', 'required': ['result'], 'properties': {'result': {'type': 'object', 'additionalProperties': True}}, 'additionalProperties': False}
Schéma d’entrée
{'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}
Schéma de sortie
{'type': 'object', 'required': ['result'], 'properties': {'result': {'type': 'object', 'additionalProperties': True}}, 'additionalProperties': False}
Schéma d’entrée
{'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}
Schéma de sortie
{'type': 'object', 'required': ['result'], 'properties': {'result': {'type': 'object', 'additionalProperties': True}}, 'additionalProperties': False}
Schéma d’entrée
{'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}
Schéma de sortie
{'type': 'object', 'required': ['result'], 'properties': {'result': {'type': 'object', 'additionalProperties': True}}, 'additionalProperties': False}
Schéma d’entrée
{'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}
Schéma de sortie
{'type': 'object', 'required': ['result'], 'properties': {'result': {'type': 'object', 'additionalProperties': True}}, 'additionalProperties': False}
Schéma d’entrée
{'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}
Schéma de sortie
{'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}
Schéma d’entrée
{'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}
Schéma de sortie
{'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}
Schéma d’entrée
{'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}
Schéma de sortie
{'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}
Schéma d’entrée
{'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}
Schéma de sortie
{'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}
Schéma d’entrée
{'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}
Schéma de sortie
{'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}
Schéma d’entrée
{'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}
Schéma de sortie
{'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}
Schéma d’entrée
{'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}
Schéma de sortie
{'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}
Schéma d’entrée
{'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}
Schéma de sortie
{'type': 'object', 'required': ['storyKit'], 'properties': {'storyKit': {'type': 'object'}}, 'additionalProperties': False}
Schéma d’entrée
{'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}
Schéma de sortie
{'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}
Schéma d’entrée
{'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}
Schéma de sortie
{'type': 'object', 'required': ['result'], 'properties': {'result': {'type': 'object'}}, 'additionalProperties': False}
Schéma d’entrée
{'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}
Schéma de sortie
{'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}]}
Schéma d’entrée
{'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}
Schéma de sortie
{'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}]}
Schéma d’entrée
{'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}
Schéma de sortie
{'type': 'object', 'required': ['result'], 'properties': {'result': {'type': 'object'}}, 'additionalProperties': False}
Schéma d’entrée
{'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}
Schéma de sortie
{'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}
Schéma d’entrée
{'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}
Schéma de sortie
{'type': 'object', 'required': ['result'], 'properties': {'result': {'type': 'object', 'additionalProperties': True}}, 'additionalProperties': False}
Schéma d’entrée
{'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}
Schéma de sortie
{'type': 'object', 'additionalProperties': True}
Schéma d’entrée
{'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}
Schéma de sortie
{'type': 'object', 'required': ['result'], 'properties': {'result': {'type': 'object', 'additionalProperties': True}}, 'additionalProperties': False}
Schéma d’entrée
{'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}
Schéma de sortie
{'type': 'object', 'required': ['result'], 'properties': {'result': {'type': 'object', 'additionalProperties': True}}, 'additionalProperties': False}
Schéma d’entrée
{'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}
Schéma de sortie
{'type': 'object', 'required': ['result'], 'properties': {'result': {'type': 'object', 'additionalProperties': True}}, 'additionalProperties': False}
Schéma d’entrée
{'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}
Schéma de sortie
{'type': 'object', 'required': ['result'], 'properties': {'result': {'type': 'object', 'additionalProperties': True}}, 'additionalProperties': False}
Schéma d’entrée
{'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}
Schéma de sortie
{'type': 'object', 'required': ['result'], 'properties': {'result': {'type': 'object', 'additionalProperties': True}}, 'additionalProperties': False}
Schéma d’entrée
{'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}
Schéma de sortie
{'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}
Schéma d’entrée
{'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}
Schéma de sortie
{'type': 'object', 'required': ['run'], 'properties': {'run': {'type': 'object'}}, 'additionalProperties': False}
Schéma d’entrée
{'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}
Schéma de sortie
{'type': 'object', 'required': ['result', 'run'], 'properties': {'run': {'type': 'object'}, 'result': {'type': 'object'}}, 'additionalProperties': False}
Schéma d’entrée
{'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}
Schéma de sortie
{'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}
Schéma d’entrée
{'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}
Schéma de sortie
{'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}
Schéma d’entrée
{'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}
Schéma de sortie
{'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}
Schéma d’entrée
{'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}
Schéma de sortie
{'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}
Schéma d’entrée
{'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}
Schéma de sortie
{'type': 'object', 'additionalProperties': True}
Schéma d’entrée
{'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}
Schéma de sortie
{'type': 'object', 'additionalProperties': True}
Schéma d’entrée
{'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}
Schéma de sortie
{'type': 'object', 'additionalProperties': True}
Schéma d’entrée
{'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}
Schéma de sortie
{'type': 'object', 'additionalProperties': True}
Schéma d’entrée
{'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}
Schéma de sortie
{'type': 'object', 'additionalProperties': True}
Modifications récentes des outils
Serveurs MCP similaires
MiOffice — AI-Powered Workspace Studio
Provides browser-based tools for processing PDFs, images, video, and audio, including generation, enhancement, conversion, transc…
Morpha
Enables creating, animating, and exporting layered short-form video projects.
switch
Enables management and exploration of an account-scoped library of AI-generated images and videos.
framesail
Creates long-form YouTube videos through script generation, storyboarding, visual assets, voiceover, music, scene composition, an…
Magnific
Provides image enhancement and design tools, AI image and audio generation, text-to-speech, creation management, and reusable cre…
Uwear
Supports AI fashion photoshoot production with garments, outfits, avatars, locations, art direction, image generation, backdrops,…
Creative Claw
Generates and edits branded images, video, audio, speech, and 3D-related creative assets, with media processing and reusable them…
RegiAI
Generates and edits images, videos, audio, music, speech, subtitles, avatars, and related media asynchronously.