이 MCP로 할 수 있는 일
Provides access to text, image, video, music, lyric-generation, image-editing, and image-upscaling models through a unified API.
도구
입력 스키마
{'type': 'object', 'required': ['model', 'messages'], 'properties': {'stop': {'type': ['null', 'array'], 'items': {'type': 'string'}, 'description': 'Up to 4 sequences that stop generation.'}, 'model': {'type': 'string', 'description': "Exact model name, e.g. claude-sonnet-5 or deepseek-v4-pro. Call list_models with category 'text' if unsure."}, 'top_p': {'type': ['null', 'number'], 'description': 'Nucleus sampling probability mass, 0-1. Omit for the model default.'}, 'messages': {'type': ['null', 'array'], 'items': {'type': 'object', 'required': ['role', 'content'], 'properties': {'role': {'type': 'string', 'description': 'Message author: system, user or assistant.'}, 'content': {'type': 'string', 'description': 'Message text.'}}, 'additionalProperties': False}, 'description': 'Conversation so far, oldest first. Must contain at least one message.'}, 'max_tokens': {'type': ['null', 'integer'], 'description': 'Maximum tokens to generate. Omit for the model default.'}, 'temperature': {'type': ['null', 'number'], 'description': 'Sampling temperature, typically 0-2. Omit for the model default.'}}, 'additionalProperties': False}
출력 스키마
{'type': 'object', 'required': ['content', 'model', 'usage'], 'properties': {'model': {'type': 'string', 'description': 'Model that actually served the request.'}, 'usage': {'type': 'object', 'required': ['prompt_tokens', 'completion_tokens', 'total_tokens'], 'properties': {'total_tokens': {'type': 'integer', 'description': 'Prompt plus completion tokens.'}, 'prompt_tokens': {'type': 'integer', 'description': 'Tokens consumed by the prompt.'}, 'completion_tokens': {'type': 'integer', 'description': 'Tokens generated.'}}, 'description': 'Token accounting for this call.', 'additionalProperties': False}, 'content': {'type': 'string', 'description': "The model's reply text."}, 'finish_reason': {'type': 'string', 'description': 'Why generation stopped, e.g. stop or length.'}}, 'additionalProperties': False}
입력 스키마
{'type': 'object', 'required': ['model', 'prompt'], 'properties': {'n': {'type': ['null', 'integer'], 'description': 'How many images to generate. Defaults to 1. Each one is billed.'}, 'size': {'type': 'string', 'description': "Output size, e.g. 1024x1024, 1536x1024, or 'auto'. Model-dependent; omit for the model default."}, 'async': {'type': 'boolean', 'description': "Submit asynchronously and return a task_id instead of waiting. Use when the client times out on slow models; poll with get_task using platform 'image'."}, 'model': {'type': 'string', 'description': "Exact model name, e.g. gpt-image-2 or nano-banana-pro. Call list_models with category 'image' if unsure."}, 'images': {'type': ['null', 'array'], 'items': {'type': 'string'}, 'description': 'Optional reference images as HTTPS URLs or data URLs, for image-to-image generation. Not all models accept references.'}, 'prompt': {'type': 'string', 'description': 'Description of the image to generate.'}, 'quality': {'type': 'string', 'description': 'Quality hint, e.g. low, medium, high or auto. Model-dependent.'}, 'aspect_ratio': {'type': 'string', 'description': 'Z-Image only: required output aspect ratio. Supported values: 1:1, 4:3, 3:4, 16:9, 9:16.'}, 'nsfw_checker': {'type': ['null', 'boolean'], 'description': 'Z-Image only: enable or disable the upstream NSFW checker. Explicit false is preserved.'}, 'wait_seconds': {'type': ['null', 'integer'], 'description': 'Only with async: poll server-side for up to this many seconds (max 240) and return the finished image if it completes in time.'}, 'response_format': {'type': 'string', 'description': "'url' (default) returns links; 'b64_json' returns base64 data, which is far larger and usually unnecessary."}}, 'additionalProperties': False}
출력 스키마
{'type': 'object', 'required': ['model', 'status'], 'properties': {'note': {'type': 'string', 'description': 'What to do next.'}, 'model': {'type': 'string', 'description': 'Model that served the request.'}, 'images': {'type': ['null', 'array'], 'items': {'type': 'object', 'properties': {'url': {'type': 'string', 'description': 'Link to the generated image. May expire; download anything worth keeping.'}, 'b64_json': {'type': 'string', 'description': 'Base64 image data, when response_format was b64_json.'}, 'revised_prompt': {'type': 'string', 'description': 'The prompt the model actually used, when it rewrote the input.'}}, 'additionalProperties': False}, 'description': 'Generated images, when the call completed.'}, 'status': {'type': 'string', 'description': 'One of: completed, queued, in_progress, failed.'}, 'task_id': {'type': 'string', 'description': 'Task identifier, when submitted asynchronously and still running.'}, 'platform': {'type': 'string', 'description': 'Pass this to get_task together with task_id.'}}, 'additionalProperties': False}
입력 스키마
{'type': 'object', 'required': ['clip_id', 'continue_at'], 'properties': {'tags': {'type': 'string', 'description': 'Style tags for the extension.'}, 'title': {'type': 'string', 'description': 'New title for the extended song.'}, 'prompt': {'type': 'string', 'description': 'Lyrics for the extended section.'}, 'clip_id': {'type': 'string', 'description': "ID of the song to extend, taken from the 'raw' clip list of a completed generate_music task."}, 'provider': {'type': 'string', 'description': "Music backend: 'suno' (default) or 'producer'."}, 'continue_at': {'type': 'number', 'description': 'Timestamp in seconds within the original song to continue from.'}, 'wait_seconds': {'type': ['null', 'integer'], 'description': 'Poll server-side for up to this many seconds (max 240).'}}, 'additionalProperties': False}
출력 스키마
{'type': 'object', 'required': ['task_id', 'platform', 'status', 'note'], 'properties': {'raw': {'description': 'Full result payload when completed — clip IDs, lyrics text and per-clip metadata. Clip IDs from here are what extend_music takes.'}, 'note': {'type': 'string', 'description': 'What to do next.'}, 'status': {'type': 'string', 'description': 'One of: queued, in_progress, completed, failed.'}, 'task_id': {'type': 'string', 'description': 'Pass this to get_task together with platform to check progress.'}, 'platform': {'type': 'string', 'description': "'suno' or 'producer'. Pass to get_task."}, 'audio_urls': {'type': ['null', 'array'], 'items': {'type': 'string'}, 'description': 'Finished audio URLs, when the task completed within wait_seconds.'}}, 'additionalProperties': False}
입력 스키마
{'type': 'object', 'required': ['model', 'prompt'], 'properties': {'n': {'type': ['null', 'integer'], 'description': 'How many images to generate. Defaults to 1. Each one is billed.'}, 'size': {'type': 'string', 'description': "Output size, e.g. 1024x1024, 1536x1024, or 'auto'. Model-dependent; omit for the model default."}, 'async': {'type': 'boolean', 'description': "Submit asynchronously and return a task_id instead of waiting. Use when the client times out on slow models; poll with get_task using platform 'image'."}, 'model': {'type': 'string', 'description': "Exact model name, e.g. gpt-image-2 or nano-banana-pro. Call list_models with category 'image' if unsure."}, 'images': {'type': ['null', 'array'], 'items': {'type': 'string'}, 'description': 'Optional reference images as HTTPS URLs or data URLs, for image-to-image generation. Not all models accept references.'}, 'prompt': {'type': 'string', 'description': 'Description of the image to generate.'}, 'quality': {'type': 'string', 'description': 'Quality hint, e.g. low, medium, high or auto. Model-dependent.'}, 'aspect_ratio': {'type': 'string', 'description': 'Z-Image only: required output aspect ratio. Supported values: 1:1, 4:3, 3:4, 16:9, 9:16.'}, 'nsfw_checker': {'type': ['null', 'boolean'], 'description': 'Z-Image only: enable or disable the upstream NSFW checker. Explicit false is preserved.'}, 'wait_seconds': {'type': ['null', 'integer'], 'description': 'Only with async: poll server-side for up to this many seconds (max 240) and return the finished image if it completes in time.'}, 'response_format': {'type': 'string', 'description': "'url' (default) returns links; 'b64_json' returns base64 data, which is far larger and usually unnecessary."}}, 'additionalProperties': False}
출력 스키마
{'type': 'object', 'required': ['model', 'status'], 'properties': {'note': {'type': 'string', 'description': 'What to do next.'}, 'model': {'type': 'string', 'description': 'Model that served the request.'}, 'images': {'type': ['null', 'array'], 'items': {'type': 'object', 'properties': {'url': {'type': 'string', 'description': 'Link to the generated image. May expire; download anything worth keeping.'}, 'b64_json': {'type': 'string', 'description': 'Base64 image data, when response_format was b64_json.'}, 'revised_prompt': {'type': 'string', 'description': 'The prompt the model actually used, when it rewrote the input.'}}, 'additionalProperties': False}, 'description': 'Generated images, when the call completed.'}, 'status': {'type': 'string', 'description': 'One of: completed, queued, in_progress, failed.'}, 'task_id': {'type': 'string', 'description': 'Task identifier, when submitted asynchronously and still running.'}, 'platform': {'type': 'string', 'description': 'Pass this to get_task together with task_id.'}}, 'additionalProperties': False}
입력 스키마
{'type': 'object', 'required': ['prompt'], 'properties': {'prompt': {'type': 'string', 'description': "Description of the lyrics to write, e.g. 'a love song about meeting someone at a coffee shop'."}, 'provider': {'type': 'string', 'description': "Music backend: 'suno' (default) or 'producer'."}, 'lyrics_model': {'type': 'string', 'description': 'Lyrics model: classic or remi.'}, 'wait_seconds': {'type': ['null', 'integer'], 'description': 'Poll server-side for up to this many seconds (max 240). Lyrics usually finish in under 30 seconds.'}}, 'additionalProperties': False}
출력 스키마
{'type': 'object', 'required': ['task_id', 'platform', 'status', 'note'], 'properties': {'raw': {'description': 'Full result payload when completed — clip IDs, lyrics text and per-clip metadata. Clip IDs from here are what extend_music takes.'}, 'note': {'type': 'string', 'description': 'What to do next.'}, 'status': {'type': 'string', 'description': 'One of: queued, in_progress, completed, failed.'}, 'task_id': {'type': 'string', 'description': 'Pass this to get_task together with platform to check progress.'}, 'platform': {'type': 'string', 'description': "'suno' or 'producer'. Pass to get_task."}, 'audio_urls': {'type': ['null', 'array'], 'items': {'type': 'string'}, 'description': 'Finished audio URLs, when the task completed within wait_seconds.'}}, 'additionalProperties': False}
입력 스키마
{'type': 'object', 'required': ['prompt'], 'properties': {'tags': {'type': 'string', 'description': "Comma-separated style tags, e.g. 'pop, upbeat, guitar'. Max 200 characters."}, 'model': {'type': 'string', 'description': 'Suno model version, e.g. chirp-v5 or chirp-v4-5-plus. Omit for the platform default.'}, 'title': {'type': 'string', 'description': 'Song title. Used in custom mode.'}, 'custom': {'type': 'boolean', 'description': 'false (default) lets the model write the lyrics from your description; true means prompt contains lyrics you wrote and you should also set title and tags.'}, 'prompt': {'type': 'string', 'description': "In simple mode (custom=false) a description of the song, e.g. 'a dreamy lo-fi track about late-night trains'. In custom mode (custom=true) the actual lyrics, with section markers like [Verse] and [Chorus]."}, 'provider': {'type': 'string', 'description': "Music backend: 'suno' (default) or 'producer'."}, 'instrumental': {'type': 'boolean', 'description': 'Generate without vocals.'}, 'wait_seconds': {'type': ['null', 'integer'], 'description': 'Poll server-side for up to this many seconds (max 240) and return finished audio if it completes in time. Omit to return a task_id immediately.'}, 'negative_tags': {'type': 'string', 'description': "Styles to avoid, e.g. 'heavy metal, rap'."}}, 'additionalProperties': False}
출력 스키마
{'type': 'object', 'required': ['task_id', 'platform', 'status', 'note'], 'properties': {'raw': {'description': 'Full result payload when completed — clip IDs, lyrics text and per-clip metadata. Clip IDs from here are what extend_music takes.'}, 'note': {'type': 'string', 'description': 'What to do next.'}, 'status': {'type': 'string', 'description': 'One of: queued, in_progress, completed, failed.'}, 'task_id': {'type': 'string', 'description': 'Pass this to get_task together with platform to check progress.'}, 'platform': {'type': 'string', 'description': "'suno' or 'producer'. Pass to get_task."}, 'audio_urls': {'type': ['null', 'array'], 'items': {'type': 'string'}, 'description': 'Finished audio URLs, when the task completed within wait_seconds.'}}, 'additionalProperties': False}
입력 스키마
{'type': 'object', 'required': ['model', 'prompt'], 'properties': {'model': {'type': 'string', 'description': "Exact model name, e.g. doubao-seedance-2-0-260128, veo-3.1-quality or viduq3-pro. Call list_models with category 'video' if unsure."}, 'ratio': {'type': 'string', 'description': 'Aspect ratio, e.g. 16:9, 9:16, 1:1, 21:9 or adaptive. Which values a model accepts varies; an unsupported one is rejected with a message naming the valid ones.'}, 'audios': {'type': ['null', 'array'], 'items': {'type': 'string'}, 'description': 'Optional Seedance reference audio URLs or asset:// URIs returned by the trusted asset catalog. Reference audio cannot be used alone.'}, 'images': {'type': ['null', 'array'], 'items': {'type': 'string'}, 'description': 'Optional reference image URLs. A single image is used as the first frame; use image_roles to control multiple.'}, 'prompt': {'type': 'string', 'description': 'Description of the video to generate.'}, 'videos': {'type': ['null', 'array'], 'items': {'type': 'string'}, 'description': 'Optional Seedance reference video URLs or asset:// URIs returned by the trusted asset catalog.'}, 'duration': {'type': ['null', 'integer'], 'description': 'Clip length in seconds. Model-dependent, typically 4-15; an unsupported value is rejected with a message naming the supported ones. Omit for the model default.'}, 'resolution': {'type': 'string', 'description': 'Output resolution: 480p, 720p (widest compatibility) or 1080p. Model-dependent.'}, 'image_roles': {'type': ['null', 'array'], 'items': {'type': 'string'}, 'description': 'Role of each entry in images, positionally: first_frame, last_frame or reference_image.'}, 'wait_seconds': {'type': ['null', 'integer'], 'description': 'Poll server-side for up to this many seconds (max 240) and return the finished video if it completes in time. Omit to return a task_id immediately.'}, 'generate_audio': {'type': ['null', 'boolean'], 'description': 'Generate a synchronised soundtrack. Only some models support this.'}}, 'additionalProperties': False}
출력 스키마
{'type': 'object', 'required': ['task_id', 'platform', 'status', 'model', 'note'], 'properties': {'note': {'type': 'string', 'description': 'What to do next.'}, 'model': {'type': 'string', 'description': 'Model that accepted the request.'}, 'status': {'type': 'string', 'description': 'One of: queued, in_progress, completed, failed.'}, 'task_id': {'type': 'string', 'description': 'Pass this to get_task together with platform to check progress.'}, 'platform': {'type': 'string', 'description': "Always 'video'. Pass to get_task."}, 'video_urls': {'type': ['null', 'array'], 'items': {'type': 'string'}, 'description': 'Finished video URLs, when the task completed within wait_seconds.'}}, 'additionalProperties': False}
입력 스키마
{'type': 'object', 'additionalProperties': False}
출력 스키마
{'type': 'object', 'required': ['unlimited', 'used_amount', 'currency'], 'properties': {'note': {'type': 'string', 'description': 'Guidance when the balance is low, unlimited, or scoped to a token.'}, 'currency': {'type': 'string', 'description': 'Unit of the amounts above, e.g. USD.'}, 'unlimited': {'type': 'boolean', 'description': 'True when this token has no spending cap, in which case the amount fields are not meaningful.'}, 'used_amount': {'type': 'number', 'description': 'Balance consumed to date, in the same unit.'}, 'total_amount': {'type': 'number', 'description': 'Remaining plus used. Omitted when unlimited.'}, 'remaining_amount': {'type': 'number', 'description': "Remaining balance, in the account's display currency. Omitted when unlimited."}}, 'additionalProperties': False}
입력 스키마
{'type': 'object', 'required': ['platform', 'task_id'], 'properties': {'task_id': {'type': 'string', 'description': 'Task identifier returned by the submit tool.'}, 'platform': {'type': 'string', 'description': 'Platform the task belongs to, exactly as returned by the submit tool: image, video, suno or producer.'}, 'wait_seconds': {'type': ['null', 'integer'], 'description': 'Poll server-side for up to this many seconds (max 240) and return once the task finishes. Omit for a single immediate status check.'}}, 'additionalProperties': False}
출력 스키마
{'type': 'object', 'required': ['task_id', 'platform', 'status'], 'properties': {'raw': {'description': 'Backend payload, for details this summary does not cover (lyrics text, per-clip metadata, seeds).'}, 'note': {'type': 'string', 'description': 'What to do next.'}, 'status': {'type': 'string', 'description': 'One of: queued, in_progress, completed, failed, unknown.'}, 'task_id': {'type': 'string', 'description': 'The task this status refers to.'}, 'platform': {'type': 'string', 'description': 'Platform the task belongs to.'}, 'progress': {'type': 'string', 'description': 'Progress indication, when the backend reports one.'}, 'fail_reason': {'type': 'string', 'description': 'Why the task failed, when status is failed.'}, 'result_urls': {'type': ['null', 'array'], 'items': {'type': 'string'}, 'description': 'Finished asset URLs. May expire; download anything worth keeping.'}}, 'additionalProperties': False}
입력 스키마
{'type': 'object', 'properties': {'search': {'type': 'string', 'description': "Case-insensitive substring match on the model name, e.g. 'claude' or 'seedance'."}, 'category': {'type': 'string', 'description': 'Filter by capability. One of: text, image, video, music, embedding, other. Omit to list every model this key can use.'}}, 'additionalProperties': False}
출력 스키마
{'type': 'object', 'required': ['models', 'total'], 'properties': {'note': {'type': 'string', 'description': 'Guidance about the result set.'}, 'total': {'type': 'integer', 'description': 'Number of models returned.'}, 'models': {'type': ['null', 'array'], 'items': {'type': 'object', 'required': ['name', 'category'], 'properties': {'name': {'type': 'string', 'description': 'The exact model name to pass to other tools.'}, 'tool': {'type': 'string', 'description': 'Which MCP tool to call for this model. Absent means no MCP tool drives it — reach it through the REST API instead.'}, 'groups': {'type': ['null', 'array'], 'items': {'type': 'string'}, 'description': 'Token groups that can reach this model.'}, 'vendor': {'type': 'string', 'description': 'Upstream vendor, e.g. Anthropic, Google, Suno.'}, 'category': {'type': 'string', 'description': 'Capability category: text, image, video, music, embedding or other.'}, 'endpoints': {'type': ['null', 'array'], 'items': {'type': 'string'}, 'description': 'API endpoint families this model supports.'}, 'description': {'type': 'string', 'description': 'Human-readable description, when the platform publishes one.'}}, 'additionalProperties': False}, 'description': 'Models available to the calling key.'}}, 'additionalProperties': False}
입력 스키마
{'type': 'object', 'required': ['image'], 'properties': {'image': {'type': 'string', 'description': 'The image to upscale, as an HTTPS URL, data URL, or raw base64. Width and height must each be 256-1024 px and the file at most 5 MB.'}, 'model_quality': {'type': 'string', 'description': 'Upscale quality hint: HQ, MQ (default) or LQ.'}, 'response_format': {'type': 'string', 'description': "'url' (default) or 'b64_json'."}}, 'additionalProperties': False}
출력 스키마
{'type': 'object', 'required': ['model', 'status'], 'properties': {'note': {'type': 'string', 'description': 'What to do next.'}, 'model': {'type': 'string', 'description': 'Model that served the request.'}, 'images': {'type': ['null', 'array'], 'items': {'type': 'object', 'properties': {'url': {'type': 'string', 'description': 'Link to the generated image. May expire; download anything worth keeping.'}, 'b64_json': {'type': 'string', 'description': 'Base64 image data, when response_format was b64_json.'}, 'revised_prompt': {'type': 'string', 'description': 'The prompt the model actually used, when it rewrote the input.'}}, 'additionalProperties': False}, 'description': 'Generated images, when the call completed.'}, 'status': {'type': 'string', 'description': 'One of: completed, queued, in_progress, failed.'}, 'task_id': {'type': 'string', 'description': 'Task identifier, when submitted asynchronously and still running.'}, 'platform': {'type': 'string', 'description': 'Pass this to get_task together with task_id.'}}, '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…