Creative Claw
Was dieses MCP kann
Generates and edits branded images, video, audio, speech, and 3D-related creative assets, with media processing and reusable themes.
Tools
Eingabeschema
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'required': ['video_url'], 'properties': {'language': {'type': 'string', 'description': "ISO-639 language code for transcription (e.g., 'en', 'es', 'fr', 'de', 'ja', 'zh', 'ko'). Send it only when the user specifies the language or the spoken language is reliably known; otherwise omit it. Use 'zh' for Chinese; provider-specific normalization is handled internally. Default: en."}, 'position': {'enum': ['top', 'center', 'bottom'], 'type': 'string', 'description': 'Vertical subtitle position. Defaults to bottom; explicit choices are preserved on every aspect ratio.'}, 'y_offset': {'type': 'integer', 'maximum': 200, 'minimum': -200, 'description': 'Bounded vertical adjustment in pixels. With bottom placement, this is a positive inward margin from the bottom edge (20-200); larger values place captions higher. Center placement accepts -200 to 200. Defaults to a frame-aware safe margin.'}, 'font_name': {'type': 'string', 'description': 'Optional exact Google Fonts family name. Do not set font_name unless the user explicitly requests a specific font; never invent or infer one. When omitted, Creative Claw chooses the matching Noto Sans family for the language. Explicit fonts are checked for language-script coverage before credits are charged and rejected if incompatible.'}, 'font_size': {'type': 'integer', 'maximum': 150, 'minimum': 20, 'description': 'Preferred subtitle size in pixels (20-150). It is kept within a frame-aware safe range; omit it for a large social-caption default.'}, 'video_url': {'type': 'string', 'description': 'URL of the video to add subtitles to'}, 'font_color': {'enum': ['white', 'black', 'red', 'green', 'blue', 'yellow', 'orange', 'purple', 'pink', 'brown', 'gray', 'cyan', 'magenta'], 'type': 'string', 'description': 'Text color for non-active words. Default: white. Omit unless the user requests a color or you have reliable visual context and are confident another supported color will read better over this video.'}, 'font_weight': {'enum': ['normal', 'bold', 'black'], 'type': 'string', 'description': 'Font weight. Default: bold'}, 'stroke_color': {'enum': ['white', 'black', 'red', 'green', 'blue', 'yellow', 'orange', 'purple', 'pink', 'brown', 'gray', 'cyan', 'magenta'], 'type': 'string', 'description': 'Text stroke/outline color. Default: black'}, 'stroke_width': {'type': 'integer', 'maximum': 10, 'minimum': 0, 'description': 'Text stroke/outline width in pixels, 0 for no stroke. Default: 3'}, 'highlight_color': {'enum': ['white', 'black', 'red', 'green', 'blue', 'yellow', 'orange', 'purple', 'pink', 'brown', 'gray', 'cyan', 'magenta'], 'type': 'string', 'description': 'Color for the currently spoken word only, creating the karaoke cue. Default: purple while non-active words remain white. Omit unless the user requests a color or reliable visual context makes a different supported highlight clearly better.'}, 'background_color': {'enum': ['white', 'black', 'red', 'green', 'blue', 'yellow', 'orange', 'purple', 'pink', 'brown', 'gray', 'cyan', 'magenta', 'none', 'transparent'], 'type': 'string', 'description': 'Background color behind subtitle text. Default: none'}, 'enable_animation': {'type': 'boolean', 'description': 'Enable bounce-style entrance animation. Default: false.'}, 'background_opacity': {'type': 'number', 'maximum': 1, 'minimum': 0, 'description': 'Background opacity 0.0 to 1.0'}, 'words_per_subtitle': {'type': 'integer', 'maximum': 12, 'description': 'Preferred max words per subtitle segment. Portrait video uses 3 words per segment, square is capped at 1, and landscape is capped at 3.', 'exclusiveMinimum': 0}}}
Eingabeschema
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'required': ['id'], '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)$', 'description': 'Existing Film project id returned by create_film_project or list_film_projects; never use a placeholder UUID'}, 'mode': {'enum': ['connect', 'cut_end'], 'type': 'string', 'default': 'connect', 'description': 'connect preserves every clip and warns about target overage; cut_end trims the fully assembled output at the target duration.'}, 'video_fit': {'enum': ['auto', 'crop', 'pad', 'strict'], 'type': 'string', 'default': 'crop', 'description': "Fit clips to the first clip's canvas. crop (default) and auto center-crop mismatches; pad preserves the full frame with black bars; strict rejects mismatches. Original shot URLs are preserved. Completed crops are reused on later assemblies when available. Pricing: 2 base credits plus 1 per distinct uncached normalization; one transient crop retry adds no charge."}, 'with_narration': {'type': 'boolean', 'default': True, 'description': "Lay the project's audioUrl narration track over the stitched video, if present."}}}
Eingabeschema
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'required': ['job_id'], 'properties': {'job_id': {'type': 'string', 'description': 'Job ID returned by an async generation or media utility tool'}, 'ui_refresh': {'type': 'boolean', 'description': 'Set to true only for automatic status checks from the media viewer UI.'}}}
Eingabeschema
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'required': ['consent'], 'properties': {'consent': {'type': 'boolean', 'description': "Must be true after the user explicitly agrees to voice cloning and processing by supported voice providers selected through Creative Claw. Wording: I own this recording or have permission to use it, and this is my voice or I have the speaker's explicit permission to clone it and generate speech in this workspace. I authorize Creative Claw and the supported voice providers I select through Creative Claw to process it for this purpose, and accept the voice-cloning terms and privacy notice. Terms: https://creativeclaw.co/terms/#voice-cloning Privacy: https://creativeclaw.co/privacy/#voice-cloning"}, 'language': {'type': 'string', 'default': 'en', 'maxLength': 16, 'minLength': 2, 'description': 'Source recording language code, such as en, es, or he. Used immediately for Cartesia and retained for a future lazy Cartesia copy when ElevenLabs is cloned first.'}, 'provider': {'enum': ['elevenlabs', 'cartesia'], 'type': 'string', 'default': 'elevenlabs', 'description': 'Voice provider. Defaults to elevenlabs for compatibility. Choose cartesia explicitly to create a Cartesia clone; providers are never switched silently.'}, 'audio_url': {'type': 'string', 'format': 'uri', 'description': "A publicly downloadable audio link. Creative Claw copies the original bytes into this workspace's private voice storage before cloning. Private-network targets and non-audio files are rejected. Prefer audio_asset_id when the recording is already privately imported."}, 'character_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)$', 'description': 'Existing Character to receive the cloned voice. Omit to create a reusable voice-only Character automatically.'}, 'audio_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)$', 'description': "Private voice sample asset ID. For a ChatGPT attachment call import_chatgpt_media({ media_file: <attached file>, purpose: 'voice_clone' }); otherwise use import_media({ purpose: 'voice_clone' }) or get_upload_url({ type: 'audio', purpose: 'voice_clone', content_type }) followed by confirm_upload. Public media assets cannot be used."}, 'character_name': {'type': 'string', 'maxLength': 120, 'minLength': 1, 'description': 'Name for an automatically created voice-only Character. Used only when character_id is omitted; defaults to "My Voice".'}}}
Eingabeschema
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'required': ['prompt', 'models'], 'properties': {'seed': {'type': 'number', 'description': 'Seed for reproducibility (shared)'}, 'width': {'type': 'number', 'description': 'Image width in pixels (shared)'}, 'height': {'type': 'number', 'description': 'Image height in pixels (shared)'}, 'models': {'type': 'array', 'items': {'type': 'string'}, 'maxItems': 4, 'minItems': 2, 'description': 'Array of 2-4 model IDs to compare (e.g. ["image/gpt-image-2.5-flare", "image/gpt-image-2.5-sunburst", "image/nano-banana-2"])'}, 'prompt': {'type': 'string', 'description': 'Shared text prompt for all models'}, 'output_format': {'enum': ['jpeg', 'png'], 'type': 'string', 'default': 'jpeg', 'description': 'Output format (shared)'}, 'negative_prompt': {'type': 'string', 'description': 'Elements to exclude (shared)'}}}
Eingabeschema
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'required': ['asset_id'], 'properties': {'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)$', 'description': 'The asset ID returned by get_upload_url'}}}
Eingabeschema
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'required': ['name'], 'properties': {'name': {'type': 'string', 'description': 'Short project title'}, 'brief': {'type': 'string', 'description': "The user's creative brief / what the film is about"}, 'theme_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)$', 'description': 'Brand theme id'}, '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)$'}, 'description': 'Character ids for the cast (from list_characters)'}, 'target_duration_s': {'type': 'integer', 'maximum': 3600, 'minimum': 4, 'description': 'Target total film length in seconds, up to 60 minutes; shot duration is model-dependent'}}}
Eingabeschema
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'required': ['name'], 'properties': {'html': {'type': 'string', 'description': "HTML markup with {{token}} placeholders for parameters. Required when kind='html'. Conditional blocks supported via Mustache syntax: {{#booleanParam}}...{{/booleanParam}} and {{^booleanParam}}...{{/booleanParam}}."}, 'kind': {'enum': ['html', 'generative'], 'type': 'string', 'default': 'html', 'description': "Template kind. 'html' renders HTML/CSS via headless Chromium â\x86\x92 PNG. 'generative' fills a prompt template and calls a generative model."}, 'name': {'type': 'string', 'minLength': 1, 'description': 'Human-readable template name'}, 'sizes': {'type': 'array', 'items': {'type': 'object', 'required': ['name', 'width', 'height'], 'properties': {'name': {'type': 'string', 'pattern': '^[a-zA-Z0-9_-]+$', 'description': "Identifier for this size â\x80\x94 used in render_template's size_names. e.g. 'story', 'square', '16x9'."}, 'label': {'type': 'string', 'description': "Human-readable label, e.g. 'Instagram Story'."}, 'width': {'type': 'integer', 'maximum': 9007199254740991, 'exclusiveMinimum': 0}, 'height': {'type': 'integer', 'maximum': 9007199254740991, 'exclusiveMinimum': 0}, 'bodyClass': {'type': 'string', 'pattern': '^[\\w\\s-]+$', 'description': "CSS class appended to <body> when this size is rendered. Lets the template's <style> use selectors like `body.story .hero { ... }` to vary layout per size."}, 'isDefault': {'type': 'boolean', 'description': 'Mark as the default size used when render_template is called without size_names.'}}}, 'description': "html kind only. Named output sizes the template can be rendered at (e.g. 9:16 story + 1:1 square). The same HTML body is rendered at every size; per-size CSS overrides go through each size's `bodyClass` (selectors like `body.story .subtitle { display: none }`). Exactly one size should set isDefault=true. If omitted, falls back to a single 'default' size derived from width/height."}, 'width': {'type': 'integer', 'maximum': 9007199254740991, 'description': "Default output width in pixels. Required when kind='html' and `sizes` is not provided.", 'exclusiveMinimum': 0}, 'height': {'type': 'integer', 'maximum': 9007199254740991, 'description': "Default output height in pixels. Required when kind='html' and `sizes` is not provided.", 'exclusiveMinimum': 0}, 'prompt': {'type': 'string', 'description': "Generative kind only. Prompt body with {{token}} placeholders. Required when kind='generative'."}, 'media_type': {'enum': ['image', 'video'], 'type': 'string', 'description': "Generative kind only. Output media type. Required when kind='generative'."}, 'parameters': {'type': 'array', 'items': {'type': 'object', 'required': ['name', 'type'], 'properties': {'name': {'type': 'string', 'pattern': '^[a-zA-Z_][a-zA-Z0-9_]*$'}, 'type': {'enum': ['text', 'image_url', 'color', 'number', 'boolean'], 'type': 'string'}, 'default': {'type': 'string'}, 'required': {'type': 'boolean'}, 'description': {'type': 'string'}}}, 'default': [], 'description': "Schema for {{token}} variable inputs. Each parameter has a name that matches a token in the html or prompt body. Types: 'text', 'image_url', 'color', 'number', 'boolean'. Boolean params can also drive Mustache-style conditional blocks: {{#name}}...{{/name}} renders the block when truthy, {{^name}}...{{/name}} when falsy."}, 'description': {'type': 'string', 'description': 'Short description of what this template is for'}, 'model_params': {'type': 'object', 'description': 'Generative kind only. Default model params (size, aspect_ratio, etc.) merged into the model call.', 'propertyNames': {'type': 'string'}, 'additionalProperties': {}}, 'recommended_model': {'type': 'string', 'description': "Generative kind only. Registry model id (e.g. 'image/nano-banana-pro'). Required when kind='generative'."}, '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)$'}, 'description': 'Generative kind only. Asset IDs of reference images used as visual examples / image_urls.'}}}
Eingabeschema
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'required': ['video_url', 'segments'], 'properties': {'fps': {'enum': ['24', '25', '30', '50', '60', 'source'], 'type': 'string', 'default': 'source'}, 'name': {'type': 'string', 'maxLength': 200}, 'tags': {'type': 'array', 'items': {'type': 'string', 'maxLength': 100}, 'maxItems': 30}, 'width': {'type': 'integer', 'default': 1080, 'maximum': 1920, 'minimum': 128, 'description': 'Output width in pixels. Any even value from 128-1920; defaults to 1080 for 9:16.'}, 'height': {'type': 'integer', 'default': 1920, 'maximum': 1920, 'minimum': 128, 'description': 'Output height in pixels. Any even value from 128-1920; defaults to 1920 for 9:16.'}, 'captions': {'type': 'object', 'required': ['words'], 'properties': {'font': {'enum': ['Noto Sans', 'Noto Sans Hebrew', 'Noto Sans Arabic', 'Noto Sans CJK SC', 'Noto Sans CJK JP', 'Noto Sans CJK KR'], 'type': 'string', 'default': 'Noto Sans'}, 'style': {'enum': ['plain', 'karaoke'], 'type': 'string', 'default': 'plain'}, 'words': {'type': 'array', 'items': {'type': 'object', 'required': ['start', 'end', 'text'], 'properties': {'end': {'type': 'number', 'maximum': 14400, 'minimum': 0}, 'text': {'type': 'string', 'maxLength': 100, 'minLength': 1}, 'start': {'type': 'number', 'maximum': 14400, 'minimum': 0}}, 'additionalProperties': False}, 'maxItems': 10000, 'minItems': 1}, 'words_per_caption': {'type': 'integer', 'default': 3, 'maximum': 100, 'minimum': 1, 'description': 'Target words per caption. Values above 7 are normalized to 7.'}}, 'description': 'Optional burned captions. Omit for no new captions. Uses source-timed words, not output timestamps; words that straddle a cut are omitted while the requested video cut is preserved. Original speech is preserved.', 'additionalProperties': False}, 'segments': {'type': 'array', 'items': {'type': 'object', 'required': ['start', 'end'], 'properties': {'end': {'type': 'number', 'maximum': 14400, 'minimum': 0}, 'start': {'type': 'number', 'maximum': 14400, 'minimum': 0}, 'framing': {'type': 'object', 'required': ['mode'], 'properties': {'x': {'type': 'number', 'maximum': 14400, 'minimum': 0, 'description': 'Static crop x coordinate in source pixels; crop mode only.'}, 'y': {'type': 'number', 'maximum': 14400, 'minimum': 0, 'description': 'Static crop y coordinate in source pixels; crop mode only.'}, 'mode': {'enum': ['pad', 'center_crop', 'crop'], 'type': 'string', 'description': 'pad and center_crop take no geometry. Only crop accepts width, height, static x/y, or keyframes.'}, 'width': {'type': 'integer', 'maximum': 9007199254740991, 'description': 'Crop width in source pixels; crop mode only.', 'exclusiveMinimum': 0}, 'height': {'type': 'integer', 'maximum': 9007199254740991, 'description': 'Crop height in source pixels; crop mode only.', 'exclusiveMinimum': 0}, 'keyframes': {'type': 'array', 'items': {'type': 'object', 'required': ['time', 'x', 'y'], 'properties': {'x': {'type': 'number', 'maximum': 14400, 'minimum': 0}, 'y': {'type': 'number', 'maximum': 14400, 'minimum': 0}, 'time': {'type': 'number', 'maximum': 14400, 'minimum': 0}}, 'additionalProperties': False}, 'maxItems': 20, 'minItems': 1, 'description': 'Moving crop path; crop mode only. Do not combine with static x/y.'}}, 'description': 'Framing mode. Use exactly {"mode":"pad"} or {"mode":"center_crop"} for those modes. Crop geometry must match the output aspect ratio.', 'additionalProperties': False}}, 'additionalProperties': False}, 'maxItems': 40, 'minItems': 1, 'description': 'Ordered half-open source ranges in seconds. Non-overlapping, at least 150ms each. Framing uses display-oriented source pixels; keyframe times are segment-relative. No automatic face tracking.'}, 'video_url': {'type': 'string', 'format': 'uri', 'description': 'Existing video asset URL owned by this workspace; import the file first.'}, 'audio_fade_ms': {'type': 'number', 'default': 30, 'maximum': 1000, 'minimum': 0, 'description': 'Boundary fade in milliseconds for discontinuous audio cuts. Defaults to 30. Values above 100 are accepted for client compatibility and normalized to 100.'}, 'normalize_audio': {'type': 'boolean', 'default': False}}}
Eingabeschema
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'required': ['id'], '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)$', 'description': 'The asset ID to delete'}}}
Eingabeschema
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'required': ['id'], '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)$', 'description': 'ID of the character to delete'}}}
Eingabeschema
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'required': ['name'], 'properties': {'name': {'type': 'string', 'description': 'Name of the theme to delete'}}}
Eingabeschema
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'required': ['operation'], 'properties': {'model': {'type': 'string', 'description': 'Model ID to estimate. Omit for html_video renders and video_upscale utilities.'}, 'params': {'type': 'object', 'default': {}, 'description': 'The exact generation parameters being considered, including duration, resolution, image count, text, references, and model-specific extras.', 'propertyNames': {'type': 'string'}, 'additionalProperties': {}}, 'operation': {'enum': ['image', 'video', 'speech', 'audio', 'html_video', 'video_upscale'], 'type': 'string', 'description': 'Generation type to estimate.'}}}
Eingabeschema
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'required': ['video_url', 'mode'], 'properties': {'mode': {'enum': ['single', 'batch'], 'type': 'string', 'description': "Extraction mode. 'single' extracts one frame (first/middle/last) from videos up to 500 MiB. 'batch' extracts every Nth frame from MP4/MOV videos smaller than 100 MB."}, 'quality': {'type': 'integer', 'maximum': 100, 'minimum': 1, 'description': 'Quality for jpg/webp output (for batch mode, 1-100). Default: 95'}, 'position': {'enum': ['first', 'middle', 'last'], 'type': 'string', 'description': 'Which frame to extract (for single mode). Default: middle'}, 'video_url': {'type': 'string', 'description': 'URL of the video to extract frames from'}, 'max_frames': {'type': 'integer', 'maximum': 500, 'minimum': 1, 'description': 'Batch mode only: stop after this many extracted frames (1-500). Every returned frame is uploaded and included in the response, so use a small value when possible. Default: 100'}, 'output_format': {'enum': ['png', 'jpg', 'webp'], 'type': 'string', 'description': 'Image format for extracted frames (for batch mode). Default: png'}, 'frame_interval': {'type': 'integer', 'maximum': 300, 'minimum': 1, 'description': 'Batch mode only: extract every Nth video frame, where N is 1-300 (not a timestamp or number of seconds). For example, 30 extracts about once per second from a 30fps video. Default: 12'}}}
Eingabeschema
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'required': ['prompt'], 'properties': {'seed': {'type': 'number', 'description': 'Seed for reproducible results'}, 'size': {'enum': ['1:1', '4:5', '5:4', '9:16', '16:9'], 'type': 'string', 'description': 'Output aspect ratio. Strongly recommended over width/height â\x80\x94 these are the sizes our supported models render reliably. 1:1 = square (1080x1080), 4:5 = Instagram portrait (1080x1350), 5:4 = landscape (1350x1080), 9:16 = story/reel (1080x1920), 16:9 = wide (1920x1080).'}, 'model': {'type': 'string', 'default': 'image/nano-banana-2', 'description': 'Model ID to use. Default and cost-efficient top pick: image/nano-banana-2. OpenAI routes: image/gpt-image-2.5-flare for speed and image/gpt-image-2.5-sunburst for precision. Other specialists include image/nano-banana-pro and image/seedream-5-pro.'}, 'width': {'type': 'number', 'description': 'Image width in pixels. Prefer the `size` field â\x80\x94 width/height is kept for backwards compatibility.'}, 'extras': {'type': 'object', 'description': 'Additional model-specific parameters. Use get_model_params to discover available extras for a model.', 'propertyNames': {'type': 'string'}, 'additionalProperties': {}}, 'height': {'type': 'number', 'description': 'Image height in pixels. Prefer the `size` field â\x80\x94 width/height is kept for backwards compatibility.'}, 'prompt': {'type': 'string', 'description': 'Text description of the image to generate, or edit instructions when image_url is provided'}, 'strength': {'type': 'number', 'maximum': 1, 'minimum': 0, 'description': 'Transformation strength when editing (0 = no change, 1 = full transformation). Default: 0.75'}, 'image_url': {'type': 'string', 'description': 'Source image URL for editing. Must be public/directly fetchable or a Creative Claw URL. In ChatGPT, call import_chatgpt_media for a file already pasted, attached, or generated in the conversation; call import_media only to open the upload picker.'}, 'num_images': {'type': 'number', 'default': 1, 'maximum': 4, 'minimum': 1, 'description': 'Number of images to generate (1-4)'}, 'character_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)$', 'description': 'Select a saved Character (persona). Its description is woven into the prompt and its reference image is used as a visual anchor (source/reference) so the character stays consistent. Use list_characters to find ids.'}, 'output_format': {'enum': ['jpeg', 'png'], 'type': 'string', 'default': 'jpeg', 'description': 'Output image format'}, 'guidance_scale': {'type': 'number', 'description': 'How closely to follow the prompt (CFG scale)'}, 'agentic_prompting': {'type': 'boolean', 'description': "Optional Creative Claw prompt rewrite. Omit it (default) or set false to preserve the user's wording; set true only when the user wants a model-specific rewrite. Adds ~1-2s latency. Selected Character identity context is appended deterministically either way."}, 'remove_background': {'type': 'boolean', 'default': False, 'description': 'Remove background from generated image(s). Returns a transparent PNG with the background removed.'}, 'num_inference_steps': {'type': 'number', 'description': 'Number of denoising steps (higher = better quality, slower)'}}}
Eingabeschema
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'required': ['prompt'], 'properties': {'model': {'type': 'string', 'const': 'music/elevenlabs-music-v2.5', 'default': 'music/elevenlabs-music-v2.5', 'description': 'Music model. Currently music/elevenlabs-music-v2.5.'}, 'prompt': {'type': 'string', 'maxLength': 4100, 'minLength': 1, 'description': 'Describe the genre, tempo, instruments, mood, structure, mix, ending, and vocal role. Maximum 4,100 characters.'}, 'output_format': {'enum': ['mp3_44100_128', 'mp3_44100_192', 'mp3_48000_192', 'pcm_44100', 'pcm_48000'], 'type': 'string', 'default': 'mp3_48000_192', 'description': 'Audio output format. Supported: mp3_44100_128, mp3_44100_192, mp3_48000_192, pcm_44100, pcm_48000. Default: mp3_48000_192. Unsupported values automatically use the default.'}, 'music_length_ms': {'type': 'integer', 'maximum': 600000, 'minimum': 3000, 'description': 'Track length in milliseconds, from 3,000 to 600,000. Default: 30,000.'}, 'force_instrumental': {'type': 'boolean', 'description': 'Prevent vocals. Default: true. Set false only when vocals are wanted.'}}}
Eingabeschema
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'required': ['prompt'], 'properties': {'loop': {'type': 'boolean', 'description': 'Generate a seamless ambience or texture loop.'}, 'model': {'type': 'string', 'const': 'sfx/elevenlabs-sound-v2', 'default': 'sfx/elevenlabs-sound-v2', 'description': 'Sound-effect model. Currently sfx/elevenlabs-sound-v2.'}, 'prompt': {'type': 'string', 'maxLength': 450, 'minLength': 1, 'description': 'Describe the audible source, action, timing, space, texture, intensity, and ending. Maximum 450 characters.'}, 'output_format': {'enum': ['mp3_44100_128', 'mp3_44100_192', 'pcm_44100', 'pcm_48000'], 'type': 'string', 'default': 'mp3_44100_128', 'description': 'Audio output format. Supported: mp3_44100_128, mp3_44100_192, pcm_44100, pcm_48000. Default: mp3_44100_128. Unsupported values automatically use the default.'}, 'duration_seconds': {'type': 'number', 'maximum': 30, 'minimum': 0.5, 'description': 'Duration from 0.5 to 30 seconds. Omit to let ElevenLabs choose.'}, 'prompt_influence': {'type': 'number', 'maximum': 1, 'minimum': 0, 'description': 'Prompt adherence from 0 to 1. Default: 0.3.'}}}
Eingabeschema
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'required': ['text'], 'properties': {'text': {'type': 'string', 'description': 'Text to convert to speech. Limits vary by model; xAI TTS accepts up to 15,000 characters.'}, 'model': {'type': 'string', 'default': 'speech/elevenlabs-v3', 'description': 'Model ID for text-to-speech. Use speech/elevenlabs-v3 for stock ElevenLabs voices and general speech. Choose speech/elevenlabs-v2 only for an existing cloned Character voice when a steady read is preferred, or when the user explicitly requests v2. Use speech/cartesia-sonic for fast natural stock or Character speech. Omitting model uses v3.'}, 'speed': {'type': 'number', 'maximum': 2, 'minimum': 0.5, 'description': 'Speech rate (0.5-2.0, default 1.0)'}, 'extras': {'type': 'object', 'description': 'Additional model-specific parameters. Use get_model_params to discover available extras for a model.', 'propertyNames': {'type': 'string'}, 'additionalProperties': {}}, 'format': {'type': 'string', 'description': 'Output audio format: "mp3" (default), "pcm", "flac"'}, 'emotion': {'enum': ['happy', 'sad', 'angry', 'fearful', 'disgusted', 'surprised', 'excited', 'content', 'scared', 'calm', 'fluent', 'whisper', 'neutral'], 'type': 'string', 'description': 'Model-specific global emotion. For Cartesia use neutral, angry, excited, content, sad, or scared. ElevenLabs v3 uses inline audio tags instead. Call get_model_params for the selected model.'}, 'voice_id': {'type': 'string', 'description': 'Stock voice ID. This selects an existing voice; it does not design a voice from prose. generate_speech has no voice_description parameter. For ElevenLabs or Cartesia, call get_model_params and select a curated recommendation matching the requested gender, accent, language, and tone, or pass an exact public provider Voice Library ID. Omitting voice_id for ElevenLabs uses Hale, a smooth, confident American male. For a private cloned voice, pass character_id instead. Never combine an unrelated voice_id and character_id.'}, 'audio_url': {'type': 'string', 'format': 'uri', 'description': 'Reference audio for models that explicitly support it, such as Chatterbox English or Chatterbox Multilingual. For Chatterbox Multilingual, also pass extras.custom_audio_language. For recommended ElevenLabs voice cloning, pass the sample to clone_voice first, then use character_id here. This field does not create an ElevenLabs clone.'}, 'force_new': {'type': 'boolean', 'description': 'Bypass the 10-minute same-workspace duplicate guard and submit a new paid speech generation. Set true only when the user explicitly wants another variation from otherwise identical parameters.'}, 'sample_rate': {'type': 'string', 'description': 'Sample rate: "8000", "16000", "22050", "24000", "32000" (default), "44100"'}, 'character_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)$', 'description': "Character ID with a provider-hosted voice attached through clone_voice. The speech model must match the Character's voice provider. Use list_characters to find it; if it has no voice, call clone_voice first."}, 'language_boost': {'type': 'string', 'description': 'Model-specific language hint, such as "Spanish" for MiniMax. Use only when get_model_params exposes it. ElevenLabs v3 uses extras.language_code (for example, "es"); Multilingual v2 detects language from text and does not support language_code. Chatterbox does not expose language_boost.'}}}
Eingabeschema
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'required': ['prompt'], 'properties': {'model': {'type': 'string', 'default': 'video/gemini-omni-flash', 'description': 'Model ID for video generation. Default and top pick: video/gemini-omni-flash. Recommended specialist routes: video/seedance-2.5, video/minimax-h3-max, video/minimax-h3-max-turbo, and Seedance Mini as returned by list_models.'}, 'extras': {'type': 'object', 'description': 'Model-specific options returned under extras by get_model_params. Media fields belong at top level. Legacy media fields here are normalized without reordering; conflicting duplicates or unsupported combinations return corrective errors before charging.', 'propertyNames': {'type': 'string'}, 'additionalProperties': {}}, 'prompt': {'type': 'string', 'description': 'Meaningful video-generation instructions, not a control command or placeholder. Describe at least the visible subject and action, and add camera movement, setting or style, timing, and audio when relevant.'}, 'duration': {'anyOf': [{'type': 'string'}, {'type': 'integer', 'maximum': 9007199254740991, 'minimum': -9007199254740991}], 'description': 'Video duration â\x80\x94 model-dependent. For Seedance 2.5 edits, omit this or use "auto" to preserve the source timeline; Creative Claw sends Pika the required literal "auto" value. Seedance 2.5 reference/image-to-video and extensions use whole seconds from 4 through 30. MiniMax H3 and H3 Max use whole seconds from 5 through 15. Veo: "4s", "6s", "8s". Wan: "5", "10", "15". Use get_model_params for exact current limits.'}, 'force_new': {'type': 'boolean', 'description': 'Bypass the 10-minute same-workspace duplicate guard and submit a new paid generation. Set true only when the user explicitly wants another variation from otherwise identical parameters.'}, 'image_url': {'type': 'string', 'description': 'Literal first-frame image URL only. This selects image-to-video and makes the image frame zero. If an image should instead guide identity, style, character, product, or composition, put it in image_urls, even when there is only one reference image. Do not combine with reference arrays for standard generation; use an explicitly supported keyframe/performance operation for mixed inputs. Must be public/directly fetchable or a Creative Claw URL. In ChatGPT, call import_chatgpt_media for conversation media. Aliases accepted: start_image_url, first_frame_url.'}, 'audio_urls': {'type': 'array', 'items': {'type': 'string'}, 'description': 'Reference audio for reference-to-video. Seedance 2.5 accepts up to 10 clips, each 2â\x80\x9330s and 30s total; Seedance Mini accepts up to 3 clips, each 2â\x80\x9315s and 15s total. H3 Max accepts up to 3 and normalizes Audio 1 syntax automatically for the active provider. Requires at least one reference image or video. For Seedance 2.5 source-video edits, set extras.omni_reference_task_type to edit and preserve the source timeline with duration auto/omitted; for extensions, use extend plus a numeric 4â\x80\x9330s duration.'}, 'image_urls': {'type': 'array', 'items': {'type': 'string'}, 'description': 'Ordered reference images, passed at top level. Use image_urls, including a one-item array, whenever the supplied image is a reference and must not become the literal first frame. Do not combine with image_url or last_frame_url for standard generation. Order defines reference tokens and is never changed. Seedance 2.5 accepts up to 30 and cites @Image1; Seedance Mini accepts up to 9. H3 Max and H3 Max Turbo accept up to 9 and normalize Image 1 syntax for the provider. Call get_model_params for model limits and exceptions.'}, 'resolution': {'enum': ['360p', '480p', '480P', '540p', '720p', '768P', '1080p', '1080P', 'true_1080p', '1440p', '2160p', '2K', '4k'], 'type': 'string', 'description': 'Requested output resolution when supported. Values are model-specific; use get_model_params to discover them. Gemini Omni accepts "360p", "720p", "1080p", or "4k"; MiniMax H3 Max accepts "480P", "768P", or "1080P"; standard H3 accepts "768P" or "2K".'}, 'video_urls': {'type': 'array', 'items': {'type': 'string'}, 'description': "Reference videos for reference-to-video, or one source video for editing. Before editing, compare the source duration with the selected model's uploaded-edit limit. If it is too long, call trim_video for the exact requested time range, wait with check_job, then retry with the completed trimmed URL; do not resend the oversized source. Seedance 2.5 accepts up to 10 clips, each 2â\x80\x9330s and 30s total; Seedance Mini accepts up to 3 clips, each 2â\x80\x9315s and 15s total. H3 Max accepts up to 3 and normalizes Video 1 syntax automatically for the active provider. Other models have their own limits; call get_model_params."}, 'aspect_ratio': {'type': 'string', 'description': 'Aspect ratio (e.g. "16:9", "9:16", "1:1", "4:3")'}, 'character_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)$', 'description': "Select a saved Character (persona). Its description is woven into the prompt and its reference image is used as the start frame (if you don't pass image_url) so the character stays consistent. Use list_characters to find ids."}, 'last_frame_url': {'type': 'string', 'description': 'End frame image URL. Must be public/directly fetchable or returned by import_chatgpt_media/import_media. When provided with image_url, generates a video transitioning from the first frame to the last frame. Supported by Veo 3.1, Kling v3 Pro, MiniMax H3 Max, MiniMax H3, and other compatible models. Alias accepted: end_image_url.'}, 'agentic_prompting': {'type': 'boolean', 'description': "Optional Creative Claw prompt rewrite. Omit it by default to preserve the user's wording while retaining provider-native prompt expansion where supported. Set true only when the user wants a model-specific rewrite. Set false for strict wording and to disable provider-native expansion where supported. Selected Character identity context is appended deterministically either way."}}, 'additionalProperties': {}}
Eingabeschema
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'properties': {'estimate_type': {'enum': ['image', 'video', 'speech', '3d_model', 'video_edit', 'html_video'], 'type': 'string', 'description': 'Operation type for cost estimation'}, 'estimate_model': {'type': 'string', 'description': 'Model ID to estimate. Not required when estimate_type is html_video.'}, 'estimate_params': {'type': 'object', 'description': 'Parameters for cost estimation (e.g. width, height, duration)', 'propertyNames': {'type': 'string'}, 'additionalProperties': {}}}}
Eingabeschema
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'properties': {'product': {'enum': ['1000', '5000', '11000', '27500'], 'type': 'string', 'default': '1000', 'description': 'Credit pack to purchase: "1000" ($10), "5000" ($50), "11000" ($100), or "27500" ($250)'}}}
Eingabeschema
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'required': ['id_or_slug'], 'properties': {'id_or_slug': {'type': 'string', 'minLength': 1, 'description': 'Example UUID or slug returned by search_examples.'}}}
Eingabeschema
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'required': ['id'], '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)$'}, 'ui_refresh': {'type': 'boolean', 'const': True, 'description': 'Internal film-preview auto-refresh marker.'}}}
Eingabeschema
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'required': ['model'], 'properties': {'model': {'type': 'string', 'description': 'Model ID (e.g. "image/nano-banana-2", "video/veo-3.1", "speech/elevenlabs-v3", "sfx/elevenlabs-sound-v2")'}}}
Eingabeschema
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'properties': {'name': {'type': 'string', 'description': 'Theme name. If omitted, returns the default theme.'}}}
Eingabeschema
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'required': ['content_type', 'type'], 'properties': {'name': {'type': 'string', 'description': 'Optional name for the asset'}, 'tags': {'type': 'array', 'items': {'type': 'string'}, 'description': 'Optional tags for the asset'}, 'type': {'enum': ['image', 'video', 'audio', '3d_model', 'font', 'zip', 'project'], 'type': 'string', 'description': 'Asset type. Use zip for an ordinary ZIP asset; project is a render_html_video project ZIP.'}, 'purpose': {'enum': ['media', 'voice_clone'], 'type': 'string', 'description': 'Use voice_clone for private voice samples. Returns an asset ID for clone_voice, never a public audio URL.'}, 'filename': {'type': 'string', 'description': 'Original filename. Used to pick the file extension when the browser reports a generic content_type (e.g. application/octet-stream for woff2).'}, 'description': {'type': 'string', 'description': 'Optional description of the asset'}, 'content_type': {'type': 'string', 'description': 'MIME type of the file to upload (e.g. "video/mp4", "image/png", "font/woff2")'}}}
Eingabeschema
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'properties': {'context': {'type': 'string', 'description': 'Optional context about what the user wants to upload or do with the files'}, 'purpose': {'enum': ['media', 'voice_clone'], 'type': 'string', 'description': 'Use voice_clone to upload a private voice sample. The picker returns audio_asset_id for clone_voice instead of a public URL.'}}}
Eingabeschema
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'required': ['audio_url'], 'properties': {'audio_url': {'type': 'string', 'format': 'uri', 'description': 'Public URL of the audio file to clean. Strips background noise, music, and reverb to leave only the voice. In ChatGPT, call import_chatgpt_media for an audio file already attached or pasted; call import_media only to open the upload picker.'}}}
Eingabeschema
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'properties': {}}
Eingabeschema
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'properties': {}}
Eingabeschema
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'properties': {'query': {'type': 'string', 'description': "Free-text search (e.g. 'flux', 'veo', 'fast', 'cheap')"}, 'category': {'enum': ['image', 'video', 'speech', 'audio'], 'type': 'string', 'description': 'Filter by model category. Omit to show all categories.'}}}
Eingabeschema
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'properties': {'include_html': {'type': 'boolean', 'default': False, 'description': 'If true, each result includes the full template HTML. Off by default to keep responses lean â\x80\x94 templates can be large.'}, 'name_contains': {'type': 'string', 'description': 'Case-insensitive substring filter applied to template name and description. Omit to return all templates.'}}}
Eingabeschema
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'properties': {}}
Eingabeschema
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'required': ['url'], 'properties': {'url': {'type': 'string', 'format': 'uri', 'description': 'URL of the image to load and view'}}}
Eingabeschema
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', '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)$', 'description': 'Character ID. Required to update; omit to create.'}, 'title': {'type': 'string', 'description': 'Character name. Required when creating.'}, 'image_url': {'type': 'string', 'format': 'uri', 'description': 'Reference portrait / character sheet URL â\x80\x94 the visual anchor for generate_image / generate_video.'}, 'description': {'type': 'string', 'description': 'Appearance, personality, role â\x80\x94 baked into prompts at generation time.'}}}
Eingabeschema
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'required': ['action', 'payload'], 'properties': {'action': {'type': 'string', 'maxLength': 64, 'description': 'Supported actions: submit_video_render, set_video_render_mode, get_generation_timing, notify_job, track_ui_event.'}, 'payload': {'type': 'object', 'description': 'Action-specific payload. submit_video_render requires request_id, expected_version, and prompt, and accepts generate_audio when that setting is editable. set_video_render_mode requires mode. get_generation_timing accepts the Chromium HTML render dimensions. notify_job requires job_id.', 'propertyNames': {'type': 'string'}, 'additionalProperties': {}}}}
Eingabeschema
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'required': ['operation'], 'properties': {'audio_url': {'type': 'string', 'description': 'URL of the audio file (for merge_audio_video)'}, 'operation': {'enum': ['merge_audio_video', 'merge_videos', 'merge_audios'], 'type': 'string', 'description': 'The merge operation. merge_audio_video: combine a video with an audio track. merge_videos: concatenate multiple videos. merge_audios: concatenate multiple audio files.'}, 'pad_color': {'enum': ['black', 'white', 'gray'], 'type': 'string', 'default': 'black', 'description': 'Padding color when video_fit is pad. Defaults to black.'}, 'video_fit': {'enum': ['auto', 'crop', 'pad', 'strict'], 'type': 'string', 'default': 'auto', 'description': 'How merge_videos handles aspect-ratio mismatches. auto (default) center-crops to fill the selected canvas; crop explicitly does the same; pad preserves the full frame with letterboxing/pillarboxing; strict rejects mismatches. Videos are never stretched.'}, 'video_url': {'type': 'string', 'description': 'URL of the video file (for merge_audio_video)'}, 'audio_urls': {'type': 'array', 'items': {'type': 'string'}, 'description': 'Audio URLs to concatenate in order (for merge_audios). A single job merges at most 5 inputs. If more are supplied, only the first 5 are submitted; after completion, call merge_media again with the returned merged audio first followed by the remaining URLs.'}, 'target_fps': {'type': 'number', 'maximum': 60, 'minimum': 1, 'description': "Output frame rate for merge_videos, from 1 to 60 FPS. Defaults to the lowest input frame rate, matching fal's behavior."}, 'video_urls': {'type': 'array', 'items': {'type': 'string'}, 'maxItems': 25, 'description': 'Array of video URLs to concatenate in order (for merge_videos), with at most 25 per call. For more, merge the first 25, then merge that result with the remaining videos.'}, 'audio_format': {'enum': ['mp3', 'm4a', 'wav'], 'type': 'string', 'description': 'Output format for merge_audios. When omitted, WAV-only inputs remain WAV, M4A-only inputs remain M4A, and other combinations use MP3.'}, 'start_offset': {'type': 'number', 'minimum': 0, 'description': 'Seconds after the video starts when the replacement audio should begin (for merge_audio_video). Defaults to 0.'}, 'canvas_video_index': {'type': 'integer', 'default': 0, 'maximum': 9007199254740991, 'minimum': 0, 'description': 'Zero-based video index whose width, height, and aspect ratio define the output canvas for merge_videos. Defaults to 0 (the first video).'}}}
Eingabeschema
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'required': ['media_url', 'type'], 'properties': {'type': {'enum': ['image', 'video'], 'type': 'string', 'description': 'Type of media: image or video'}, 'force_new': {'type': 'boolean', 'description': 'Bypass the 10-minute same-workspace duplicate guard. Set true only when the user explicitly wants another paid result from identical input.'}, 'media_url': {'type': 'string', 'description': 'URL of the image or video to remove background from'}, 'output_format': {'enum': ['webm', 'mp4'], 'type': 'string', 'description': 'Output format (video only). webm supports true alpha transparency. mp4 requires a background_color or produces black background. Default: webm'}}}
Eingabeschema
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'required': ['html'], 'properties': {'html': {'type': 'string', 'description': "HTML markup to render. Rendered via headless Chromium â\x80\x94 full CSS surface is available (flexbox, grid, filter, mask-image, transform, <style> blocks, class selectors, pseudo-elements, variable fonts). Write HTML the way you would for a real browser. Use <img src='{{token}}'> for any image passed via inline_images."}, 'name': {'type': 'string', 'description': 'Optional asset name for the resulting image'}, 'tags': {'type': 'array', 'items': {'type': 'string'}, 'description': 'Optional tags to attach to the saved asset'}, 'width': {'type': 'integer', 'default': 1200, 'maximum': 9007199254740991, 'description': 'Output width in pixels', 'exclusiveMinimum': 0}, 'height': {'type': 'integer', 'default': 630, 'maximum': 9007199254740991, 'description': 'Output height in pixels', 'exclusiveMinimum': 0}, 'inline_images': {'type': 'array', 'items': {'type': 'object', 'required': ['token', 'url'], 'properties': {'url': {'type': 'string'}, 'token': {'type': 'string'}}}, 'description': 'Images to embed. Each {token, url} pair: {{token}} in the HTML is substituted with the raw URL, and Chromium fetches the image directly at render time. URLs must be publicly reachable.'}}}
Eingabeschema
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'properties': {'fps': {'type': 'integer', 'default': 30, 'maximum': 9007199254740991, 'description': 'Frames per second â\x80\x94 24 (cinematic), 30 (standard), or 60 (smooth). Default: 30', 'exclusiveMinimum': 0}, 'html': {'type': 'string', 'minLength': 1, 'description': 'HTML composition to render as a video. Rendered via HyperFrames + headless Chromium on Modal. Supports GSAP animations, CSS transitions/keyframes, and Tailwind CSS utility classes. Supply one complete HTML document with a fixed-size root declaring data-composition-id, data-width, data-height and data-duration matching the requested output. Use data-start/data-duration for clips and register a paused GSAP timeline as window.__timelines[compositionId]. For canvas/WebGL, redraw from an absolute-time property setter tween (ease: none, lazy: false), not an onUpdate callback. Alternatively supply project_url for any publicly downloadable project ZIP, or project_asset_id for a private workspace ZIP. For sound, add an <audio id="..." src="https://..." data-start="0" data-duration="..."> element. Audio src must be an absolute HTTP(S) URL; inline data/blob URLs and relative paths are unsupported.'}, 'name': {'type': 'string', 'description': 'Optional asset name for the saved video'}, 'tags': {'type': 'array', 'items': {'type': 'string'}, 'description': 'Optional tags to attach to the saved asset'}, 'width': {'type': 'integer', 'default': 1920, 'maximum': 7680, 'minimum': 2, 'description': 'Output width in pixels (even number, 2â\x80\x937680)'}, 'format': {'enum': ['mp4', 'webm', 'mov'], 'type': 'string', 'default': 'mp4', 'description': 'Output video format: mp4 (default), webm, or mov'}, 'height': {'type': 'integer', 'default': 1080, 'maximum': 7680, 'minimum': 2, 'description': 'Output height in pixels (even number, 2â\x80\x937680)'}, 'duration': {'type': 'number', 'default': 5, 'maximum': 300, 'description': 'Video duration in seconds (maximum: 300; default: 5)', 'exclusiveMinimum': 0}, 'project_url': {'type': 'string', 'format': 'uri', 'description': 'Publicly downloadable HTTPS URL for a HyperFrames project ZIP. Use this directly for ZIP URLs returned by get_example. The URL may be hosted on any public domain and may include temporary query parameters.'}, 'project_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)$', 'description': 'Workspace ZIP asset ID, instead of html. Both zip and project asset types are accepted; project is recommended for dedicated render projects. package.json auto-detects npm; a build script must produce dist/index.html, otherwise use index.html.'}}}
Eingabeschema
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'required': ['renders'], 'properties': {'name': {'type': 'string', 'description': 'Optional asset name prefix for the rendered outputs. With multiple variants, each asset is suffixed with its index.'}, 'tags': {'type': 'array', 'items': {'type': 'string'}, 'description': 'Optional tags to attach to every saved asset'}, 'renders': {'type': 'array', 'items': {'type': 'object', 'properties': {'modifications': {'type': 'object', 'default': {}, 'description': 'Values to substitute into the template for this variant. Keys must match parameter names defined at create_template time.', 'propertyNames': {'type': 'string'}, 'additionalProperties': {'anyOf': [{'type': 'string'}, {'type': 'number'}]}}}}, 'maxItems': 4, 'minItems': 1, 'description': 'Variants to render in one call (1..4). Each entry is the per-variant params (modifications). All variants share the same template and output settings. Example: 3 versions of a card with different headlines â\x86\x92 3 entries with different modifications.'}, 'size_names': {'type': 'array', 'items': {'type': 'string'}, 'description': 'Which named sizes to render at. Omit to render only the default size. Pass ["all"] to render every configured size. Pass specific names (e.g. ["story", "square"]) to render a subset. Each (variant Ã\x97 size) is charged independently.'}, 'template_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)$', 'description': 'Template ID returned by create_template. Provide either this or template_name.'}, 'template_name': {'type': 'string', 'description': 'Template name to look up (case-insensitive). Use list_templates to discover names. Provide either this or template_id.'}, 'width_override': {'type': 'integer', 'maximum': 9007199254740991, 'description': "Override the template's stored width (single-size renders only). Applies to all variants.", 'exclusiveMinimum': 0}, 'height_override': {'type': 'integer', 'maximum': 9007199254740991, 'description': "Override the template's stored height (single-size renders only). Applies to all variants.", 'exclusiveMinimum': 0}}}
Eingabeschema
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'required': ['video_url'], 'properties': {'mode': {'enum': ['stretch', 'pad', 'crop'], 'type': 'string', 'description': 'Scaling mode. stretch=distort to fit, pad=letterbox with color, crop=center-crop. Default: stretch'}, 'width': {'type': 'integer', 'maximum': 7680, 'minimum': 2, 'description': 'Target width in pixels (2-7680). Auto-calculates height if only width provided'}, 'height': {'type': 'integer', 'maximum': 4320, 'minimum': 2, 'description': 'Target height in pixels (2-4320). Auto-calculates width if only height provided'}, 'pad_color': {'enum': ['black', 'white', 'red', 'green', 'blue', 'gray'], 'type': 'string', 'description': "Padding color when mode is 'pad'. Default: black"}, 'video_url': {'type': 'string', 'description': 'URL of the video to scale'}}}
Eingabeschema
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'properties': {'name': {'type': 'string', 'description': 'Filter by exact asset name'}, 'tags': {'type': 'array', 'items': {'type': 'string'}, 'description': 'Filter by tags (returns assets matching ANY of the given tags)'}, 'type': {'enum': ['image', 'video', 'audio', '3d_model', 'document', 'zip'], 'type': 'string', 'description': 'Filter by media type'}, 'limit': {'type': 'number', 'default': 20, 'maximum': 100, 'minimum': 1, 'description': 'Maximum number of results to return (default 20, max 100)'}, 'query': {'type': 'string', 'description': 'Search string to match against the description, asset name, or generation prompt'}, 'offset': {'type': 'number', 'default': 0, 'minimum': 0, 'description': 'Number of results to skip for pagination'}, 'source': {'enum': ['generated', 'uploaded', 'imported'], 'type': 'string', 'description': 'Filter by asset source'}}}
Eingabeschema
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'properties': {'tags': {'type': 'array', 'items': {'type': 'string'}, 'maxItems': 10, 'description': 'Optional tags that every result must contain.'}, 'limit': {'type': 'integer', 'default': 30, 'maximum': 50, 'minimum': 1, 'description': 'Results per page.'}, 'query': {'type': 'string', 'description': 'What the user wants to make, including subject, style, mood, or use case.'}, 'cursor': {'type': 'string', 'description': 'Opaque cursor from a previous result page.'}, 'model_id': {'type': 'string', 'description': 'Optional exact Creative Claw model ID. Omit when the user has not chosen a model.'}, 'output_type': {'enum': ['image', 'video', 'audio'], 'type': 'string', 'description': 'Optional output filter. Omit to search every media type.'}, 'render_type': {'enum': ['html_video'], 'type': 'string', 'description': 'Find executable HyperFrames HTML-video examples, either single HTML or a ZIP project. Output remains video.'}}}
Eingabeschema
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'required': ['message', 'category', 'source'], 'properties': {'source': {'enum': ['agent', 'user'], 'type': 'string', 'description': 'Who the feedback comes from. "agent" = YOU noticed friction while working (a missing tool, a confusing error, output that needed rework). "user" = you are relaying the user\'s own words â\x80\x94 quote them.'}, 'message': {'type': 'string', 'minLength': 1, 'description': 'Specific feedback: what worked well, broke, was missing, or was confusing.'}, 'category': {'enum': ['bug', 'missing_feature', 'confusing', 'praise', 'other'], 'type': 'string', 'description': "bug = something errored or produced wrong output; missing_feature = a capability the user wanted that doesn't exist; confusing = a tool/flow was hard to use or its output was unclear; praise = positive feedback worth recording; other = anything else."}, 'toolName': {'type': 'string', 'description': 'The tool involved, if any (e.g. "generate_video", "render_template").'}, 'relatedIds': {'type': 'array', 'items': {'type': 'string'}, 'description': 'Related job or asset IDs, if known. Saved as supplied, even if invalid.'}, 'attemptedTask': {'type': 'string', 'description': 'What the user was trying to accomplish.'}}}
Eingabeschema
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'properties': {'audio_url': {'type': 'string', 'format': 'uri', 'description': 'Public URL of the audio file to transcribe. Supported formats: mp3, ogg, wav, m4a, aac. Pass exactly one of audio_url or video_url. Audio is preferred when you have it â\x80\x94 much smaller payloads, faster jobs, cheaper.'}, 'video_url': {'type': 'string', 'format': 'uri', 'description': 'Public URL of a video file or public video-hosting URL. Direct Scribe supports hosted audio/video, YouTube, TikTok, Instagram, and other video-hosting URLs when the provider can fetch them. Pass exactly one of audio_url or video_url.'}, 'language_code': {'type': 'string', 'description': 'ISO-639 language code (e.g. "en", "he", "es"). Locale tags such as "en-GB" are accepted and normalized to their base language. Omit to auto-detect.'}}}
Eingabeschema
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'properties': {'duration': {'type': 'number', 'description': 'Duration in seconds from start_time. Ignored if end_time is provided. Default: 2'}, 'end_time': {'type': 'number', 'description': 'End time in seconds. If supplied, it takes precedence over duration'}, 'audio_url': {'type': 'string', 'description': 'Public URL of the audio to trim. Pass exactly one of audio_url or video_url. Audio trimming runs asynchronously; use check_job with the returned job ID.'}, 'video_url': {'type': 'string', 'description': 'Public URL of the video to trim. Pass exactly one of video_url or audio_url. Existing video trimming behavior and output remain unchanged.'}, 'start_time': {'type': 'number', 'description': 'Start time in seconds. Default: 1'}, 'audio_format': {'enum': ['mp3', 'm4a', 'wav'], 'type': 'string', 'description': 'Audio output format when audio_url is supplied. Default: mp3'}}}
Eingabeschema
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'required': ['id'], '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)$', 'description': 'The asset ID to update'}, 'name': {'type': 'string', 'description': 'Set a unique name for this asset. Must be unique across your assets. Use null to clear the name.'}, 'tags': {'type': 'array', 'items': {'type': 'string'}, 'description': 'Set tags for this asset (replaces existing tags). Pass an empty array to clear tags.'}, 'clear_name': {'type': 'boolean', 'default': False, 'description': "Set to true to remove the asset's name"}, 'description': {'type': 'string', 'description': 'Set or update the asset description'}}}
Eingabeschema
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'required': ['id'], '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'}, 'brief': {'type': 'string'}, 'shots': {'type': 'array', 'items': {'type': 'object', 'required': ['id', 'description'], 'properties': {'id': {'type': 'string', 'minLength': 1, 'description': 'Stable shot id, for example "s1"'}, 'model': {'type': 'string', 'description': 'Video model id selected for this shot'}, 'prompt': {'type': 'string', 'description': 'Approved motion prompt for the video model'}, 'status': {'enum': ['pending', 'storyboard', 'clip', 'done', 'error'], 'type': 'string'}, 'clipUrl': {'type': 'string', 'format': 'uri', 'description': 'Approved rendered clip URL'}, 'audioUrl': {'type': 'string', 'format': 'uri', 'description': 'Approved per-shot narration or dialogue URL'}, 'durationS': {'type': 'number', 'description': 'Shot duration supported by its model', 'exclusiveMinimum': 0}, 'narration': {'type': 'string', 'description': 'Voiceover or dialogue text for this shot'}, 'description': {'type': 'string', 'minLength': 1, 'description': 'What happens in this shot'}, 'storyboardUrl': {'type': 'string', 'format': 'uri', 'description': 'Approved clean storyboard image URL'}}, 'additionalProperties': False}, 'description': 'Full validated shot list; replaces the existing list.'}, 'status': {'enum': ['drafting', 'script_ok', 'storyboard_ok', 'rendering', 'preview_ok', 'final'], 'type': 'string'}, 'logline': {'type': 'string'}, 'theme_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)$'}, 'audio_url': {'type': 'string', 'format': 'uri', 'description': 'Full narration track URL'}, 'patch_shots': {'type': 'array', 'items': {'type': 'object', 'required': ['id'], 'properties': {'id': {'type': 'string', 'minLength': 1}, 'model': {'type': 'string', 'description': 'Video model id selected for this shot'}, 'prompt': {'type': 'string', 'description': 'Approved motion prompt for the video model'}, 'status': {'enum': ['pending', 'storyboard', 'clip', 'done', 'error'], 'type': 'string'}, 'clipUrl': {'type': 'string', 'format': 'uri', 'description': 'Approved rendered clip URL'}, 'audioUrl': {'type': 'string', 'format': 'uri', 'description': 'Approved per-shot narration or dialogue URL'}, 'durationS': {'type': 'number', 'description': 'Shot duration supported by its model', 'exclusiveMinimum': 0}, 'narration': {'type': 'string', 'description': 'Voiceover or dialogue text for this shot'}, 'description': {'type': 'string', 'minLength': 1, 'description': 'What happens in this shot'}, 'storyboardUrl': {'type': 'string', 'format': 'uri', 'description': 'Approved clean storyboard image URL'}}, 'additionalProperties': False}, 'description': 'Validated partial shot updates merged by stable id.'}, 'assembled_url': {'type': 'string', 'format': 'uri', 'description': 'Final stitched film URL'}, '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)$'}}, 'target_duration_s': {'type': 'integer', 'maximum': 3600, 'minimum': 4}}}
Eingabeschema
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'properties': {'html': {'type': 'string', 'description': 'html kind only. Replacement HTML markup.'}, 'name': {'type': 'string', 'minLength': 1, 'description': 'New name (unique per user, case-insensitive)'}, 'sizes': {'type': 'array', 'items': {'type': 'object', 'required': ['name', 'width', 'height'], 'properties': {'name': {'type': 'string', 'pattern': '^[a-zA-Z0-9_-]+$'}, 'label': {'type': 'string'}, 'width': {'type': 'integer', 'maximum': 9007199254740991, 'exclusiveMinimum': 0}, 'height': {'type': 'integer', 'maximum': 9007199254740991, 'exclusiveMinimum': 0}, 'bodyClass': {'type': 'string', 'pattern': '^[\\w\\s-]+$'}, 'isDefault': {'type': 'boolean'}}}, 'description': 'html kind only. Replacement named sizes list. Pass [] to clear and fall back to width/height.'}, 'width': {'type': 'integer', 'maximum': 9007199254740991, 'description': 'html kind only. New width.', 'exclusiveMinimum': 0}, 'height': {'type': 'integer', 'maximum': 9007199254740991, 'description': 'html kind only. New height.', 'exclusiveMinimum': 0}, 'prompt': {'type': 'string', 'description': 'Generative kind only. Replacement prompt body.'}, 'parameters': {'type': 'array', 'items': {'type': 'object', 'required': ['name', 'type'], 'properties': {'name': {'type': 'string', 'pattern': '^[a-zA-Z_][a-zA-Z0-9_]*$'}, 'type': {'enum': ['text', 'image_url', 'color', 'number', 'boolean'], 'type': 'string'}, 'default': {'type': 'string'}, 'required': {'type': 'boolean'}, 'description': {'type': 'string'}}}, 'description': 'Replacement parameter list'}, 'description': {'type': 'string', 'description': 'New description'}, 'template_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)$', 'description': 'Template ID. Provide either this or template_name.'}, 'model_params': {'type': 'object', 'description': 'Generative kind only. Replacement model_params object.', 'propertyNames': {'type': 'string'}, 'additionalProperties': {}}, 'template_name': {'type': 'string', 'description': 'Template name to look up (case-insensitive). Provide either this or template_id.'}, 'recommended_model': {'type': 'string', 'description': 'Generative kind only. New registry model id.'}, '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)$'}, 'description': 'Generative kind only. Replacement reference asset id list.'}}}
Eingabeschema
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'properties': {'data': {'type': 'object', 'description': 'Theme data â\x80\x94 colors, fonts, logos, etc. Merged with existing data by default. Pass only when updating data; pass only `images` to update brand reference images.', 'propertyNames': {'type': 'string'}, 'additionalProperties': {}}, 'name': {'type': 'string', 'description': "Theme name. Creates the theme if it doesn't exist. Optional only when interactive=true (the user picks/creates a theme inside the editor)."}, 'images': {'type': 'array', 'items': {'type': 'string', 'format': 'uri'}, 'description': "Brand reference images for this theme â\x80\x94 passed to image/video models as visual references. Replaces the entire images array when provided. The first image is automatically saved as the theme's thumbnail."}, 'override': {'type': 'boolean', 'default': False, 'description': 'If true, replaces the entire theme data. If false (default), shallow-merges with existing data â\x80\x94 top-level keys are replaced, missing keys are preserved. Only applies to `data`; `images` is always replaced.'}, 'interactive': {'type': 'boolean', 'description': "When true, open the visual theme editor (fonts, colors, logos, reference image) in the chat instead of mutating directly. The user fills in the form and clicks save; the editor calls update_theme again with interactive=false to persist. Use this whenever the user says 'edit my theme', 'create a theme', 'help me set up a brand', etc."}, 'set_default': {'type': 'boolean', 'default': False, 'description': 'If true, makes this theme the default.'}}}
Eingabeschema
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'required': ['url', 'content_type'], 'properties': {'url': {'type': 'string', 'format': 'uri', 'description': 'Direct URL of a publicly accessible image, video, audio, 3D-model, or ZIP file to import and store permanently. Webpage and JSON API URLs are rejected.'}, 'name': {'type': 'string', 'description': 'Optional unique name for the asset'}, 'tags': {'type': 'array', 'items': {'type': 'string'}, 'description': 'Optional tags for the asset'}, 'type': {'enum': ['image', 'video', 'audio', '3d_model', 'zip'], 'type': 'string', 'description': 'Asset type. Optional when content_type clearly identifies an image, video, audio file, 3D model, or ZIP archive.'}, 'description': {'type': 'string', 'description': 'Optional description of the asset'}, 'content_type': {'type': 'string', 'description': 'MIME type of the file (e.g. "image/png", "video/mp4", "audio/mp3")'}}}
Eingabeschema
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'required': ['media_url', 'type'], 'properties': {'seed': {'type': 'number', 'description': 'Seed for reproducibility (image, clarity model only)'}, 'type': {'enum': ['image', 'video'], 'type': 'string', 'description': 'Type of media: image or video'}, 'prompt': {'type': 'string', 'description': 'Guide the upscaling (image, clarity model only). Describes desired output quality.'}, 'media_url': {'type': 'string', 'description': 'URL of the image or video to upscale'}, 'creativity': {'type': 'number', 'maximum': 1, 'minimum': 0, 'description': 'Creativity level 0-1 (image, clarity model only). Higher = more hallucinated detail. Default: 0'}, 'target_fps': {'enum': ['30', '60'], 'type': 'string', 'description': 'Target FPS (video, bytedance model only). Default: 30'}, 'resemblance': {'type': 'number', 'maximum': 1, 'minimum': 0, 'description': 'Resemblance to original 0-1 (image, clarity model only). Higher = closer to input. Default: 1'}, 'upscale_model': {'type': 'string', 'description': 'Upscaler model. For images: aura (cheapest/fastest, 4x fixed), clarity (best quality, 1-4x, prompt-guided), recraft (crisp/simple). For videos: realesrgan (cheapest, 1-8x), bytedance (higher quality with resolution presets). Defaults: aura for images, realesrgan for videos.'}, 'upscale_scale': {'type': 'integer', 'maximum': 8, 'minimum': 1, 'description': 'Scale factor 1-8x (video, realesrgan model only). Default: 2'}, 'upscale_factor': {'type': 'number', 'maximum': 4, 'minimum': 1, 'description': 'Upscale factor 1-4x (image, clarity model only). Aura is fixed at 4x. Default: 2'}, 'target_resolution': {'enum': ['1080p', '2k', '4k'], 'type': 'string', 'description': 'Target resolution (video, bytedance model only). Default: 1080p'}, 'enhancement_preset': {'enum': ['general', 'ugc', 'short_series', 'aigc', 'old_film'], 'type': 'string', 'description': 'Enhancement preset (video, bytedance model only). Default: general'}}}
Letzte Tool-Änderungen
Ähnliche MCP-Server
MiOffice — AI-Powered Workspace Studio
Provides browser-based tools for processing PDFs, images, video, and audio, including generation, enhancement, conversion, transc…
BlitzReels Video Editor
Creates and edits short-form videos, including timelines, captions, transitions, AI-generated visuals, music, voiceovers, sound e…
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,…
RegiAI
Generates and edits images, videos, audio, music, speech, subtitles, avatars, and related media asynchronously.