此 MCP 可以做什么
Creates long-form YouTube videos through script generation, storyboarding, visual assets, voiceover, music, scene composition, and MP4 export.
工具
输入模式
{'type': 'object', 'title': 'activate_script_versionArguments', 'required': ['script_id'], 'properties': {'script_id': {'type': 'string', 'title': 'Script Id', 'description': "ID of the script version to activate, from get_script's version list"}}}
输入模式
{'type': 'object', 'title': 'add_music_trackArguments', 'required': ['project_id', 'library_track_id'], 'properties': {'loop': {'type': 'boolean', 'title': 'Loop', 'default': True, 'description': 'True loops the track under the whole video; false plays it once'}, 'name': {'type': 'string', 'title': 'Name', 'default': 'Music', 'description': "Display name for the track on the project's timeline"}, 'volume': {'type': 'number', 'title': 'Volume', 'default': 0.12, 'description': "Playback volume 0-1; the 0.12 default sits at bed level under narration â\x80\x94 don't raise it unless asked"}, 'project_id': {'type': 'string', 'title': 'Project Id', 'description': 'Project ID, as returned by create_project or list_projects'}, 'start_frame': {'type': 'integer', 'title': 'Start Frame', 'default': 0, 'description': 'Timeline frame at which the track starts (0 = start of the video)'}, 'library_track_id': {'type': 'string', 'title': 'Library Track Id', 'description': 'Audio library track ID, from browse_audio_library(category="music")'}}}
输入模式
{'type': 'object', 'title': 'add_segment_sfxArguments', 'required': ['project_id', 'segment_number', 'library_track_id'], 'properties': {'project_id': {'type': 'string', 'title': 'Project Id', 'description': 'Project ID, as returned by create_project or list_projects'}, 'segment_number': {'type': 'integer', 'title': 'Segment Number', 'description': '1-based segment number, as reported by get_segments'}, 'library_track_id': {'type': 'string', 'title': 'Library Track Id', 'description': 'Audio library track ID, from browse_audio_library(category="sfx")'}}}
输入模式
{'type': 'object', 'title': 'analyze_styleArguments', 'required': ['style_id'], 'properties': {'style_id': {'type': 'string', 'title': 'Style Id', 'description': 'ID of the style to re-analyze, from create_style or list_styles'}}}
输入模式
{'type': 'object', 'title': 'animate_segmentArguments', 'required': ['project_id', 'segment_number'], 'properties': {'voice': {'type': 'boolean', 'title': 'Voice', 'default': False, 'description': 'True lip-syncs the on-frame speaker to the voiceover (lip-sync model family â\x80\x94 bills the exact segment length, so long segments cost proportionally more); False is an ordinary prompt-driven clip. Always explicit, never inferred.'}, 'project_id': {'type': 'string', 'title': 'Project Id', 'description': 'Project ID, as returned by create_project or list_projects'}, 'segment_number': {'type': 'integer', 'title': 'Segment Number', 'description': '1-based segment number, as reported by get_segments'}}}
输入模式
{'type': 'object', 'title': 'await_jobsArguments', 'properties': {'style_id': {'type': 'string', 'title': 'Style Id', 'default': '', 'description': 'Style ID whose analysis/template jobs to wait for; pass exactly one of project_id or style_id'}, 'project_id': {'type': 'string', 'title': 'Project Id', 'default': '', 'description': 'Project ID whose jobs to wait for; pass exactly one of project_id or style_id'}, 'timeout_seconds': {'type': 'integer', 'title': 'Timeout Seconds', 'default': 50, 'description': "Max seconds to block server-side before returning done=false; keep <= 50 so the client doesn't time out the tool call"}}}
输入模式
{'type': 'object', 'title': 'browse_audio_libraryArguments', 'properties': {'mood': {'type': 'string', 'title': 'Mood', 'default': '', 'description': "Filter by the track's mood tag; empty for no filter"}, 'genre': {'type': 'string', 'title': 'Genre', 'default': '', 'description': "Filter by the track's genre tag; empty for no filter"}, 'search': {'type': 'string', 'title': 'Search', 'default': '', 'description': 'Free-text search over track names/descriptions; empty for no filter'}, 'category': {'type': 'string', 'title': 'Category', 'default': '', 'description': 'Track kind: "music" (background tracks) or "sfx" (sound effects); empty returns both'}}}
输入模式
{'type': 'object', 'title': 'build_scenesArguments', 'required': ['project_id'], 'properties': {'project_id': {'type': 'string', 'title': 'Project Id', 'description': 'Project ID, as returned by create_project or list_projects'}}}
输入模式
{'type': 'object', 'title': 'change_segment_typeArguments', 'required': ['project_id', 'segment_number', 'segment_type'], 'properties': {'dry_run': {'type': 'boolean', 'title': 'Dry Run', 'default': False, 'description': 'True previews the consequences (assets kept / staled / recreated / deleted, rendered assets lost) without changing anything'}, 'project_id': {'type': 'string', 'title': 'Project Id', 'description': 'Project ID, as returned by create_project or list_projects'}, 'carry_frame': {'type': 'boolean', 'title': 'Carry Frame', 'default': False, 'description': "True reuses the already-rendered frame as the new type's starting visual instead of recreating it from scratch"}, 'media_source': {'type': 'string', 'title': 'Media Source', 'default': '', 'description': '"" keeps the segment\'s current source; "real" makes the visual fetched stock footage / a real photo (b-roll) instead of a generated one; "generated" switches back'}, 'segment_type': {'type': 'string', 'title': 'Segment Type', 'description': 'New visual type: "image", "video" (fetched b-roll only â\x80\x94 requires media_source "real"), or "overlay_scene"'}, 'segment_number': {'type': 'integer', 'title': 'Segment Number', 'description': '1-based segment number, as reported by get_segments'}}}
输入模式
{'type': 'object', 'title': 'combine_segmentsArguments', 'required': ['project_id', 'segment_number', 'with_segment_number'], 'properties': {'keep': {'type': 'string', 'title': 'Keep', 'default': 'this', 'description': 'Whose creative data survives the merge: "this" (segment_number) or "other" (with_segment_number)'}, 'dry_run': {'type': 'boolean', 'title': 'Dry Run', 'default': False, 'description': 'True previews the consequences without changing anything'}, 'project_id': {'type': 'string', 'title': 'Project Id', 'description': 'Project ID, as returned by create_project or list_projects'}, 'segment_number': {'type': 'integer', 'title': 'Segment Number', 'description': '1-based segment number, as reported by get_segments'}, 'with_segment_number': {'type': 'integer', 'title': 'With Segment Number', 'description': '1-based number of the adjacent segment to merge with (must neighbor segment_number)'}}}
输入模式
{'type': 'object', 'title': 'create_assetArguments', 'required': ['project_id', 'asset_type', 'name'], 'properties': {'name': {'type': 'string', 'title': 'Name', 'description': "Asset name as the script refers to it (e.g. the character's name)"}, 'asset_type': {'type': 'string', 'title': 'Asset Type', 'description': 'Kind of asset: "character", "environment", or "object"'}, 'project_id': {'type': 'string', 'title': 'Project Id', 'description': 'Project ID, as returned by create_project or list_projects'}, 'description': {'type': 'string', 'title': 'Description', 'default': '', 'description': "Generation-facing spec of the asset's look; every shot renders from it, so be specific"}}}
输入模式
{'type': 'object', 'title': 'create_channelArguments', 'required': ['name'], 'properties': {'name': {'type': 'string', 'title': 'Name', 'description': 'Display name for the new channel'}, 'description': {'type': 'string', 'title': 'Description', 'default': '', 'description': "Optional free-text description of the channel's content focus"}}}
输入模式
{'type': 'object', 'title': 'create_projectArguments', 'required': ['channel_id', 'title'], 'properties': {'title': {'type': 'string', 'title': 'Title', 'description': 'Project title shown in the app'}, 'channel_id': {'type': 'string', 'title': 'Channel Id', 'description': 'ID of the channel to create the project in, from list_channels or create_channel'}, 'description': {'type': 'string', 'title': 'Description', 'default': '', 'description': 'The video concept/topic; seeds script generation, so make it specific and meaningful'}, 'video_format': {'enum': ['landscape', 'portrait'], 'type': 'string', 'title': 'Video Format', 'default': 'landscape', 'description': "Output frame shape: 'landscape' (16:9, the default â\x80\x94 YouTube and long-form) or 'portrait' (9:16 â\x80\x94 Shorts, Reels, TikTok). Fixed once the storyboard is generated, so pick it up front."}}}
输入模式
{'type': 'object', 'title': 'create_styleArguments', 'required': ['channel_id', 'name'], 'properties': {'name': {'type': 'string', 'title': 'Name', 'description': 'Display name for the style'}, 'inputs': {'anyOf': [{'type': 'array', 'items': {'type': 'object', 'additionalProperties': True}}, {'type': 'null'}], 'title': 'Inputs', 'default': None, 'description': 'Reference material to analyze, [{"input_type": "youtube" | "text", "value": "<url or description>"}]; a youtube value can be a video link or a channel link/@handle (resolved to that channel\'s newest usable upload). Triggers an async analysis job. Mutually exclusive with presets'}, 'presets': {'anyOf': [{'type': 'object', 'additionalProperties': True}, {'type': 'null'}], 'title': 'Presets', 'default': None, 'description': 'Preset IDs per axis, {"art_style": id, "narrative_style": id, "director_style": id}, from list_style_presets; instant, no analysis. Mutually exclusive with inputs'}, 'channel_id': {'type': 'string', 'title': 'Channel Id', 'description': 'ID of the channel to create the style in, from list_channels'}}}
输入模式
{'type': 'object', 'title': 'delete_assetArguments', 'required': ['asset_id'], 'properties': {'asset_id': {'type': 'string', 'title': 'Asset Id', 'description': 'ID of the asset to delete, from list_assets'}}}
输入模式
{'type': 'object', 'title': 'delete_projectArguments', 'required': ['project_id'], 'properties': {'project_id': {'type': 'string', 'title': 'Project Id', 'description': 'ID of the project to permanently delete, from list_projects'}}}
输入模式
{'type': 'object', 'title': 'delete_styleArguments', 'required': ['style_id'], 'properties': {'style_id': {'type': 'string', 'title': 'Style Id', 'description': 'ID of the style to delete, from list_styles'}}}
输入模式
{'type': 'object', 'title': 'director_noteArguments', 'required': ['message'], 'properties': {'message': {'type': 'string', 'title': 'Message', 'description': 'Natural-language edit note for this scene, e.g. "move the caption to the top" or "calmer motion"'}, 'scene_id': {'anyOf': [{'type': 'string'}, {'type': 'null'}], 'title': 'Scene Id', 'default': None, 'description': 'ID of the scene to edit, from a FRESH list_scenes call â\x80\x94 scene ids change whenever segments are edited (split/combine/update-content), so never reuse ids saved earlier; prefer project_id + segment_number'}, 'project_id': {'anyOf': [{'type': 'string'}, {'type': 'null'}], 'title': 'Project Id', 'default': None, 'description': 'Project ID; required (with segment_number) when not passing scene_id'}, 'segment_number': {'anyOf': [{'type': 'integer'}, {'type': 'null'}], 'title': 'Segment Number', 'default': None, 'description': '1-based segment number of the scene to edit (from list_scenes or get_segments) â\x80\x94 preferred over scene_id because it is resolved to the current scene at call time'}, 'conversation_history': {'anyOf': [{'type': 'array', 'items': {'type': 'object', 'additionalProperties': True}}, {'type': 'null'}], 'title': 'Conversation History', 'default': None, 'description': 'Prior chat turns as [{"role": ..., "content": ...}] to continue an editing conversation on this scene; omit to start fresh'}}}
输入模式
{'type': 'object', 'title': 'export_videoArguments', 'required': ['project_id'], 'properties': {'project_id': {'type': 'string', 'title': 'Project Id', 'description': 'Project ID, as returned by create_project or list_projects'}}}
输入模式
{'type': 'object', 'title': 'generate_asset_referenceArguments', 'required': ['asset_id'], 'properties': {'model': {'type': 'string', 'title': 'Model', 'default': '', 'description': "Image model ID; empty uses the asset's saved drawer choice, else the account default, else the server default"}, 'asset_id': {'type': 'string', 'title': 'Asset Id', 'description': 'ID of the asset to render a reference image for, from list_assets'}, 'settings': {'anyOf': [{'type': 'object', 'additionalProperties': True}, {'type': 'null'}], 'title': 'Settings', 'default': None, 'description': "Model-specific settings (e.g. image quality/orientation); valid keys come from the model's settings_schema in list_models"}, 'editable_sections': {'anyOf': [{'type': 'object', 'additionalProperties': True}, {'type': 'null'}], 'title': 'Editable Sections', 'default': None, 'description': 'Per-call prompt section overrides, keyed by section name; see get_section_template for the reference-image job'}}}
输入模式
{'type': 'object', 'title': 'generate_scriptArguments', 'required': ['project_id'], 'properties': {'model': {'type': 'string', 'title': 'Model', 'default': '', 'description': 'Model ID to generate with; empty uses the default (see list_models("script"))'}, 'settings': {'anyOf': [{'type': 'object', 'additionalProperties': True}, {'type': 'null'}], 'title': 'Settings', 'default': None, 'description': 'Model-specific settings; valid keys come from the model\'s settings_schema in list_models("script")'}, 'project_id': {'type': 'string', 'title': 'Project Id', 'description': 'Project ID, as returned by create_project or list_projects'}, 'editable_sections': {'anyOf': [{'type': 'object', 'additionalProperties': True}, {'type': 'null'}], 'title': 'Editable Sections', 'default': None, 'description': 'Per-call prompt section overrides, keyed by section name; see get_section_template("script") for the sections this job exposes'}}}
输入模式
{'type': 'object', 'title': 'generate_segmentsArguments', 'required': ['project_id'], 'properties': {'dry_run': {'type': 'boolean', 'title': 'Dry Run', 'default': False, 'description': 'True returns the credit-cost estimate without rendering anything; ALWAYS run true first and get user approval before the real run'}, 'project_id': {'type': 'string', 'title': 'Project Id', 'description': 'Project ID, as returned by create_project or list_projects'}, 'asset_scope': {'type': 'string', 'title': 'Asset Scope', 'default': '', 'description': '"" renders everything actionable; "no_clips" is the cheap base pass (images, overlays, fetched b-roll â\x80\x94 no generated video clips); "clips_only" renders just the generated clips'}, 'segment_numbers': {'anyOf': [{'type': 'array', 'items': {'type': 'integer'}}, {'type': 'null'}], 'title': 'Segment Numbers', 'default': None, 'description': '1-based segment numbers (from get_segments) to render only a subset; omit to render every actionable asset in the project'}}}
输入模式
{'type': 'object', 'title': 'generate_storyboardArguments', 'required': ['project_id'], 'properties': {'model': {'type': 'string', 'title': 'Model', 'default': '', 'description': 'Model ID to plan with; empty uses the default (see list_models("storyboard"))'}, 'settings': {'anyOf': [{'type': 'object', 'additionalProperties': True}, {'type': 'null'}], 'title': 'Settings', 'default': None, 'description': 'Model-specific settings; valid keys come from the model\'s settings_schema in list_models("storyboard")'}, 'project_id': {'type': 'string', 'title': 'Project Id', 'description': 'Project ID, as returned by create_project or list_projects'}, 'editable_sections': {'anyOf': [{'type': 'object', 'additionalProperties': True}, {'type': 'null'}], 'title': 'Editable Sections', 'default': None, 'description': 'Per-call prompt section overrides, keyed by section name; see get_section_template("storyboard")'}}}
输入模式
{'type': 'object', 'title': 'generate_style_templateArguments', 'required': ['style_id', 'template_type'], 'properties': {'model': {'type': 'string', 'title': 'Model', 'default': '', 'description': "Image model ID; empty uses the template job's default (see list_models)"}, 'replace': {'type': 'boolean', 'title': 'Replace', 'default': False, 'description': 'Set True ONLY to deliberately overwrite an existing template of this type â\x80\x94 the user must have asked for a new one. Leave False and the call refuses rather than clobbering a template the style already has'}, 'style_id': {'type': 'string', 'title': 'Style Id', 'description': 'Style ID, as returned by create_style or list_styles'}, 'template_type': {'type': 'string', 'title': 'Template Type', 'description': 'Which of the style\'s two template images to render: "character" or "environment" â\x80\x94 run once for each'}, 'editable_sections': {'anyOf': [{'type': 'object', 'additionalProperties': True}, {'type': 'null'}], 'title': 'Editable Sections', 'default': None, 'description': 'Per-call prompt section overrides, keyed by section name; see get_section_template for the template job'}}}
输入模式
{'type': 'object', 'title': 'generate_voiceoverArguments', 'required': ['project_id'], 'properties': {'model': {'type': 'string', 'title': 'Model', 'default': '', 'description': 'TTS model ID; empty uses the default for the project\'s TTS provider. If set, it must belong to that provider â\x80\x94 see list_models("voice_block") for each model\'s provider'}, 'settings': {'anyOf': [{'type': 'object', 'additionalProperties': True}, {'type': 'null'}], 'title': 'Settings', 'default': None, 'description': 'Model-specific TTS settings applied to every selected block; valid keys come from the model\'s settings_schema in list_models("voice_block")'}, 'project_id': {'type': 'string', 'title': 'Project Id', 'description': 'Project ID, as returned by create_project or list_projects'}, 'voice_block_ids': {'anyOf': [{'type': 'array', 'items': {'type': 'string'}}, {'type': 'null'}], 'title': 'Voice Block Ids', 'default': None, 'description': 'Block IDs (from list_voice_blocks) to explicitly REgenerate; omit to fill gaps â\x80\x94 only blocks with no audio yet run'}, 'editable_sections': {'anyOf': [{'type': 'object', 'additionalProperties': True}, {'type': 'null'}], 'title': 'Editable Sections', 'default': None, 'description': 'Per-call prompt section overrides applied to every selected block; see get_section_template("voice_block")'}}}
输入模式
{'type': 'object', 'title': 'get_credit_balanceArguments', 'properties': {}}
输入模式
{'type': 'object', 'title': 'get_pipeline_progressArguments', 'required': ['project_id'], 'properties': {'project_id': {'type': 'string', 'title': 'Project Id', 'description': 'Project ID, as returned by create_project or list_projects'}}}
输入模式
{'type': 'object', 'title': 'get_projectArguments', 'required': ['project_id'], 'properties': {'project_id': {'type': 'string', 'title': 'Project Id', 'description': 'Project ID, as returned by create_project or list_projects'}}}
输入模式
{'type': 'object', 'title': 'get_scriptArguments', 'required': ['project_id'], 'properties': {'project_id': {'type': 'string', 'title': 'Project Id', 'description': 'Project ID, as returned by create_project or list_projects'}}}
输入模式
{'type': 'object', 'title': 'get_section_templateArguments', 'required': ['job'], 'properties': {'job': {'type': 'string', 'title': 'Job', 'description': 'Generation job name, e.g. "script", "script_scan", "storyboard", "segment_image", "segment_video", "voice_block"'}}}
输入模式
{'type': 'object', 'title': 'get_segment_assetsArguments', 'required': ['project_id', 'segment_number'], 'properties': {'project_id': {'type': 'string', 'title': 'Project Id', 'description': 'Project ID, as returned by create_project or list_projects'}, 'segment_number': {'type': 'integer', 'title': 'Segment Number', 'description': '1-based segment number, as reported by get_segments'}}}
输入模式
{'type': 'object', 'title': 'get_segmentsArguments', 'required': ['project_id'], 'properties': {'limit': {'type': 'integer', 'title': 'Limit', 'default': 0, 'description': 'Maximum segments to return; 0 returns all. Long-form projects can hold 100+ segments â\x80\x94 page with offset/limit instead of pulling everything at once.'}, 'offset': {'type': 'integer', 'title': 'Offset', 'default': 0, 'description': '0-based index of the first segment to return (pagination)'}, 'project_id': {'type': 'string', 'title': 'Project Id', 'description': 'Project ID, as returned by create_project or list_projects'}}}
输入模式
{'type': 'object', 'title': 'get_styleArguments', 'required': ['style_id'], 'properties': {'style_id': {'type': 'string', 'title': 'Style Id', 'description': 'Style ID, as returned by create_style or list_styles'}}}
输入模式
{'type': 'object', 'title': 'get_video_urlArguments', 'required': ['project_id'], 'properties': {'project_id': {'type': 'string', 'title': 'Project Id', 'description': 'Project ID, as returned by create_project or list_projects'}}}
输入模式
{'type': 'object', 'title': 'get_workflow_statusArguments', 'properties': {'style_id': {'type': 'string', 'title': 'Style Id', 'default': '', 'description': 'Style ID to scope jobs to (style analysis); pass exactly one of project_id or style_id'}, 'project_id': {'type': 'string', 'title': 'Project Id', 'default': '', 'description': 'Project ID to scope jobs to; pass exactly one of project_id or style_id'}}}
输入模式
{'type': 'object', 'title': 'list_assetsArguments', 'required': ['project_id'], 'properties': {'asset_type': {'type': 'string', 'title': 'Asset Type', 'default': '', 'description': 'Optional filter: "character", "environment", or "object"; empty lists all asset types'}, 'project_id': {'type': 'string', 'title': 'Project Id', 'description': 'Project ID, as returned by create_project or list_projects'}}}
输入模式
{'type': 'object', 'title': 'list_channelsArguments', 'properties': {}}
输入模式
{'type': 'object', 'title': 'list_modelsArguments', 'required': ['job'], 'properties': {'job': {'type': 'string', 'title': 'Job', 'description': 'Generation job whose allowed models to list, e.g. "script", "storyboard", "segment_image", "segment_video", "voice_block"'}, 'lip_sync': {'anyOf': [{'type': 'boolean'}, {'type': 'null'}], 'title': 'Lip Sync', 'default': None, 'description': "segment_video only: whether the shot is lip-synced to the narration (the asset's config.lip_sync). Video models split on it, so pass it to get that family's list and the account default for it."}, 'provider': {'anyOf': [{'type': 'string'}, {'type': 'null'}], 'title': 'Provider', 'default': None, 'description': 'voice_block only: the project\'s voice_tts_provider ("minimax" or "elevenlabs"). Voice models split by provider, so pass it to get that family\'s list and the account default for it.'}}}
输入模式
{'type': 'object', 'title': 'list_music_tracksArguments', 'required': ['project_id'], 'properties': {'project_id': {'type': 'string', 'title': 'Project Id', 'description': 'Project ID, as returned by create_project or list_projects'}}}
输入模式
{'type': 'object', 'title': 'list_projectsArguments', 'required': ['channel_id'], 'properties': {'channel_id': {'type': 'string', 'title': 'Channel Id', 'description': 'ID of the channel whose projects to list, from list_channels or create_channel'}}}
输入模式
{'type': 'object', 'title': 'list_provider_keysArguments', 'properties': {}}
输入模式
{'type': 'object', 'title': 'list_scenesArguments', 'required': ['project_id'], 'properties': {'limit': {'type': 'integer', 'title': 'Limit', 'default': 0, 'description': 'Maximum scenes to return; 0 returns all'}, 'offset': {'type': 'integer', 'title': 'Offset', 'default': 0, 'description': '0-based index of the first scene to return (pagination)'}, 'project_id': {'type': 'string', 'title': 'Project Id', 'description': 'Project ID, as returned by create_project or list_projects'}, 'include_composition': {'type': 'boolean', 'title': 'Include Composition', 'default': False, 'description': "Include each scene's full composition JSON (layers, layout) â\x80\x94 kilobytes per scene, so page with offset/limit when True; the default summary rows are enough for ids and director notes"}}}
输入模式
{'type': 'object', 'title': 'list_style_presetsArguments', 'properties': {}}
输入模式
{'type': 'object', 'title': 'list_stylesArguments', 'required': ['channel_id'], 'properties': {'channel_id': {'type': 'string', 'title': 'Channel Id', 'description': 'ID of the channel that owns the styles, from list_channels'}}}
输入模式
{'type': 'object', 'title': 'list_voice_blocksArguments', 'required': ['project_id'], 'properties': {'project_id': {'type': 'string', 'title': 'Project Id', 'description': 'Project ID, as returned by create_project or list_projects'}, 'include_subtitle_data': {'type': 'boolean', 'title': 'Include Subtitle Data', 'default': False, 'description': 'Include each block\'s word-level subtitle timings â\x80\x94 bulky and rarely needed; omitted by default (subtitle_data reports "omitted" when present but stripped)'}}}
输入模式
{'type': 'object', 'title': 'list_voicesArguments', 'properties': {'group': {'type': 'string', 'title': 'Group', 'default': '', 'description': 'Return only this catalogue group (case-insensitive; e.g. "Narration", "Characters"). Empty returns every group â\x80\x94 the ElevenLabs catalogue is 150+ voices, so filter it by group; the response\'s `groups` lists the valid names with counts.'}, 'provider': {'type': 'string', 'title': 'Provider', 'default': 'minimax', 'description': 'TTS engine to list voices for: "minimax" (default engine) or "elevenlabs"; match the project\'s voice_tts_provider'}}}
输入模式
{'type': 'object', 'title': 'project_director_noteArguments', 'required': ['project_id', 'message'], 'properties': {'message': {'type': 'string', 'title': 'Message', 'description': 'Project-wide director note in natural language, e.g. "make the intro punchier" or "all captions bigger"'}, 'project_id': {'type': 'string', 'title': 'Project Id', 'description': 'Project ID, as returned by create_project or list_projects'}}}
输入模式
{'type': 'object', 'title': 'regenerate_segment_assetArguments', 'required': ['project_id', 'segment_number', 'asset_type'], 'properties': {'model': {'type': 'string', 'title': 'Model', 'default': '', 'description': 'Model ID to render with; empty uses the job\'s default (see list_models("segment_image") / list_models("segment_video"))'}, 'settings': {'anyOf': [{'type': 'object', 'additionalProperties': True}, {'type': 'null'}], 'title': 'Settings', 'default': None, 'description': "Model-specific settings (e.g. image quality, video duration); valid keys come from the model's settings_schema in list_models"}, 'asset_type': {'type': 'string', 'title': 'Asset Type', 'description': '"image" or "video"; for a video segment, "image" targets its start frame'}, 'project_id': {'type': 'string', 'title': 'Project Id', 'description': 'Project ID, as returned by create_project or list_projects'}, 'segment_number': {'type': 'integer', 'title': 'Segment Number', 'description': '1-based segment number, as reported by get_segments'}, 'editable_sections': {'anyOf': [{'type': 'object', 'additionalProperties': True}, {'type': 'null'}], 'title': 'Editable Sections', 'default': None, 'description': 'Per-call prompt section overrides, keyed by section name; see get_section_template("segment_image") or ("segment_video")'}}}
输入模式
{'type': 'object', 'title': 'remove_music_trackArguments', 'required': ['track_id'], 'properties': {'track_id': {'type': 'string', 'title': 'Track Id', 'description': 'ID of the music track to remove, from list_music_tracks'}}}
输入模式
{'type': 'object', 'title': 'remove_segment_assetArguments', 'required': ['project_id', 'segment_number'], 'properties': {'asset_id': {'type': 'string', 'title': 'Asset Id', 'default': '', 'description': 'ID of the SFX or overlay asset, from get_segment_assets; needed only when the segment has more than one of them'}, 'project_id': {'type': 'string', 'title': 'Project Id', 'description': 'Project ID, as returned by create_project or list_projects'}, 'segment_number': {'type': 'integer', 'title': 'Segment Number', 'description': '1-based segment number, as reported by get_segments'}}}
输入模式
{'type': 'object', 'title': 'rescan_voice_blocksArguments', 'required': ['project_id'], 'properties': {'project_id': {'type': 'string', 'title': 'Project Id', 'description': 'Project ID, as returned by create_project or list_projects'}}}
输入模式
{'type': 'object', 'title': 'revise_scriptArguments', 'required': ['project_id', 'instruction'], 'properties': {'project_id': {'type': 'string', 'title': 'Project Id', 'description': 'Project ID, as returned by create_project or list_projects'}, 'instruction': {'type': 'string', 'title': 'Instruction', 'description': 'Natural-language edit instruction, e.g. "make the intro punchier"'}, 'selected_text': {'type': 'string', 'title': 'Selected Text', 'default': '', 'description': 'Exact passage to rewrite; must appear verbatim in the active script. Omit to revise the whole script'}}}
输入模式
{'type': 'object', 'title': 'rollback_segment_assetArguments', 'required': ['project_id', 'segment_number', 'asset_type'], 'properties': {'index': {'type': 'integer', 'title': 'Index', 'default': 0, 'description': "Which archived render to restore, 0 = the most recent (each asset's config.history in get_segment_assets lists them)"}, 'asset_type': {'type': 'string', 'title': 'Asset Type', 'description': '"image" or "video" â\x80\x94 which primary to restore; for a video segment, "image" targets its start frame'}, 'project_id': {'type': 'string', 'title': 'Project Id', 'description': 'Project ID, as returned by create_project or list_projects'}, 'segment_number': {'type': 'integer', 'title': 'Segment Number', 'description': '1-based segment number, as reported by get_segments'}}}
输入模式
{'type': 'object', 'title': 'save_scriptArguments', 'required': ['project_id', 'content'], 'properties': {'content': {'type': 'string', 'title': 'Content', 'description': 'Full script text to save as a new version; plain prose narration, optionally with `[SCENE: ...]` direction paragraphs, `<break time="0.5s" />` pauses, and `Name:` speaker prefixes'}, 'project_id': {'type': 'string', 'title': 'Project Id', 'description': 'Project ID, as returned by create_project or list_projects'}}}
输入模式
{'type': 'object', 'title': 'scan_scriptArguments', 'required': ['project_id'], 'properties': {'model': {'type': 'string', 'title': 'Model', 'default': '', 'description': 'Model ID to scan with; empty uses the default (see list_models("script_scan"))'}, 'project_id': {'type': 'string', 'title': 'Project Id', 'description': 'Project ID, as returned by create_project or list_projects'}, 'editable_sections': {'anyOf': [{'type': 'object', 'additionalProperties': True}, {'type': 'null'}], 'title': 'Editable Sections', 'default': None, 'description': 'Per-call prompt section overrides, keyed by section name; see get_section_template("script_scan")'}}}
输入模式
{'type': 'object', 'title': 'set_character_voiceArguments', 'required': ['asset_id', 'voice_id'], 'properties': {'asset_id': {'type': 'string', 'title': 'Asset Id', 'description': 'Character asset ID, from list_assets'}, 'voice_id': {'type': 'string', 'title': 'Voice Id', 'description': "TTS voice ID, from list_voices (use the provider matching the project's voice_tts_provider)"}}}
输入模式
{'type': 'object', 'title': 'set_narrator_voiceArguments', 'required': ['project_id', 'voice_id'], 'properties': {'voice_id': {'type': 'string', 'title': 'Voice Id', 'description': "TTS voice ID for the narrator, from list_voices (use the provider matching the project's voice_tts_provider)"}, 'project_id': {'type': 'string', 'title': 'Project Id', 'description': 'Project ID, as returned by create_project or list_projects'}}}
输入模式
{'type': 'object', 'title': 'set_project_styleArguments', 'required': ['project_id', 'style_id'], 'properties': {'style_id': {'type': 'string', 'title': 'Style Id', 'description': "ID of the style to make the project's default, from create_style or list_styles"}, 'project_id': {'type': 'string', 'title': 'Project Id', 'description': 'Project ID, as returned by create_project or list_projects'}}}
输入模式
{'type': 'object', 'title': 'set_provider_keyArguments', 'required': ['provider', 'key'], 'properties': {'key': {'type': 'string', 'title': 'Key', 'description': 'The provider API key to register; stored encrypted at rest'}, 'provider': {'type': 'string', 'title': 'Provider', 'description': 'Provider the key belongs to: "openai", "gemini", "anthropic", "fal", "elevenlabs", or "minimax"'}}}
输入模式
{'type': 'object', 'title': 'set_segment_continuationArguments', 'required': ['project_id', 'segment_number'], 'properties': {'project_id': {'type': 'string', 'title': 'Project Id', 'description': 'Project ID, as returned by create_project or list_projects'}, 'continues_from': {'type': 'integer', 'title': 'Continues From', 'default': 0, 'description': '1-based number of the EARLIER segment whose frame this one continues; pass 0 to clear the link'}, 'segment_number': {'type': 'integer', 'title': 'Segment Number', 'description': '1-based number of the segment whose image should continue an earlier frame, as reported by get_segments'}}}
输入模式
{'type': 'object', 'title': 'split_segmentArguments', 'required': ['project_id', 'segment_number', 'offsets_ms'], 'properties': {'dry_run': {'type': 'boolean', 'title': 'Dry Run', 'default': False, 'description': 'True previews the consequences without changing anything'}, 'offsets_ms': {'type': 'array', 'items': {'type': 'integer'}, 'title': 'Offsets Ms', 'description': 'Cut points as millisecond offsets from the segment start, ascending; 1-3 cuts producing 2-4 parts'}, 'project_id': {'type': 'string', 'title': 'Project Id', 'description': 'Project ID, as returned by create_project or list_projects'}, 'inherit_index': {'type': 'integer', 'title': 'Inherit Index', 'default': 0, 'description': '0-based index of the resulting part that keeps the original creative data (default: the first part)'}, 'segment_number': {'type': 'integer', 'title': 'Segment Number', 'description': '1-based number of the segment to split, as reported by get_segments'}}}
输入模式
{'type': 'object', 'title': 'update_assetArguments', 'required': ['asset_id'], 'properties': {'name': {'type': 'string', 'title': 'Name', 'default': '', 'description': 'New asset name; empty leaves the name unchanged'}, 'asset_id': {'type': 'string', 'title': 'Asset Id', 'description': 'Asset ID, as returned by list_assets or create_asset'}, 'description': {'type': 'string', 'title': 'Description', 'default': '', 'description': 'New generation-facing look description; empty leaves it unchanged'}}}
输入模式
{'type': 'object', 'title': 'update_caption_configArguments', 'required': ['project_id', 'caption_config'], 'properties': {'project_id': {'type': 'string', 'title': 'Project Id', 'description': 'Project ID, as returned by create_project or list_projects'}, 'caption_config': {'type': 'object', 'title': 'Caption Config', 'description': "Partial caption config to merge (keys like enabled, plus styling); read the current value from get_project's caption_config", 'additionalProperties': True}}}
输入模式
{'type': 'object', 'title': 'update_music_trackArguments', 'required': ['track_id', 'fields'], 'properties': {'fields': {'type': 'object', 'title': 'Fields', 'description': 'Partial dict of track fields to patch; allowed keys: name, volume (0-1), loop, start_frame, duration_frames, position, trim_start_frame, trim_end_frame', 'additionalProperties': True}, 'track_id': {'type': 'string', 'title': 'Track Id', 'description': 'Music track ID, from list_music_tracks or add_music_track'}}}
输入模式
{'type': 'object', 'title': 'update_projectArguments', 'required': ['project_id', 'fields'], 'properties': {'fields': {'type': 'object', 'title': 'Fields', 'description': "Partial dict of fields to patch; allowed keys: title, description, sfx_level ('none'|'minimal'|'frequent'), video_concept, voice_mix ('narrator_only'|'narrator_led'|'balanced'|'character_led'), voice_tts_provider ('minimax'|'elevenlabs'), script_target_minutes, narrator_speed, video_format", 'additionalProperties': True}, 'project_id': {'type': 'string', 'title': 'Project Id', 'description': 'Project ID, as returned by create_project or list_projects'}}}
输入模式
{'type': 'object', 'title': 'update_segment_contentArguments', 'required': ['project_id', 'segment_number', 'user_input'], 'properties': {'dry_run': {'type': 'boolean', 'title': 'Dry Run', 'default': False, 'description': 'True previews the consequences (assets recreated, rendered assets lost) without changing anything'}, 'project_id': {'type': 'string', 'title': 'Project Id', 'description': 'Project ID, as returned by create_project or list_projects'}, 'user_input': {'type': 'string', 'title': 'User Input', 'description': 'Natural-language feedback describing the change to this shot, e.g. "make this a close-up" or "show the machine from above"'}, 'segment_number': {'type': 'integer', 'title': 'Segment Number', 'description': '1-based segment number, as reported by get_segments'}}}
输入模式
{'type': 'object', 'title': 'update_segment_promptsArguments', 'required': ['project_id', 'segment_number'], 'properties': {'project_id': {'type': 'string', 'title': 'Project Id', 'description': 'Project ID, as returned by create_project or list_projects'}, 'image_prompt': {'type': 'string', 'title': 'Image Prompt', 'default': '', 'description': 'New scene-image prompt (image segments; also the retrieval-miss fallback on real-photo segments). Empty leaves it unchanged.'}, 'video_prompt': {'type': 'string', 'title': 'Video Prompt', 'default': '', 'description': 'New motion/video prompt (video segments; also the retrieval-miss fallback on real b-roll). Empty leaves it unchanged.'}, 'media_queries': {'anyOf': [{'type': 'array', 'items': {'type': 'string'}}, {'type': 'null'}], 'title': 'Media Queries', 'default': None, 'description': 'New stock-search queries for a fetched-media segment (real b-roll / real photo). Replaces the search text verbatim; re-fetch an already-fetched clip with regenerate_segment_asset. Omit to leave the search unchanged.'}, 'segment_number': {'type': 'integer', 'title': 'Segment Number', 'description': '1-based segment number, as reported by get_segments'}, 'start_frame_prompt': {'type': 'string', 'title': 'Start Frame Prompt', 'default': '', 'description': 'New start-frame prompt (generated video segments). Empty leaves it unchanged.'}}}
输入模式
{'type': 'object', 'title': 'update_style_fieldsArguments', 'required': ['style_id', 'fields'], 'properties': {'fields': {'type': 'object', 'title': 'Fields', 'description': 'Sparse patch of style fields, shaped {key: {"value": str, "applies_to": [...]}} â\x80\x94 send ONLY the keys you are changing; unlisted keys keep their current value', 'additionalProperties': True}, 'style_id': {'type': 'string', 'title': 'Style Id', 'description': 'Style ID, as returned by create_style or list_styles'}}}
输入模式
{'type': 'object', 'title': 'update_style_referencesArguments', 'required': ['style_id', 'inputs'], 'properties': {'inputs': {'type': 'array', 'items': {'type': 'object', 'additionalProperties': True}, 'title': 'Inputs', 'description': 'The COMPLETE reference list the style should have after this call, in display order: [{"input_type": "youtube" | "text" | "image" | "video", "value": "<url or text>", "contributes_to": ["art_style", ...]?}]. Include every existing entry you are keeping (copy them from get_style verbatim â\x80\x94 public URL values are fine); anything left out is removed'}, 'style_id': {'type': 'string', 'title': 'Style Id', 'description': 'Style ID, as returned by create_style or list_styles'}}}
输入模式
{'type': 'object', 'title': 'update_voice_blockArguments', 'required': ['voice_block_id'], 'properties': {'volume': {'anyOf': [{'type': 'number'}, {'type': 'null'}], 'title': 'Volume', 'default': None, 'description': 'Playback volume for this block, 0-1; omit to leave unchanged'}, 'voice_id': {'type': 'string', 'title': 'Voice Id', 'default': '', 'description': 'New TTS voice ID for this block, from list_voices; empty leaves the voice unchanged'}, 'voice_block_id': {'type': 'string', 'title': 'Voice Block Id', 'description': 'Voice block ID, from list_voice_blocks'}}}
输入模式
{'type': 'object', 'title': 'view_imageArguments', 'required': ['url'], 'properties': {'url': {'type': 'string', 'title': 'Url', 'description': 'Public Framesail media URL to fetch â\x80\x94 a public_url from get_segment_assets, a file_path from list_assets, or a template/preset image URL from get_style / list_style_presets; other hosts are rejected'}}}
输入模式
{'type': 'object', 'title': 'whoamiArguments', 'properties': {}}
近期工具变更
类似的 MCP 服务器
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.
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.