Create short-form vertical reels and ads, check pricing, and get your finished MP4 from Menivor.
Maintain this server? Claim it
Call this server's tools from your browser. Nothing to install.
Bearer followed by your personal Menivor API key from https://menivor.com/account/api-keys
Requests go through mcptry because browsers can't call most MCP servers directly. Header values are sent to the server for that request only and are never stored or logged.
Tool list from our last check. Connect live to refresh it.
Extract a product from a URL and draft ad angles as an Ad Studio project. With render=true, also renders ad variants for every angle in the chosen formats and aspects.
Product or landing page URL
Optional project title
Render variants right away (uses credits)
Aspect ratios to render
Ad formats to render
Ad language code, e.g. en
Avatar presenter id; required for the ugc_avatar format
This tool isn't marked read-only, so it may change something on the server or in an account you connected.
Extract a product from a URL and draft ad angles as an Ad Studio project. With render=true, also renders ad variants for every angle in the chosen formats and aspects.
| Argument | Type | Description |
|---|---|---|
| url* | string | Product or landing page URL |
| title | string | Optional project title |
| render | boolean | Render variants right away (uses credits) |
| aspects | array | Aspect ratios to render |
| formats | array | Ad formats to render |
| language | string | Ad language code, e.g. en |
| avatar_id | string | Avatar presenter id; required for the ugc_avatar format |
{
"type": "object",
"required": [
"url"
],
"properties": {
"url": {
"type": "string",
"format": "uri",
"maxLength": 2048,
"description": "Product or landing page URL"
},
"title": {
"type": "string",
"maxLength": 200,
"description": "Optional project title"
},
"render": {
"type": "boolean",
"description": "Render variants right away (uses credits)"
},
"aspects": {
"type": "array",
"items": {
"enum": [
"9:16",
"16:9",
"1:1"
],
"type": "string"
},
"description": "Aspect ratios to render"
},
"formats": {
"type": "array",
"items": {
"enum": [
"showcase",
"before_after",
"ugc_avatar"
],
"type": "string"
},
"description": "Ad formats to render"
},
"language": {
"type": "string",
"maxLength": 5,
"description": "Ad language code, e.g. en"
},
"avatar_id": {
"type": "string",
"maxLength": 64,
"description": "Avatar presenter id; required for the ugc_avatar format"
}
},
"additionalProperties": false
}Start rendering a vertical short-form reel. Uses one reel credit per variant, reserved at start and released if the render fails. Returns job_id; poll it with get_job.
| Argument | Type | Description |
|---|---|---|
| aspect | string | Output aspect ratio; defaults to 9:16 |
| script | string | Optional narration script; generated from the subject when omitted |
| subject* | string | What the reel is about (the topic or hook) |
| language | string | Script language code, e.g. en or tr; defaults to auto |
| variants | integer | Render 1 to 3 variants; each uses one credit |
| avatar_id | string | Avatar presenter id from GET /avatars |
| voice_name | string | Voice id from GET /voices |
| caption_style | string | Caption style id |
| screen_recording_key | string | Key of an uploaded screen recording you own |
Get a signed price quote before generating: name a generation profile, or map pipeline stages to catalog model ids. Optionally cap the budget.
| Argument | Type | Description |
|---|---|---|
| stages | object | Stage to catalog model id, e.g. {"voice": "elevenlabs/multilingual-v2"} |
| profile | string | Generation profile slug |
| max_cost_usd | string | Budget cap as a decimal USD string, e.g. "2.50" |
{
"type": "object",
"properties": {
"stages": {
"type": "object",
"description": "Stage to catalog model id, e.g. {\"voice\": \"elevenlabs/multilingual-v2\"}",
"additionalProperties": {
"type": "string"
}
},
"profile": {
"type": "string",
"maxLength": 128,
"description": "Generation profile slug"
},
"max_cost_usd": {
"type": "string",
"description": "Budget cap as a decimal USD string, e.g. \"2.50\""
}
},
"additionalProperties": false
}Read a reel job's state, progress and, once finished, its download URL.
| Argument | Type | Description |
|---|---|---|
| job_id* | string | Job id returned by create_reel |
{
"type": "object",
"required": [
"job_id"
],
"properties": {
"job_id": {
"type": "string",
"description": "Job id returned by create_reel"
}
},
"additionalProperties": false
}Read logged performance (views, likes, retention) for one reel with job_id, or your most recent logged reels without it.
| Argument | Type | Description |
|---|---|---|
| limit | integer | Rows when listing; default 20 |
| job_id | string | Optional reel job id |
{
"type": "object",
"properties": {
"limit": {
"type": "integer",
"maximum": 100,
"minimum": 1,
"description": "Rows when listing; default 20"
},
"job_id": {
"type": "string",
"description": "Optional reel job id"
}
},
"additionalProperties": false
}List Menivor's image, video and audio generation models with their integer micro-USD prices (per image, per second of video, or per audio clip).
| Argument | Type | Description |
|---|---|---|
| modality | string |
{
"type": "object",
"properties": {
"modality": {
"enum": [
"image",
"video",
"audio"
],
"type": "string"
}
},
"additionalProperties": false
}List your scheduled publishes and their status.
No arguments.
{
"type": "object",
"properties": {},
"additionalProperties": false
}Turn HTML the agent wrote into a vertical reel. The heading is the subject and the paragraphs are the narration. Starts the same render as create_reel. Text inside a script or style tag is not spoken. Uses one reel credit per variant. Returns job_id; poll it with get_job.
| Argument | Type | Description |
|---|---|---|
| html* | string | A short HTML page: a heading and paragraphs |
| aspect | string | Output aspect ratio; defaults to 9:16 |
| language | string | Script language code, e.g. en or tr; defaults to auto |
| variants | integer | Render 1 to 3 variants; each uses one credit |
| avatar_id | string | Avatar presenter id from GET /avatars |
| voice_name | string | Voice id from GET /voices |
| caption_style | string | Caption style id |
{
"type": "object",
"required": [
"html"
],
"properties": {
"html": {
"type": "string",
"maxLength": 30000,
"description": "A short HTML page: a heading and paragraphs"
},
"aspect": {
"enum": [
"9:16",
"16:9",
"1:1"
],
"type": "string",
"description": "Output aspect ratio; defaults to 9:16"
},
"language": {
"type": "string",
"maxLength": 8,
"description": "Script language code, e.g. en or tr; defaults to auto"
},
"variants": {
"type": "integer",
"maximum": 3,
"minimum": 1,
"description": "Render 1 to 3 variants; each uses one credit"
},
"avatar_id": {
"type": "string",
"maxLength": 128,
"description": "Avatar presenter id from GET /avatars"
},
"voice_name": {
"type": "string",
"maxLength": 128,
"description": "Voice id from GET /voices"
},
"caption_style": {
"type": "string",
"maxLength": 64,
"description": "Caption style id"
}
},
"additionalProperties": false
}Schedule a finished reel to auto-publish to connected TikTok, Instagram or YouTube Shorts accounts at a future UTC time.
| Argument | Type | Description |
|---|---|---|
| job_id* | string | A completed reel job id |
| platforms* | array | |
| scheduled_at* | string | Future ISO-8601 UTC time |
| youtube_privacy_status | string |
{
"type": "object",
"required": [
"job_id",
"platforms",
"scheduled_at"
],
"properties": {
"job_id": {
"type": "string",
"description": "A completed reel job id"
},
"platforms": {
"type": "array",
"items": {
"enum": [
"tiktok",
"instagram",
"youtube_shorts"
],
"type": "string"
},
"minItems": 1
},
"scheduled_at": {
"type": "string",
"format": "date-time",
"description": "Future ISO-8601 UTC time"
},
"youtube_privacy_status": {
"enum": [
"private",
"unlisted",
"public"
],
"type": "string"
}
},
"additionalProperties": false
}Read your Menivor wallet: available and reserved balance in USD.
No arguments.
{
"type": "object",
"properties": {},
"additionalProperties": false
}{
"type": "object",
"required": [
"subject"
],
"properties": {
"aspect": {
"enum": [
"9:16",
"16:9",
"1:1"
],
"type": "string",
"description": "Output aspect ratio; defaults to 9:16"
},
"script": {
"type": "string",
"maxLength": 5000,
"description": "Optional narration script; generated from the subject when omitted"
},
"subject": {
"type": "string",
"maxLength": 500,
"description": "What the reel is about (the topic or hook)"
},
"language": {
"type": "string",
"maxLength": 8,
"description": "Script language code, e.g. en or tr; defaults to auto"
},
"variants": {
"type": "integer",
"maximum": 3,
"minimum": 1,
"description": "Render 1 to 3 variants; each uses one credit"
},
"avatar_id": {
"type": "string",
"maxLength": 128,
"description": "Avatar presenter id from GET /avatars"
},
"voice_name": {
"type": "string",
"maxLength": 128,
"description": "Voice id from GET /voices"
},
"caption_style": {
"type": "string",
"maxLength": 64,
"description": "Caption style id"
},
"screen_recording_key": {
"type": "string",
"maxLength": 512,
"description": "Key of an uploaded screen recording you own"
}
},
"additionalProperties": false
}