designforyou
이 MCP로 할 수 있는 일
Generates visual designs and media assets such as logos, social graphics, app imagery, comics, visual-novel assets, character actors, and short audition videos.
도구
입력 스키마
{'type': 'object', 'required': ['cue'], 'properties': {'cue': {'type': 'string', 'title': 'Cue', 'maxLength': 600, 'minLength': 3, 'description': "The scene the actor performs â\x80\x94 a short direction, e.g. 'reads a rejection letter and slowly crumples it'."}, 'line': {'anyOf': [{'type': 'string', 'maxLength': 200}, {'type': 'null'}], 'title': 'Line', 'description': 'Optional single spoken line the actor delivers aloud during the take.'}, 'emotion': {'anyOf': [{'type': 'string'}, {'type': 'null'}], 'title': 'Emotion', 'description': 'Emotional register for the take. Suggested values: Dramatic, Comedy, Villain, Tearful, Action, Romantic.'}, 'actor_id': {'anyOf': [{'type': 'string', 'minLength': 1}, {'type': 'null'}], 'title': 'Actor Id', 'description': 'Actor id from casting_roster/create_actor. Omit when casting_id is provided.'}, 'casting_id': {'anyOf': [{'type': 'string', 'minLength': 1}, {'type': 'null'}], 'title': 'Casting Id', 'description': 'Story-character casting id from cast_character. Preferred for repeatable story takes.'}, 'batch_approved': {'type': 'boolean', 'title': 'Batch Approved', 'default': False, 'description': 'Required after five Omni launches by this user within one hour.'}, 'direction_notes': {'anyOf': [{'type': 'string', 'maxLength': 600}, {'type': 'null'}], 'title': 'Direction Notes', 'description': 'Optional director note applied to this take while preserving actor identity and casting.'}}}
입력 스키마
{'type': 'object', 'required': ['audition_id'], 'properties': {'audition_id': {'type': 'string', 'title': 'Audition Id', 'minLength': 1, 'description': 'Audition id returned by audition'}}}
입력 스키마
{'type': 'object', 'required': [], 'properties': {'category': {'anyOf': [{'type': 'string'}, {'type': 'null'}], 'title': 'Category', 'description': "Filter by category (e.g. 'instagram', 'app-store', 'logo')"}, 'subcategory': {'anyOf': [{'type': 'string'}, {'type': 'null'}], 'title': 'Subcategory', 'description': "Optional subcategory filter (e.g. 'lettermark', 'wordmark', 'app_icon')"}}}
출력 스키마
{'type': 'object', 'additionalProperties': True}
입력 스키마
{'type': 'object', 'required': ['actor_id', 'story_id', 'character_name', 'character_description'], 'properties': {'notes': {'anyOf': [{'type': 'string', 'maxLength': 1000}, {'type': 'null'}], 'title': 'Notes'}, 'actor_id': {'type': 'string', 'title': 'Actor Id', 'minLength': 1}, 'story_id': {'type': 'string', 'title': 'Story Id', 'maxLength': 128, 'minLength': 1}, 'source_url': {'anyOf': [{'type': 'string', 'maxLength': 500}, {'type': 'null'}], 'title': 'Source Url'}, 'character_name': {'type': 'string', 'title': 'Character Name', 'maxLength': 80, 'minLength': 1}, 'character_description': {'type': 'string', 'title': 'Character Description', 'maxLength': 1200, 'minLength': 10, 'description': "Story-facing character identity, role, wardrobe, voice, and performance constraints. The actor's face remains unchanged."}}}
입력 스키마
{'type': 'object', 'required': [], 'properties': {'castingrosterinput': {'type': 'object', 'title': 'CastingRosterInput', 'properties': {}}}}
입력 스키마
{'type': 'object', 'required': ['premise'], 'properties': {'premise': {'type': 'string', 'title': 'Premise', 'minLength': 10, 'description': 'Premise the client will use to author the Living Panels PanelScript JSON itself.'}}}
입력 스키마
{'type': 'object', 'required': ['comic_id'], 'properties': {'comic_id': {'type': 'string', 'title': 'Comic Id', 'minLength': 1, 'description': 'Comic id to revise.'}}}
입력 스키마
{'type': 'object', 'required': ['comic_id'], 'properties': {'comic_id': {'type': 'string', 'title': 'Comic Id', 'minLength': 1, 'description': 'Comic id returned by create_comic'}}}
입력 스키마
{'type': 'object', 'required': ['premise', 'story'], 'properties': {'story': {'type': 'object', 'title': 'Story', 'description': 'Client-authored Living Panels Story JSON. The server validates it, clears any producer-owned asset fields, then produces art, motion, and voices.', 'additionalProperties': True}, 'premise': {'type': 'string', 'title': 'Premise', 'minLength': 10, 'description': 'Original premise the client used while authoring the submitted PanelScript story.'}, 'client_name': {'anyOf': [{'type': 'string'}, {'type': 'null'}], 'title': 'Client Name', 'description': 'Host app or client name, for provenance.'}, 'client_model': {'anyOf': [{'type': 'string'}, {'type': 'null'}], 'title': 'Client Model', 'description': 'Model or agent that authored the story, for provenance.'}, 'start_production': {'type': 'boolean', 'title': 'Start Production', 'default': True, 'description': 'Start artifact generation immediately after validation.'}}}
입력 스키마
{'type': 'object', 'required': ['comic_id', 'base_story_hash'], 'properties': {'story': {'anyOf': [{'type': 'object', 'additionalProperties': True}, {'type': 'null'}], 'title': 'Story', 'description': 'Optional full replacement Story JSON. Targeted changes are cheaper/faster when possible.'}, 'changes': {'type': 'array', 'items': {'type': 'object', 'title': 'ClientComicChangeInput', 'required': ['path', 'value'], 'properties': {'path': {'type': 'string', 'title': 'Path', 'description': 'Allowed Story JSON path from comic_revision_brief, e.g. pages[0].panels[1].cells[0].art.'}, 'value': {'title': 'Value', 'description': 'Replacement value for the target path.'}}}, 'title': 'Changes', 'description': 'Targeted changes. Prefer this over full story replacement for small edits.'}, 'summary': {'type': 'string', 'title': 'Summary', 'default': '', 'description': 'Client-authored one-line revision summary.'}, 'comic_id': {'type': 'string', 'title': 'Comic Id', 'minLength': 1, 'description': 'Comic id to revise.'}, 'client_name': {'anyOf': [{'type': 'string'}, {'type': 'null'}], 'title': 'Client Name', 'description': 'Host app or client name, for provenance.'}, 'dirty_nodes': {'anyOf': [{'type': 'array', 'items': {'type': 'string'}}, {'type': 'null'}], 'title': 'Dirty Nodes', 'description': 'Optional extra producer nodes, e.g. panel:p2u1, motion:p2u1, tts:p2u1a-b0.'}, 'client_model': {'anyOf': [{'type': 'string'}, {'type': 'null'}], 'title': 'Client Model', 'description': 'Model or agent that authored the revision, for provenance.'}, 'base_story_hash': {'type': 'string', 'title': 'Base Story Hash', 'minLength': 8, 'description': 'Hash from comic_revision_brief. Prevents applying a patch over a stale story.'}, 'start_production': {'type': 'boolean', 'title': 'Start Production', 'default': True, 'description': 'Regenerate inferred dirty assets after saving.'}}}
입력 스키마
{'type': 'object', 'required': ['name', 'visual_description'], 'properties': {'bio': {'anyOf': [{'type': 'string', 'maxLength': 200}, {'type': 'null'}], 'title': 'Bio'}, 'name': {'type': 'string', 'title': 'Name', 'maxLength': 80, 'minLength': 1}, 'emoji': {'anyOf': [{'type': 'string', 'maxLength': 16}, {'type': 'null'}], 'title': 'Emoji'}, 'actor_type': {'anyOf': [{'type': 'string', 'maxLength': 80}, {'type': 'null'}], 'title': 'Actor Type'}, 'visual_description': {'type': 'string', 'title': 'Visual Description', 'maxLength': 600, 'minLength': 20, 'description': 'Stable physical identity for the actor headshot and later takes: apparent age (child, teen, adult, or elderly), ethnicity, facial structure, hair, build, and baseline wardrobe. Keep identities fictional. Use one concise identity description only; do not include a scene, cue, dialogue, camera direction, other people, props, logos, or a request to imitate an existing character.'}, 'headshot_template_id': {'type': 'string', 'title': 'Headshot Template Id', 'default': 'acting_casting_headshot', 'maxLength': 100, 'minLength': 1, 'description': 'Character References template used to generate the actor headshot.'}, 'performance_reference_url': {'anyOf': [{'type': 'string', 'maxLength': 4000}, {'type': 'null'}], 'title': 'Performance Reference Url', 'description': 'Saved full-body standing reference image URL used as the starting frame for every performance clip. Keep this separate from the profile headshot.'}}}
입력 스키마
{'type': 'object', 'required': ['premise'], 'properties': {'premise': {'type': 'string', 'title': 'Premise', 'minLength': 10, 'description': "The story premise, one paragraph is plenty: who, where, the hook, the tone. Example: 'A neo-noir time-loop short: a night-shift radio host takes a call from her own voice, one day ahead.'"}}}
입력 스키마
{'type': 'object', 'required': ['name', 'category', 'aspect_ratio', 'width', 'height', 'base_prompt', 'layout_rules', 'text_fields'], 'properties': {'name': {'type': 'string', 'title': 'Name', 'maxLength': 100, 'minLength': 3, 'description': 'Reusable template name; repeated identical names are idempotent.'}, 'width': {'type': 'integer', 'title': 'Width', 'maximum': 4096.0, 'minimum': 320.0, 'description': 'Canvas width in pixels, matching aspect_ratio.'}, 'height': {'type': 'integer', 'title': 'Height', 'maximum': 4096.0, 'minimum': 320.0, 'description': 'Canvas height in pixels, matching aspect_ratio.'}, 'best_for': {'type': 'array', 'items': {'type': 'string'}, 'title': 'Best For', 'maxItems': 8, 'description': 'Optional concise use-case labels.'}, 'category': {'type': 'string', 'title': 'Category', 'maxLength': 60, 'minLength': 3, 'description': 'Supported category: Infographics, Instagram Posts, Instagram Stories, App Store Previews, Logos, Visual Novel, Cinematic Stills, Comic Panels, Living Panels Comics, Character References, Architecture Diagrams, or Developer Tools.'}, 'base_prompt': {'type': 'string', 'title': 'Base Prompt', 'maxLength': 6000, 'minLength': 40, 'description': 'Visual subject, style, and data-rendering requirements; plain layout text only.'}, 'subcategory': {'anyOf': [{'type': 'string', 'maxLength': 60}, {'type': 'null'}], 'title': 'Subcategory', 'description': 'Optional narrower catalog label.'}, 'text_fields': {'type': 'array', 'items': {'type': 'object', 'title': 'EditableTextFieldInput', 'required': ['key', 'label', 'default_value'], 'properties': {'key': {'type': 'string', 'title': 'Key', 'maxLength': 40, 'minLength': 1, 'description': 'Stable snake_case field key, e.g. headline'}, 'label': {'type': 'string', 'title': 'Label', 'maxLength': 60, 'minLength': 2, 'description': 'Human-readable field label'}, 'max_length': {'type': 'integer', 'title': 'Max Length', 'default': 120, 'maximum': 240.0, 'minimum': 1.0, 'description': 'Maximum copy length for this field'}, 'default_value': {'type': 'string', 'title': 'Default Value', 'maxLength': 240, 'minLength': 1, 'description': 'Default editable copy'}}}, 'title': 'Text Fields', 'maxItems': 12, 'minItems': 1, 'description': 'Editable copy fields returned by get_text_fields.'}, 'aspect_ratio': {'type': 'string', 'title': 'Aspect Ratio', 'description': 'One of 16:9, 1:1, 4:5, or 9:16.'}, 'layout_rules': {'type': 'string', 'title': 'Layout Rules', 'maxLength': 3000, 'minLength': 20, 'description': 'Stable layout hierarchy and chart/diagram rules; plain text only.'}}}
입력 스키마
{'type': 'object', 'required': ['actor_id'], 'properties': {'actor_id': {'type': 'string', 'title': 'Actor Id', 'maxLength': 80, 'minLength': 1}}}
입력 스키마
{'type': 'object', 'required': ['audition_id'], 'properties': {'audition_id': {'type': 'string', 'title': 'Audition Id', 'maxLength': 80, 'minLength': 1}}}
입력 스키마
{'type': 'object', 'required': ['casting_id'], 'properties': {'casting_id': {'type': 'string', 'title': 'Casting Id', 'maxLength': 80, 'minLength': 1}}}
입력 스키마
{'type': 'object', 'required': ['template_id', 'description'], 'properties': {'model': {'enum': ['grok-imagine-image-quality', 'gemini-3.1-flash-image', 'gpt-image-2', 'minimax-h3-image-balanced', 'minimax-h3-image-quality', 'h3 balanced', 'h3 quality'], 'anyOf': [{'type': 'string'}, {'type': 'null'}], 'title': 'Model', 'description': "Optional image model override, such as grok-imagine-image-quality, gemini-3.1-flash-image, gpt-image-2, minimax-h3-image-balanced, or minimax-h3-image-quality. H3 aliases are 'h3 balanced' and 'h3 quality'."}, 'variants': {'type': 'array', 'items': {'type': 'string'}, 'title': 'Variants', 'default': ['default'], 'description': "For character sheets: expression names e.g. ['neutral','smile','angry']. For backgrounds: time variants e.g. ['day','sunset','night']. For single images: omit or pass ['default']."}, 'edit_tier': {'anyOf': [{'type': 'string', 'pattern': '^(fast|pro|expert)$'}, {'type': 'null'}], 'title': 'Edit Tier', 'description': "Quality tier when reference images (context_ids) are supplied. 'expert' routes the edit to gpt-image-2 for high-fidelity output; 'fast'/'pro' use Gemini. Ignored when no references are present."}, 'session_id': {'anyOf': [{'type': 'string'}, {'type': 'null'}], 'title': 'Session Id', 'description': 'Pass the session_id from a prior generate call to continue refining. The model will edit the previous image instead of generating from scratch.'}, 'context_ids': {'type': 'array', 'items': {'type': 'string'}, 'title': 'Context Ids', 'description': 'Design IDs of prior outputs to use as visual context. Use for CG scenes that should match a previously generated character.'}, 'description': {'type': 'string', 'title': 'Description', 'minLength': 1, 'description': 'What you want - describe the scene, asset, or design in as much detail as needed'}, 'template_id': {'type': 'string', 'title': 'Template Id', 'minLength': 1, 'description': 'Template ID from browse_templates'}, 'context_labels': {'type': 'array', 'items': {'type': 'string'}, 'title': 'Context Labels', 'description': "Optional human labels for each context_id, in the SAME order. When the edit routes to a multi-reference model (gpt-image-2), an ordered legend ('reference image 1 = <label>, ...') is appended to the prompt so the model binds each named subject to its own reference instead of blending identities. Ignored for single-reference edits."}, 'reference_urls': {'type': 'array', 'items': {'type': 'string'}, 'title': 'Reference Urls', 'maxItems': 6, 'description': 'Optional ordered inline or HTTPS image references for direct image-model grounding. Use with reference_labels and reference_roles when supplying cast or location images.'}, 'reference_roles': {'type': 'array', 'items': {'type': 'string'}, 'title': 'Reference Roles', 'maxItems': 6, 'description': 'Optional roles aligned with reference_urls, such as identity or location.'}, 'reference_labels': {'type': 'array', 'items': {'type': 'string'}, 'title': 'Reference Labels', 'maxItems': 6, 'description': 'Optional labels aligned with reference_urls.'}, 'skip_prompt_merge': {'type': 'boolean', 'title': 'Skip Prompt Merge', 'default': False, 'description': "Skip the smart prompt-merge step (which compresses to ~150 words) and send the description through verbatim, with the template's base prompt concatenated for style. Use when the description is already complete and precise â\x80\x94 e.g. a multi-character scene where each subject's outfit and a reference->subject legend must survive intact. Ignored on refines."}}}
출력 스키마
{'type': 'object', 'additionalProperties': True}
입력 스키마
{'type': 'object', 'required': ['actor_ids', 'location'], 'properties': {'mood': {'anyOf': [{'type': 'string', 'maxLength': 200}, {'type': 'null'}], 'title': 'Mood', 'description': 'Optional lighting or emotional tone.'}, 'pose': {'anyOf': [{'type': 'string', 'maxLength': 500}, {'type': 'null'}], 'title': 'Pose', 'description': 'Body pose, blocking, or pre-action moment to capture.'}, 'model': {'anyOf': [{'type': 'string', 'maxLength': 120}, {'type': 'null'}], 'title': 'Model', 'description': 'Optional image model override, e.g. gemini-3.1-flash-image or grok-imagine-image-quality.'}, 'location': {'type': 'string', 'title': 'Location', 'maxLength': 500, 'minLength': 3, 'description': 'Physical set or location for the narrative frame.'}, 'provider': {'enum': ['gemini', 'grok'], 'type': 'string', 'title': 'Provider', 'default': 'gemini', 'description': "Image provider for actor-grounded frame generation. Use 'grok' to route to Grok Imagine; Grok supports up to 3 actor reference images."}, 'wardrobe': {'anyOf': [{'type': 'string', 'maxLength': 500}, {'type': 'null'}], 'title': 'Wardrobe', 'description': 'Wardrobe direction for the actor(s), if different from their baseline identity.'}, 'actor_ids': {'type': 'array', 'items': {'type': 'string'}, 'title': 'Actor Ids', 'maxItems': 4, 'minItems': 1, 'description': 'One to four actor ids from casting_roster, my_actors, or create_actor. The generated frame uses their headshots as identity references.'}, 'composition': {'anyOf': [{'type': 'string', 'maxLength': 500}, {'type': 'null'}], 'title': 'Composition', 'description': 'Camera framing and layout, e.g. wide two-shot, over-the-shoulder, low angle.'}, 'aspect_ratio': {'enum': ['16:9', '9:16'], 'type': 'string', 'title': 'Aspect Ratio', 'default': '9:16', 'description': 'Output canvas. Use 16:9 for landscape film/TV coverage.'}, 'composition_reference_url': {'anyOf': [{'type': 'string', 'maxLength': 500}, {'type': 'null'}], 'title': 'Composition Reference Url', 'description': 'Optional HTTPS image URL for a previs frame whose camera, blocking, subject scale, screen positions, and visible landmarks should be preserved.'}, 'continuity_scene_frame_id': {'anyOf': [{'type': 'string', 'maxLength': 80}, {'type': 'null'}], 'title': 'Continuity Scene Frame Id', 'description': 'Optional scene_frame_id owned by the caller to use as a scene-continuity reference. It preserves set topology, fixed furniture, props, lighting motivation, and wardrobe, but pose and composition define a new camera setup and new actor blocking. Pass only the actors visible in this shot.'}}}
입력 스키마
{'type': 'object', 'required': [], 'properties': {}}
입력 스키마
{'type': 'object', 'required': ['template_id'], 'properties': {'template_id': {'type': 'string', 'title': 'Template Id', 'minLength': 1, 'description': 'The template ID to get text fields for'}}}
입력 스키마
{'type': 'object', 'required': [], 'properties': {'limit': {'type': 'integer', 'title': 'Limit', 'default': 20, 'maximum': 50.0, 'minimum': 1.0, 'description': 'Maximum private actors to return.'}, 'offset': {'type': 'integer', 'title': 'Offset', 'default': 0, 'minimum': 0.0, 'description': 'Zero-based actor offset.'}}}
입력 스키마
{'type': 'object', 'required': [], 'properties': {'limit': {'type': 'integer', 'title': 'Limit', 'default': 20, 'maximum': 50.0, 'minimum': 1.0, 'description': 'Maximum auditions to return.'}, 'offset': {'type': 'integer', 'title': 'Offset', 'default': 0, 'minimum': 0.0, 'description': 'Zero-based audition offset.'}, 'status': {'anyOf': [{'type': 'string', 'pattern': '^(queued|rendering|ready|failed)$'}, {'type': 'null'}], 'title': 'Status', 'description': 'Optional exact audition status filter.'}}}
입력 스키마
{'type': 'object', 'required': ['actor_id', 'idle_video_url'], 'properties': {'order': {'type': 'integer', 'title': 'Order', 'default': 1000, 'maximum': 100000.0, 'minimum': 0.0, 'description': 'Public feed ordering; lower values appear first.'}, 'actor_id': {'type': 'string', 'title': 'Actor Id', 'maxLength': 80, 'minLength': 1, 'description': 'Private actor draft id returned by create_actor.'}, 'idle_video_url': {'type': 'string', 'title': 'Idle Video Url', 'maxLength': 4000, 'minLength': 12, 'description': "HTTPS URL for the actor's approved seamless idle-loop MP4."}}}
입력 스키마
{'type': 'object', 'required': ['use_case'], 'properties': {'needs': {'anyOf': [{'type': 'array', 'items': {'type': 'string'}}, {'type': 'null'}], 'title': 'Needs', 'description': 'Optional explicit needs such as favicon, navbar, og-image'}, 'category': {'anyOf': [{'type': 'string'}, {'type': 'null'}], 'title': 'Category', 'description': 'Optional category override. Auto-detected from use_case if not provided.'}, 'use_case': {'type': 'string', 'title': 'Use Case', 'minLength': 1, 'description': "Describe what you need the template for (e.g. 'Instagram post for a restaurant daily special', 'logo for a fitness brand')"}, 'subcategory': {'anyOf': [{'type': 'string'}, {'type': 'null'}], 'title': 'Subcategory', 'description': 'Optional subcategory constraint such as lettermark or app_icon'}}}
출력 스키마
{'type': 'object', 'additionalProperties': True}
입력 스키마
{'type': 'object', 'required': ['target_type', 'target_id', 'reason'], 'properties': {'reason': {'enum': ['sexual_content', 'minor_safety', 'impersonation', 'violence', 'harassment', 'other'], 'type': 'string', 'title': 'Reason'}, 'details': {'type': 'string', 'title': 'Details', 'default': '', 'maxLength': 1000}, 'target_id': {'type': 'string', 'title': 'Target Id', 'maxLength': 80, 'minLength': 1}, 'target_type': {'enum': ['actor', 'audition'], 'type': 'string', 'title': 'Target Type'}}}
입력 스키마
{'type': 'object', 'required': ['parent_audition_id', 'direction_notes'], 'properties': {'cue': {'anyOf': [{'type': 'string', 'maxLength': 600, 'minLength': 3}, {'type': 'null'}], 'title': 'Cue'}, 'line': {'anyOf': [{'type': 'string', 'maxLength': 200}, {'type': 'null'}], 'title': 'Line'}, 'emotion': {'anyOf': [{'type': 'string'}, {'type': 'null'}], 'title': 'Emotion'}, 'batch_approved': {'type': 'boolean', 'title': 'Batch Approved', 'default': False, 'description': 'Required after five Omni launches by this user within one hour.'}, 'direction_notes': {'type': 'string', 'title': 'Direction Notes', 'maxLength': 600, 'minLength': 3}, 'parent_audition_id': {'type': 'string', 'title': 'Parent Audition Id', 'minLength': 1}}}
입력 스키마
{'type': 'object', 'required': ['character', 'style', 'sheet', 'cells'], 'properties': {'cells': {'type': 'array', 'items': {'type': 'object', 'title': 'VNSpriteCell', 'required': ['id', 'pose', 'expression'], 'properties': {'id': {'type': 'string', 'title': 'Id', 'minLength': 1}, 'pose': {'type': 'string', 'title': 'Pose', 'minLength': 1}, 'notes': {'anyOf': [{'type': 'string'}, {'type': 'null'}], 'title': 'Notes'}, 'props': {'type': 'array', 'items': {'type': 'string'}, 'title': 'Props'}, 'camera': {'anyOf': [{'type': 'string'}, {'type': 'null'}], 'title': 'Camera'}, 'direction': {'anyOf': [{'type': 'string'}, {'type': 'null'}], 'title': 'Direction'}, 'expression': {'type': 'string', 'title': 'Expression', 'minLength': 1}}}, 'title': 'Cells', 'minItems': 1}, 'model': {'anyOf': [{'type': 'string'}, {'type': 'null'}], 'title': 'Model', 'description': 'Image model override for the source sheet, e.g. gemini-3.1-flash-image.'}, 'sheet': {'type': 'object', 'title': 'VNSpriteSheetConfig', 'required': ['cell_width', 'cell_height'], 'properties': {'layout': {'enum': ['2x2', '3x2', '4x2'], 'type': 'string', 'title': 'Layout', 'default': '3x2'}, 'padding': {'type': 'string', 'title': 'Padding', 'default': 'generous'}, 'full_body': {'type': 'boolean', 'title': 'Full Body', 'default': True}, 'background': {'type': 'object', 'title': 'VNSpriteBackground', 'properties': {'mode': {'type': 'string', 'const': 'chroma_key', 'title': 'Mode', 'default': 'chroma_key'}, 'color': {'type': 'string', 'title': 'Color', 'default': '#00ff00'}}}, 'cell_width': {'type': 'integer', 'title': 'Cell Width', 'minimum': 32.0}, 'cell_height': {'type': 'integer', 'title': 'Cell Height', 'minimum': 32.0}}}, 'style': {'type': 'object', 'title': 'VNSpriteStyle', 'required': ['preset', 'rendering'], 'properties': {'preset': {'type': 'string', 'title': 'Preset', 'minLength': 1}, 'rendering': {'type': 'string', 'title': 'Rendering', 'minLength': 1}, 'consistency_reference_url': {'anyOf': [{'type': 'string'}, {'type': 'null'}], 'title': 'Consistency Reference Url'}, 'consistency_reference_asset_id': {'anyOf': [{'type': 'string'}, {'type': 'null'}], 'title': 'Consistency Reference Asset Id'}}}, 'output': {'type': 'object', 'title': 'VNSpriteOutputOptions', 'properties': {'format': {'type': 'string', 'const': 'png', 'title': 'Format', 'default': 'png'}, 'include_crops': {'type': 'boolean', 'title': 'Include Crops', 'default': True}, 'include_source_sheet': {'type': 'boolean', 'title': 'Include Source Sheet', 'default': True}, 'include_alpha_sprites': {'type': 'boolean', 'title': 'Include Alpha Sprites', 'default': True}, 'include_contact_sheets': {'type': 'boolean', 'title': 'Include Contact Sheets', 'default': True}}}, 'quality': {'type': 'object', 'title': 'VNSpriteQualityOptions', 'properties': {'hi_res_cells': {'type': 'boolean', 'title': 'Hi Res Cells', 'default': False, 'description': 'Opt-in: after cropping each cell from the consistency grid, run a reference-grounded image-to-image re-render of that cell at full native model resolution (the crop is the identity/pose reference). Fixes cells being limited to ~1/N of the sheet resolution. Billed as an extra image call per cell (+2 credits each).'}, 'hi_res_model': {'anyOf': [{'type': 'string'}, {'type': 'null'}], 'title': 'Hi Res Model', 'description': "Optional model override for the per-cell hi-res re-render, e.g. gpt-image-2 for fabric fidelity. Defaults to the source sheet's provider/model. Accepts gemini, grok, and gpt-image-2 aliases."}, 'validate_cells': {'type': 'boolean', 'title': 'Validate Cells', 'default': True}, 'generation_quality': {'type': 'string', 'title': 'Generation Quality', 'default': 'high'}, 'regenerate_on_validation_failure': {'type': 'boolean', 'title': 'Regenerate On Validation Failure', 'default': False}}}, 'provider': {'anyOf': [{'type': 'string'}, {'type': 'null'}], 'title': 'Provider', 'description': 'Image provider override for the source sheet, e.g. gemini, grok, or a known model alias.'}, 'character': {'type': 'object', 'title': 'VNSpriteCharacter', 'required': ['id', 'name', 'role'], 'properties': {'id': {'type': 'string', 'title': 'Id', 'minLength': 1}, 'name': {'type': 'string', 'title': 'Name', 'minLength': 1}, 'role': {'type': 'string', 'title': 'Role', 'minLength': 1}, 'age_range': {'anyOf': [{'type': 'string'}, {'type': 'null'}], 'title': 'Age Range'}, 'description': {'type': 'object', 'title': 'Description', 'additionalProperties': {'type': 'string'}}}}}}
출력 스키마
{'type': 'object', 'additionalProperties': True}
입력 스키마
{'type': 'object', 'required': [], 'properties': {'mode': {'type': 'string', 'title': 'Mode', 'default': 'templates', 'pattern': '^(templates|recommendations|designs)$', 'description': 'Which widget payload shape to return without generation.'}}}
출력 스키마
{'type': 'object', 'additionalProperties': True}
최근 도구 변경
유사한 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…