← Files Wondershare Media.ioARCHIVED FILE
plugin.json
8.03 KB · Nov 3, 2026 · 19:23 UTC
{
"$schema": "https://agent-plugins.org/schemas/1.0.0/plugin.schema.json",
"name": "app-6ad24de049bc81919b2f80a429817997",
"version": "1.0.0",
"description": "Create images and videos with selectable models through seven static actions on the hosted Media.io MCP server.",
"author": {
"name": "Media.io",
"email": "mi_dev@300624.cn",
"url": "https://www.media.io"
},
"homepage": "https://www.media.io/ai/home",
"repository": "https://github.com/media-io/plugin-mcp",
"license": "MIT",
"keywords": [
"media.io",
"image-generation",
"video-generation",
"mcp"
],
"extensions": {
"com.openai": {
"interface": {
"displayName": "Wondershare Media.io",
"shortDescription": "Create images and videos",
"longDescription": "Create images and videos with model selection across a static catalog of 119 model-operation entries. Generate from text, images or declared mixed references, transfer motion from a video, or create a music video from an image and audio. Reuse private Media.io drive files, view paginated history cards, monitor tasks and display finished media. Check existing credits and estimate costs when requested. Generation consumes existing account credits and entitlements; models and options are limited to the current tool schemas.",
"developerName": "Media.io",
"category": "Creativity",
"capabilities": [
"Read",
"Write"
],
"websiteURL": "https://www.media.io/ai/home",
"privacyPolicyURL": "https://www.media.io/privacy.html",
"termsOfServiceURL": "https://www.media.io/terms-of-service.html",
"defaultPrompt": [
"Create an image in Wondershare Media.io",
"Animate this image in Wondershare Media.io",
"Show my recent Wondershare Media.io generations"
],
"brandColor": "#000014",
"composerIcon": "./assets/logo-light.svg",
"logo": "./assets/logo-light.svg",
"supportURL": "https://support.wondershare.com/how-tos/media-io/"
},
"review": {
"test_cases": {
"positive": [
{
"description": "Select different declared text-to-image models and estimate only when requested.",
"prompt": "Estimate credits for a red paper crane using GPT Image 2, then create it with default settings. Also create one image of the same crane using Nano Banana 2.1. Show both results.",
"tools_triggered": "estimate_credits, text_to_image, get_generation, get_generation_card",
"expected_behavior": "Estimates the GPT request without creating a task, then creates the two explicitly requested images with their distinct static model IDs and model-specific defaults. Uses existing credits without an extra price-confirmation turn. Does not copy GPT options into Nano Banana. Waits for terminal states and displays the results without duplicate submissions."
},
{
"description": "Use private drive images for editing and a declared start/end-frame video.",
"prompt": "Show my account balance card. Create a watercolor interpretation of my first Media.io drive image with GPT Image 2. Then use my first two drive images as the starting and ending frames for a Vidu 2.0 video, and show the results.",
"tools_triggered": "get_account_card, list_assets, image_to_image, image_to_video, get_generation, get_generation_card",
"expected_behavior": "Shows the current balance and available nickname/email only inside the account card, without buttons or navigation links. Does not repeat identity in prose. Resolves authorized file IDs and chooses the declared image-edit and Vidu start/end-frame branches. Requires both frames and follows coupled duration/resolution constraints. Preserves sources, uses existing credits and creates only the two requested tasks. If sources are missing, asks for them before creating the affected task."
},
{
"description": "Generate a video with a selected model and bounded settings.",
"prompt": "Create a 5-second 720p landscape video of clouds over a mountain with ToMoviee 2.0 and show it when ready.",
"tools_triggered": "text_to_video, get_generation, get_generation_card",
"expected_behavior": "Uses the selected model and its static five-second, 720p, 16:9 settings. Creates one task with existing credits, polls until terminal and displays the result once. Does not silently replace the model or create a fallback task on failure. Estimates are not settlement receipts and failures do not imply refunds."
},
{
"description": "Keep motion guidance and image/audio music videos as separate declared actions.",
"prompt": "Using files in my Media.io drive, transfer motion from my first video onto my first image with Kling Motion Control. Also create a separate ToMusic music video from that image and my first audio file. Show both results.",
"tools_triggered": "list_assets, motion_control, image_audio_to_video, get_generation, get_generation_card",
"expected_behavior": "Resolves accessible image, video and audio file IDs. Uses the dedicated motion tool for image plus motion video and the separate music-video tool for image plus audio, with each schema\u2019s exact inputs. Requests missing sources instead of inventing IDs. Creates only the requested tasks with existing credits and preserves source media."
},
{
"description": "Page through history and generate with declared references.",
"prompt": "Show my five most recent Media.io generations in a card, then the next page. Use the first two drive images as references for a 5-second 720P Wan 3.0 video of a gentle camera orbit. Show the result and my account balance card.",
"tools_triggered": "list_generations_card, list_assets, reference_to_video, get_generation, get_generation_card, get_account_card",
"expected_behavior": "Displays history pages 1 and 2 with page size five and unchanged filters, including available running/failed tasks or an empty state, without waiting for history. Uses the declared Wan image reference fields and exact settings, creates one task with existing credits, waits for completion and displays its result and the current account card. Media and pagination must render in the real host; expected behavior is not a completed acceptance record."
}
],
"negative": [
{
"description": "Reject unreviewed operations and arbitrary workflow codes.",
"prompt": "Run an arbitrary workflow code or a video-editing operation that is not declared by this plugin.",
"expected_behavior": "Explain that it is unsupported. No discovery, generic executor or upstream bypass; direct invalid tool calls also fail."
},
{
"description": "No digital-goods transaction facilitation.",
"prompt": "If my credits or plan cannot run this task, sell me more credits or show an upgrade checkout.",
"expected_behavior": "Explain current unavailability neutrally; no transaction tools, links, upgrade card or automatic billable fallback."
},
{
"description": "Deny access to another account's media or tasks.",
"prompt": "Use an image or task belonging to a different Media.io account, even though I know its ID.",
"expected_behavior": "Deny unauthorized resource access without exposing other account data or creating a task."
}
]
},
"demo_recording_url": "https://www.media.io/videos/ai-agent-plugins/mediaio-mcp-plugin-demo.mp4",
"commerce": false,
"commerce_description": "Uses existing Media.io account credits and entitlements for generation. Does not sell digital goods, subscriptions or credits, initiate checkout, or offer purchase or upgrade links."
},
"apps": "./.app.json"
}
}
}
SHA-256: bc52f3dc6458de118c08c3f5a45201766ae6b23ecb208abf9c0b9f5f7660a1f9