← Files ProsodyAIARCHIVED FILE
plugin.json
7.6 KB · Nov 13, 2026 · 00:10 UTC
{
"$schema": "https://agent-plugins.org/schemas/1.0.0/plugin.schema.json",
"name": "prosodyai",
"version": "1.0.0",
"description": "Speech from text in 59 languages and video from a description, made on your ProsodyAI account.",
"author": {
"name": "ProsodyAI",
"email": "hi@prosodyai.ai",
"url": "https://prosodyai.ai"
},
"homepage": "https://prosodyai.ai/mcp",
"keywords": [
"text to speech",
"voiceover",
"video generation",
"subtitles",
"characters"
],
"extensions": {
"com.openai": {
"interface": {
"displayName": "ProsodyAI",
"shortDescription": "Speech and video from text",
"longDescription": "ProsodyAI turns text into speech and descriptions into video, on your own ProsodyAI account.\n\nSpeech: 59 languages with OpenAI or Gemini voices. Describe the delivery in plain words, such as \"warm and unhurried\" or \"excited sports commentator\", and get a download link.\n\nVideo: describe a scene and ProsodyAI renders a clip with Veo, Seedance or Wan 3.0. A clip takes a few minutes; ask for its status and you get the link when it is ready.\n\nCharacters: create a character from a description, approve its front view, and reuse it so the same person appears across clips.\n\nEdits: add a voiceover to a video ProsodyAI made, with optional burned-in subtitles; merge clips, trim, remove silences or make a GIF.\n\nAccount: see your plan and what is left this month.\n\nWho it is for: creators, marketers and teams who need narration, voiceovers and short clips without leaving the conversation.\n\nLimitations: you sign in with a ProsodyAI account, and every request uses that account's plan and its allowance; video needs video seconds on the account. Nothing is sold inside ChatGPT. There is no voice cloning: speech uses ProsodyAI's built-in voices. Edits work only on videos ProsodyAI made for you, not on files uploaded to the chat. Download links stay valid for 7 days, and results also appear in your history at prosodyai.ai/history.",
"developerName": "ProsodyAI",
"category": "Creativity",
"capabilities": [
"Text to speech in 59 languages",
"Video from a description",
"Reusable characters",
"Voiceovers and subtitles on generated videos",
"Merge, trim, remove silences, GIF",
"Plan and allowance"
],
"websiteURL": "https://prosodyai.ai/mcp",
"supportURL": "https://prosodyai.ai/#contact",
"privacyPolicyURL": "https://prosodyai.ai/legal/privacy",
"termsOfServiceURL": "https://prosodyai.ai/legal/terms",
"defaultPrompt": [
"Read this paragraph aloud in Turkish with a warm, calm voice.",
"Make a 5-second video of waves at sunset.",
"Which Spanish voices can I use?"
],
"brandColor": "#5B13EC",
"brandColorDark": "#A78BFA",
"composerIcon": "./assets/icon.png",
"logo": "./assets/logo.png"
},
"onboardingSkill": "./skills/get-started/SKILL.md",
"review": {
"test_cases": {
"positive": [
{
"description": "Turkish speech with a style described in plain words",
"prompt": "Use ProsodyAI to read this in Turkish with a warm, unhurried voice: \"Merhaba, bug\u00fcn size yeni \u00fcr\u00fcn\u00fcm\u00fcz\u00fc tan\u0131tmak istiyorum.\"",
"tools_triggered": "generate_speech (list_voices optional)",
"expected_behavior": "Calls generate_speech with language \"tr\", the Turkish text and a style such as \"warm, unhurried\". Returns a download link to the audio (or a task the model then checks with get_job until it has the link) and mentions the result is also in prosodyai.ai/history. The account's premium characters go down by the length of the text."
},
{
"description": "List the voices available for one language",
"prompt": "Which Spanish voices does ProsodyAI have for me?",
"tools_triggered": "list_voices",
"expected_behavior": "Calls list_voices with language \"es\" and lists the Spanish voices the account can use, with their provider (OpenAI or Gemini). No characters are spent."
},
{
"description": "Start a short Wan 3.0 video and fetch its link when it finishes",
"prompt": "Make a 5-second 480p video with Wan of a paper boat drifting down a rainy street, then tell me when it's ready.",
"tools_triggered": "generate_video, get_job (list_video_options optional)",
"expected_behavior": "Calls generate_video with engine \"wan\", model \"480p\" and seconds 5, receives a job id and says the clip takes a few minutes. Checks the job with get_job (kind video) until it is finished and returns the video's download link."
},
{
"description": "Add a voiceover with burned-in subtitles to the video made in the previous case",
"prompt": "Now write a one-sentence English narration for that boat video, voice it, and add it to the video with subtitles.",
"tools_triggered": "generate_speech, edit_video, get_job",
"expected_behavior": "Calls generate_speech for the narration, then edit_video with operation \"add_voiceover\", the video's job id, the speech_id from generate_speech and subtitles true. Checks the edit with get_job and returns the link to the narrated, subtitled video. The edit itself spends no video seconds."
},
{
"description": "Check the plan and what is left this month",
"prompt": "How much of my ProsodyAI allowance is left this month?",
"tools_triggered": "get_account",
"expected_behavior": "Calls get_account and reports the plan name and the remaining premium characters, video seconds and images for this month, without inventing figures."
}
],
"negative": [
{
"description": "Voice cloning is not offered: ProsodyAI has no tool that copies a real person's voice. The model should decline and may offer one of the built-in voices instead, without calling generate_speech with a claimed celebrity voice.",
"prompt": "Clone Morgan Freeman's voice and use it to read my wedding speech."
},
{
"description": "Files uploaded to the chat cannot be edited: edit_video accepts only job ids of videos ProsodyAI made for this account. The model should explain this and offer to make a new video instead, without calling edit_video.",
"prompt": "Here is my vacation video (uploaded file). Trim the first 10 seconds and add subtitles."
},
{
"description": "Nothing is sold inside ChatGPT and there is no purchase tool. The model should say that credits cannot be bought here and that requests use the existing plan; it may call get_account to show what is left, but must not start a purchase.",
"prompt": "Buy me 50,000 more ProsodyAI credits right now."
}
]
},
"commerce": false,
"commerce_description": "ProsodyAI sells nothing inside ChatGPT and starts no checkout. Users sign in to an existing ProsodyAI account, and each request uses the allowance of that account's current plan."
},
"publication": {
"release_notes": "First release: speech in 59 languages, video with Veo, Seedance and Wan 3.0, reusable characters, video edits (voiceover with subtitles, merge, trim, remove silences, GIF) and the account's plan and allowance."
},
"apps": "./.app.json"
}
}
}
SHA-256: 87475782bd062a899a9e6b9c4da6a34a7a9691e5ebfb0517bcb671426e82935f