此 MCP 可以做什么
Creates and manages AI-generated microdrama projects, scripts, characters, locations, shot assets, video clips, music, and continuity references.
工具
输入模式
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'required': ['shot_id', 'asset_id'], 'properties': {'shot_id': {'type': 'string', 'description': 'Shot id (episode_shots row) to attach the reference to.'}, 'asset_id': {'type': 'string', 'description': 'Id of an existing image asset in this project.'}, 'guidance': {'type': 'string', 'maxLength': 1000, 'description': 'How the video model should use this reference, e.g. which positions or props to match and what to ignore. Saved on the reference and sent with every later generation of the shot.'}}, 'additionalProperties': False}
输入模式
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'required': ['character_id', 'idempotency_key'], 'properties': {'user_notes': {'type': 'string', 'description': 'Extra direction for the image.'}, 'character_id': {'type': 'string', 'description': 'Character id.'}, 'idempotency_key': {'type': 'string', 'pattern': '^[A-Za-z0-9._:-]+$', 'maxLength': 200, 'minLength': 8, 'description': 'Stable key identifying this generation request. Reuse the SAME key when retrying the same request â\x80\x94 the original job is returned and no second charge is made. Use a NEW key when you deliberately want another generation.'}, 'character_look_id': {'type': 'string', 'description': 'Specific look; defaults to the base look.'}, 'reference_image_asset_ids': {'type': 'array', 'items': {'type': 'string'}, 'description': 'Existing asset ids to use as references.'}}, 'additionalProperties': False}
输入模式
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'required': ['episode_id', 'idempotency_key'], 'properties': {'episode_id': {'type': 'string', 'description': 'Episode id.'}, 'idempotency_key': {'type': 'string', 'pattern': '^[A-Za-z0-9._:-]+$', 'maxLength': 200, 'minLength': 8, 'description': 'Stable key identifying this generation request. Reuse the SAME key when retrying the same request â\x80\x94 the original job is returned and no second charge is made. Use a NEW key when you deliberately want another generation.'}}, 'additionalProperties': False}
输入模式
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'required': ['location_id', 'idempotency_key'], 'properties': {'user_notes': {'type': 'string'}, 'location_id': {'type': 'string', 'description': 'Location id.'}, 'idempotency_key': {'type': 'string', 'pattern': '^[A-Za-z0-9._:-]+$', 'maxLength': 200, 'minLength': 8, 'description': 'Stable key identifying this generation request. Reuse the SAME key when retrying the same request â\x80\x94 the original job is returned and no second charge is made. Use a NEW key when you deliberately want another generation.'}, 'reference_image_asset_ids': {'type': 'array', 'items': {'type': 'string'}}}, 'additionalProperties': False}
输入模式
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'required': ['story_idea', 'episode_length_seconds', 'idempotency_key'], 'properties': {'genre': {'type': 'string', 'default': 'Vertical Drama', 'minLength': 1, 'description': 'Genre label.'}, 'language': {'type': 'string', 'default': 'English', 'minLength': 1, 'description': 'Language to write in.'}, 'story_idea': {'type': 'string', 'minLength': 10, 'description': 'The story premise to write from.'}, 'screen_ratio': {'enum': ['9:16', '16:9', '1:1'], 'type': 'string', 'default': '9:16', 'description': 'Aspect ratio.'}, 'visual_style': {'enum': ['Realistic TV Drama', 'Cinematic Romance', '2D Anime', '3D Animated', 'Dark Thriller'], 'type': 'string', 'description': 'Visual style. Defaults to Realistic TV Drama.'}, 'episode_count': {'anyOf': [{'type': 'integer', 'maximum': 3, 'exclusiveMinimum': 0}, {'type': 'null'}], 'default': 3, 'description': 'How many episodes to write. null to let the model choose.'}, 'idempotency_key': {'type': 'string', 'pattern': '^[A-Za-z0-9._:-]+$', 'maxLength': 200, 'minLength': 8, 'description': 'Stable key identifying this generation request. Reuse the SAME key when retrying the same request â\x80\x94 the original job is returned and no second charge is made. Use a NEW key when you deliberately want another generation.'}, 'target_platform': {'enum': ['TikTok', 'Reels', 'YouTube Shorts'], 'type': 'string', 'default': 'TikTok', 'description': 'Platform the episodes are cut for.'}, 'episode_length_seconds': {'anyOf': [{'type': 'integer', 'maximum': 300, 'exclusiveMinimum': 0}, {'type': 'null'}], 'description': 'Target length of each episode, in seconds. null to let the model choose.'}}, 'additionalProperties': False}
输入模式
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'required': ['shot_id', 'short_shot_number', 'idempotency_key'], 'properties': {'shot_id': {'type': 'string', 'description': 'Shot id.'}, 'idempotency_key': {'type': 'string', 'pattern': '^[A-Za-z0-9._:-]+$', 'maxLength': 200, 'minLength': 8, 'description': 'Stable key identifying this generation request. Reuse the SAME key when retrying the same request â\x80\x94 the original job is returned and no second charge is made. Use a NEW key when you deliberately want another generation.'}, 'short_shot_number': {'type': 'integer', 'description': 'Short shot number within the shot.'}, 'reference_images_base64': {'type': 'array', 'items': {'type': 'object', 'required': ['filename', 'image_base64'], 'properties': {'filename': {'type': 'string', 'maxLength': 255, 'minLength': 1, 'description': 'File name to send it under, e.g. scene-1-radio-prop.jpg.'}, 'image_base64': {'type': 'string', 'maxLength': 34000000, 'minLength': 1, 'description': 'The image bytes, base64-encoded. No data: URI prefix.'}}, 'additionalProperties': False}, 'maxItems': 3, 'description': 'Images to send as bytes. PNG, JPEG and WebP only; the bytes are sniffed, so the filename extension alone will not get a non-image through. Keep them small â\x80\x94 a 720x1280 JPEG is roughly 40-130KB of base64.'}, 'reference_image_asset_ids': {'type': 'array', 'items': {'type': 'string'}}}, 'additionalProperties': False}
输入模式
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'required': ['shot_id', 'idempotency_key'], 'properties': {'model': {'type': 'string', 'description': 'Video model override.'}, 'shot_id': {'type': 'string', 'description': 'Shot id.'}, 'idempotency_key': {'type': 'string', 'pattern': '^[A-Za-z0-9._:-]+$', 'maxLength': 200, 'minLength': 8, 'description': 'Stable key identifying this generation request. Reuse the SAME key when retrying the same request â\x80\x94 the original job is returned and no second charge is made. Use a NEW key when you deliberately want another generation.'}, 'short_shot_number': {'type': 'integer', 'description': 'Target a specific short shot.'}}, 'additionalProperties': False}
输入模式
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'required': ['project_id'], 'properties': {'project_id': {'type': 'string', 'description': 'Project id.'}}, 'additionalProperties': False}
输入模式
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'required': ['character_id'], 'properties': {'character_id': {'type': 'string', 'description': 'Character id.'}}, 'additionalProperties': False}
输入模式
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'required': ['character_id'], 'properties': {'character_id': {'type': 'string', 'description': 'Character id.'}}, 'additionalProperties': False}
输入模式
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'required': ['episode_id'], 'properties': {'episode_id': {'type': 'string', 'description': 'Episode id.'}}, 'additionalProperties': False}
输入模式
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'required': ['project_id', 'episode_id'], 'properties': {'episode_id': {'type': 'string', 'description': 'Episode id.'}, 'project_id': {'type': 'string', 'description': 'Project id.'}}, 'additionalProperties': False}
输入模式
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'required': ['episode_id'], 'properties': {'episode_id': {'type': 'string', 'description': 'Episode id.'}}, 'additionalProperties': False}
输入模式
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'required': ['job_id'], 'properties': {'job_id': {'type': 'string', 'description': 'Job id.'}}, 'additionalProperties': False}
输入模式
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'required': ['location_id'], 'properties': {'location_id': {'type': 'string', 'description': 'Location id.'}}, 'additionalProperties': False}
输入模式
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'required': ['project_id'], 'properties': {'project_id': {'type': 'string', 'description': 'Project id.'}}, 'additionalProperties': False}
输入模式
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'required': ['project_id'], 'properties': {'project_id': {'type': 'string', 'description': 'Project id.'}}, 'additionalProperties': False}
输入模式
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'required': ['project_id'], 'properties': {'project_id': {'type': 'string', 'description': 'Project id.'}}, 'additionalProperties': False}
输入模式
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'required': ['project_id'], 'properties': {'project_id': {'type': 'string', 'description': 'Project id.'}}, 'additionalProperties': False}
输入模式
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'required': ['project_id'], 'properties': {'project_id': {'type': 'string', 'description': 'Project id.'}}, 'additionalProperties': False}
输入模式
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'required': ['project_id', 'episode_id', 'scene_number'], 'properties': {'episode_id': {'type': 'string', 'description': 'Episode id.'}, 'project_id': {'type': 'string', 'description': 'Project id.'}, 'scene_number': {'type': 'integer', 'description': 'Scene number.'}}, 'additionalProperties': False}
输入模式
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'required': ['episode_id'], 'properties': {'episode_id': {'type': 'string', 'description': 'Episode id.'}}, 'additionalProperties': False}
输入模式
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'required': ['project_id'], 'properties': {'project_id': {'type': 'string', 'description': 'Project id.'}}, 'additionalProperties': False}
输入模式
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'properties': {}}
输入模式
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'required': ['shot_id'], 'properties': {'shot_id': {'type': 'string', 'description': 'Shot id (episode_shots row).'}}, 'additionalProperties': False}
输入模式
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'required': ['shot_id', 'asset_id'], 'properties': {'shot_id': {'type': 'string', 'description': 'Shot id (episode_shots row) the reference is attached to.'}, 'asset_id': {'type': 'string', 'description': 'Id of the continuity reference to remove, from list_shot_continuity_references.'}}, 'additionalProperties': False}
输入模式
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'required': ['location_id', 'patch'], 'properties': {'patch': {'type': 'object', 'properties': {'mood': {'type': ['string', 'null']}, 'name': {'type': 'string', 'minLength': 1}, 'recurring': {'type': 'boolean'}, 'user_prompt': {'type': ['string', 'null']}, 'aspect_ratio': {'type': ['string', 'null']}, 'visual_style': {'type': ['string', 'null']}, 'location_type': {'type': ['string', 'null']}, 'visual_prompt': {'type': 'string', 'minLength': 1}, 'spatial_layout': {'anyOf': [{'type': 'object', 'required': ['layout_summary'], 'properties': {'props': {'type': 'array', 'items': {'type': 'object', 'required': ['id', 'name', 'zone', 'height', 'description'], 'properties': {'id': {'type': 'string'}, 'name': {'type': 'string'}, 'zone': {'type': 'string'}, 'height': {'type': 'string'}, 'movable': {'type': 'boolean', 'default': False}, 'key_prop': {'type': 'boolean'}, 'description': {'type': 'string'}, 'co_located_with': {'type': 'array', 'items': {'type': 'string'}, 'default': []}}, 'additionalProperties': False}, 'default': []}, 'zones': {'type': 'array', 'items': {'type': 'object', 'required': ['id', 'description'], 'properties': {'id': {'type': 'string'}, 'adjacent_to': {'type': 'array', 'items': {'type': 'string'}, 'default': []}, 'description': {'type': 'string'}}, 'additionalProperties': False}, 'default': []}, 'layout_summary': {'type': 'string'}}, 'additionalProperties': False}, {'type': 'null'}]}, 'short_description': {'type': ['string', 'null']}, 'appears_in_episodes': {'type': 'array', 'items': {'type': 'integer', 'exclusiveMinimum': 0}}}, 'description': 'Fields to change. Send only what you are changing.', 'additionalProperties': False}, 'location_id': {'type': 'string', 'description': 'Location id to update.'}}, 'additionalProperties': False}
输入模式
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'required': ['shot_id', 'patch'], 'properties': {'patch': {'type': 'object', 'properties': {'title': {'anyOf': [{'type': 'string', 'minLength': 1}, {'type': 'null'}]}, 'dialogue': {'type': 'array', 'items': {'type': 'object', 'required': ['character', 'line', 'emotion', 'delivery_note'], 'properties': {'line': {'type': 'string'}, 'emotion': {'type': 'string'}, 'line_id': {'type': 'string'}, 'character': {'type': 'string'}, 'delivery_note': {'type': 'string'}}, 'additionalProperties': False}}, 'location': {'type': ['string', 'null']}, 'shot_size': {'type': ['string', 'null']}, 'characters': {'type': 'array', 'items': {'type': 'string'}}, 'composition': {'type': ['string', 'null']}, 'script_text': {'type': 'string', 'minLength': 1}, 'time_of_day': {'type': ['string', 'null']}, 'camera_angle': {'type': ['string', 'null']}, 'camera_setup': {'anyOf': [{'type': 'object', 'required': ['shot_size', 'subject_movement', 'visual_purpose', 'short_shots'], 'properties': {'shot_size': {'type': 'string'}, 'short_shots': {'type': 'array', 'items': {'type': 'object', 'required': ['shot_number', 'duration_seconds', 'shot_size', 'action', 'subject_movement', 'dialogue_covered', 'visual_purpose'], 'properties': {'action': {'type': 'string'}, 'location': {'type': 'string'}, 'beat_type': {'enum': ['establishing', 'entrance', 'exit', 'movement', 'prop_interaction', 'insert', 'reveal', 'blocking', 'reaction', 'decision', 'dialogue', 'transition', 'cliffhanger'], 'type': 'string'}, 'end_state': {'type': ['string', 'null']}, 'shot_size': {'type': 'string'}, 'shot_number': {'type': 'number'}, 'start_state': {'type': ['string', 'null']}, 'visual_purpose': {'type': 'string'}, 'background_view': {'anyOf': [{'type': 'object', 'required': ['location_name', 'view_name', 'background_description', 'camera_facing', 'continuity_note'], 'properties': {'image_url': {'type': ['string', 'null']}, 'view_name': {'type': 'string'}, 'depth_layout': {'type': ['string', 'null']}, 'camera_facing': {'type': 'string'}, 'location_name': {'type': 'string'}, 'continuity_note': {'type': 'string'}, 'reference_usage': {'type': ['string', 'null']}, 'visible_anchors': {'type': 'array', 'items': {'type': 'string'}}, 'generated_asset_id': {'type': ['string', 'null']}, 'lighting_description': {'type': ['string', 'null']}, 'reference_description': {'type': ['string', 'null']}, 'background_description': {'type': 'string'}}, 'additionalProperties': False}, {'type': 'null'}]}, 'dialogue_covered': {'type': 'array', 'items': {'anyOf': [{'type': 'string'}, {'$ref': '#/properties/patch/properties/dialogue/items'}]}}, 'duration_seconds': {'type': 'number'}, 'spatial_geometry': {'anyOf': [{'type': 'object', 'required': ['location_axis', 'subject_start_zone', 'subject_end_zone', 'subject_travel_direction', 'camera_zone', 'camera_facing_direction', 'camera_subject_relationship', 'background_visible_direction', 'consistency_note'], 'properties': {'camera_zone': {'type': 'string'}, 'location_axis': {'type': 'string'}, 'consistency_note': {'type': 'string'}, 'interaction_axis': {'type': 'string'}, 'subject_end_zone': {'type': 'string'}, 'subject_start_zone': {'type': 'string'}, 'camera_facing_direction': {'type': 'string'}, 'subject_travel_direction': {'type': 'string'}, 'camera_subject_relationship': {'type': 'string'}, 'background_visible_direction': {'type': 'string'}}, 'additionalProperties': False}, {'type': 'null'}]}, 'subject_movement': {'type': 'string'}, 'camera_setup_detail': {'type': 'object', 'required': ['camera_position', 'camera_angle', 'camera_movement'], 'properties': {'camera_angle': {'type': 'string'}, 'camera_movement': {'type': 'string'}, 'camera_position': {'type': 'string'}, 'subject_orientation': {'type': 'string'}, 'subject_orientations': {'type': 'array', 'items': {'type': 'object', 'required': ['subject', 'orientation_to_camera'], 'properties': {'subject': {'type': 'string'}, 'looking_at': {'type': 'string'}, 'orientation_to_camera': {'type': 'string'}}, 'additionalProperties': False}}}, 'additionalProperties': False}, 'background_people_description': {'type': ['string', 'null']}, 'post_dialogue_visual_progression': {'type': ['string', 'null']}}, 'additionalProperties': False}}, 'visual_purpose': {'type': 'string'}, 'subject_movement': {'type': 'string'}}, 'additionalProperties': False}, {'type': 'null'}]}, 'scene_purpose': {'type': ['string', 'null']}, 'scene_setting': {'type': ['string', 'null']}, 'subtitle_text': {'type': ['string', 'null']}, 'omit_subtitles': {'type': 'boolean'}, 'audio_direction': {'type': ['string', 'null']}, 'camera_movement': {'type': ['string', 'null']}, 'camera_direction': {'type': ['string', 'null']}, 'duration_seconds': {'type': 'integer', 'maximum': 60, 'minimum': 1}, 'source_scene_number': {'anyOf': [{'type': 'integer', 'minimum': 1}, {'type': 'null'}]}, 'referenced_location_ids': {'type': 'array', 'items': {'type': 'string', 'format': 'uuid'}}, 'referenced_character_ids': {'type': 'array', 'items': {'type': 'string', 'format': 'uuid'}}, 'referenced_character_look_ids': {'type': 'array', 'items': {'type': 'string', 'format': 'uuid'}}}, 'description': 'Fields to change. Send only what you are changing. Edit dialogue via camera_setup.short_shots[].dialogue_covered, not the deprecated `dialogue`.', 'additionalProperties': False}, 'shot_id': {'type': 'string', 'description': 'Shot id (episode_shots row) to update.'}}, 'additionalProperties': False}
输入模式
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'required': ['shot_id', 'asset_id', 'guidance'], 'properties': {'shot_id': {'type': 'string', 'description': 'Shot id (episode_shots row) the reference is attached to.'}, 'asset_id': {'type': 'string', 'description': 'Id of the continuity reference to update, from list_shot_continuity_references.'}, 'guidance': {'anyOf': [{'type': 'string', 'maxLength': 1000}, {'type': 'null'}], 'description': 'How the video model should use this reference, e.g. which positions or props to match and what to ignore. Send null or an empty string to clear it.'}}, 'additionalProperties': False}
输入模式
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'required': ['shot_id', 'image_base64', 'filename'], 'properties': {'shot_id': {'type': 'string', 'description': 'Shot id (episode_shots row) to attach the reference to.'}, 'filename': {'type': 'string', 'maxLength': 255, 'minLength': 1, 'description': 'File name to store it under, e.g. scene-1-last-frame.jpg.'}, 'guidance': {'type': 'string', 'maxLength': 1000, 'description': 'How the video model should use this reference, e.g. which positions or props to match and what to ignore. Saved on the reference and sent with every later generation of the shot.'}, 'image_base64': {'type': 'string', 'maxLength': 34000000, 'minLength': 1, 'description': 'The image bytes, base64-encoded. No data: URI prefix.'}}, 'additionalProperties': False}
近期工具变更
类似的 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.
framesail
Creates long-form YouTube videos through script generation, storyboarding, visual assets, voiceover, music, scene composition, an…
Magnific
Provides image enhancement and design tools, AI image and audio generation, text-to-speech, creation management, and reusable cre…
Uwear
Supports AI fashion photoshoot production with garments, outfits, avatars, locations, art direction, image generation, backdrops,…
Creative Claw
Generates and edits branded images, video, audio, speech, and 3D-related creative assets, with media processing and reusable them…