Generate AI images, videos, and music with deterministic pricing. No setup required – start generating in 2 minutes: 1. Create Agent → Get your API key instantly 2. Add Funds → Start from $1 3. Generate → Start creating images, videos, and music VAP is an MCP server that enables image, video, and music generation directly from agentic workflows. It exposes generative media capabilities as portable
Add this skill
npx mdskills install elestirelbilinc-sketch/vap-showcaseProduction-ready MCP server for AI media generation with excellent documentation and cost control
1# VAP Media · Unified MCP Server for AI Agents (Flux · Veo · Suno)23**Generate AI images, videos, and music with deterministic pricing.**4[](https://lobehub.com/mcp/elestirelbilinc-sketch-vap-showcase)5[](https://registry.modelcontextprotocol.io)6[](https://github.com/vapagentmedia/vap-showcase/releases)7[](https://www.python.org/)8[](LICENSE)9[](https://vapagent.com/dashboard/signup.html)1011---1213## Get Started1415**No setup required – start generating in 2 minutes:**16171. **[Create Agent](https://vapagent.com/dashboard/signup.html)** → Get your API key instantly182. **[Add Funds](https://vapagent.com/dashboard/deposit.html)** → Start from $1193. **Generate** → Start creating images, videos, and music2021---2223## Why VAP?2425VAP is an MCP server that enables image, video, and music generation directly from agentic workflows. It exposes generative media capabilities as portable, pay-per-use tools usable across Claude Desktop, Cursor, and other MCP-compatible clients.2627When AI agents work with paid APIs, they need:2829- **Cost visibility** – Know exactly what you'll pay before execution30- **Retry control** – Bounded, predictable retry behavior31- **Clear ownership** – Every task tracked and accountable32- **Enterprise auth** – OAuth 2.1 M2M for secure integrations3334VAP provides this control layer.3536---3738## What VAP Does3940VAP is an **MCP Server** that provides **Flux image generation**, **Veo 3.1 video generation**, and **Suno V5 music generation** with full cost control.4142**Supported AI Models:**43- **Flux2 Pro** – Photorealistic images44- **Veo 3.1** – Cinematic videos45- **Suno V5** – Original music4647**Production Pipeline:**48- FFmpeg post-processing (format conversion, audio normalization)49- Automatic quality optimization for broadcast standards50- Permanent cloud storage with instant CDN delivery51- Aspect ratio auto-detection from prompt (e.g. "16:9 landscape" → correct dimensions)5253**How it works:**54- **Pre-commit pricing** – Know exact cost before execution55- **Reserve → Burn → Refund** – Hard budget guarantees56- **Deterministic behavior** – Predictable results every time57- **Explicit ownership** – Every task has a clear owner5859---6061## How It Works6263```64Agent: "Generate an image of a sunset"65 ↓66VAP: "Reserving cost..."67VAP: "Reserved. Executing..."68VAP: "Success. Here's your image."69```7071If it fails:7273```74Agent: "Generate an image of a sunset"75 ↓76VAP: "Reserving cost..."77VAP: "Reserved. Executing..."78VAP: "Failed. Full refund. Error: Provider timeout"79```8081**Your agent never sees the complexity. It just gets deterministic results.**8283---8485## Presets8687| Type | Preset |88|------|--------|89| Image | `image.basic` |90| Video | `video.basic` |91| Music | `music.basic` |92| Campaign+SEO | `streaming_campaign` |93| Full Production+SEO | `full_production` |9495All media productions are automatically normalized and delivered through a fast, orchestrated pipeline in accordance with defined broadcast quality standards.9697**Pricing:** See [vapagent.com](https://vapagent.com) for current pricing.9899---100101## Try It Free102103Generate an image with zero signup — no API key, no deposit:104105```bash106curl -X POST https://api.vapagent.com/v3/trial/generate \107 -H "Content-Type: application/json" \108 -d '{"prompt": "A mountain landscape at sunset, photorealistic"}'109```110111Rate limit: 3 images per day per IP.112113Ready for more? Create an agent below.114115---116117## MCP Integration118119### Step 1: Get Your API Key120121**Option A: Dashboard (Recommended)**122123Go to **[vapagent.com/dashboard/signup.html](https://vapagent.com/dashboard/signup.html)** and create your agent.124125**Option B: API**126127```bash128curl -X POST https://api.vapagent.com/v3/agents \129 -H "Content-Type: application/json" \130 -d '{"Name": "my-agent"}'131```132133Save the `api_key` from the response. It's shown only once.134135### Step 2: Activate Your Account136137Deposit minimum $1 to unlock generation capabilities:138139```bash140curl -X POST https://api.vapagent.com/v3/deposits/init \141 -H "Authorization: Bearer YOUR_API_KEY" \142 -d '{"amount": 5.00, "provider": "crypto"}'143```144145### Step 3: Configure Your MCP Client146147#### Claude Desktop148149Add to `claude_desktop_config.json`:150151```json152{153 "mcpServers": {154 "vap": {155 "url": "https://api.vapagent.com/mcp",156 "transport": "streamable-http",157 "headers": {158 "Authorization": "Bearer YOUR_API_KEY"159 }160 }161 }162}163```164165#### Cursor166167Add to `.cursor/mcp.json` (project) or `~/.cursor/mcp.json` (global):168169```json170{171 "mcpServers": {172 "vap": {173 "command": "npx",174 "args": [175 "mcp-remote",176 "https://api.vapagent.com/mcp",177 "--header",178 "Authorization: Bearer YOUR_API_KEY"179 ]180 }181 }182}183```184185#### Cline (VS Code)186187Add to Cline MCP settings:188189```json190{191 "mcpServers": {192 "vap": {193 "command": "python",194 "args": ["path/to/mcp/vap_mcp_proxy.py"],195 "env": {196 "VAP_API_KEY": "your_api_key"197 }198 }199 }200}201```202203Restart your client after configuration.204205### Available Tools206207| Tool | What it does |208|------|-------------|209| `generate_image` | Create AI image from text prompt |210| `generate_video` | Create cinematic video from text (Veo 3.1) |211| `generate_music` | Create original music from text (Suno V5) |212| `upscale` | Upscale image resolution (2x/4x) |213| `background_remove` | Remove image background |214| `inpaint` | Edit specific regions of an image |215| `video_trim` | Trim video to specific time range |216| `video_merge` | Merge multiple video clips |217| `estimate_cost` | Preview image generation cost |218| `estimate_video_cost` | Preview video generation cost |219| `estimate_music_cost` | Preview music generation cost |220| `check_balance` | Check your current balance |221| `get_task` | Check status of a generation task |222| `get_operation` | Check status of an edit operation |223| `list_tasks` | List your recent tasks |224225### Alternative: Local Proxy226227For environments that don't support `headers`, use the local proxy:228229```json230{231 "mcpServers": {232 "vap": {233 "command": "python",234 "args": ["/path/to/mcp/vap_mcp_proxy.py"],235 "env": {236 "VAP_API_KEY": "your_api_key"237 }238 }239 }240}241```242243**MCP Registry:** `io.github.elestirelbilinc-sketch/vap-e`244245---246247## OAuth 2.1 (Enterprise)248249For enterprise integrations, VAP supports OAuth 2.1 M2M (machine-to-machine) authentication via [Scalekit](https://scalekit.com).250251### How It Works252253```254OAuth Token → MCP Proxy → Validate → Resolve client_id → Agent → Execute255```256257### Setup258259```bash260# 1. Get OAuth token from your identity provider261curl -X POST "https://your-tenant.scalekit.dev/oauth/token" \262 -d "grant_type=client_credentials" \263 -d "client_id=m2m_xxx" \264 -d "client_secret=your_secret"265266# 2. Link OAuth client to your VAP agent (one-time)267curl -X PUT "https://api.vapagent.com/v3/agents/me/oauth" \268 -H "Authorization: Bearer YOUR_API_KEY" \269 -H "Content-Type: application/json" \270 -d '{"oauth_client_id": "m2m_xxx"}'271272# 3. Use OAuth token with MCP273# The MCP proxy validates tokens and maps to linked agents274```275276### Benefits277278- **SSO Integration** – Connect VAP to your existing identity provider279- **No API Key in Config** – Tokens rotate automatically280- **Audit Trail** – OAuth events logged separately281282---283284## SDK Usage285286### Installation287288```bash289pip install vap-sdk290```291292### Image Generation293294```python295from vape_client import VAPEClient296297client = VAPEClient(api_key="your_api_key")298299result = client.generate(300 description="A serene mountain landscape at sunset"301)302303print(f"Image URL: {result.image_url}")304print(f"Cost: ${result.cost}")305```306307### Video Generation308309```python310# Generate video with Veo 3.1311video = client.generate_video(312 prompt="Cinematic aerial shot of coastal cliffs at golden hour",313 duration=8,314 aspect_ratio="16:9",315 generate_audio=True316)317318print(f"Task ID: {video.task_id}")319320# Poll for completion321task = client.get_task(video.task_id)322print(f"Status: {task.status}")323print(f"Video URL: {task.result_url}")324```325326### Music Generation327328```python329# Generate music with Suno V5330music = client.generate_music(331 prompt="Upbeat indie folk song with acoustic guitar and warm vocals",332 duration=120,333 instrumental=False334)335336print(f"Task ID: {music.task_id}")337338# Check task status339task = client.get_task(music.task_id)340print(f"Audio URL: {task.result_url}")341```342343### Async Usage344345```python346import asyncio347from vape_client import AsyncVAPEClient348349async def main():350 async with AsyncVAPEClient(api_key="your_api_key") as client:351 # Image352 image = await client.generate(description="A futuristic cityscape")353 print(f"Image URL: {image.image_url}")354355 # Video356 video = await client.generate_video(prompt="Ocean waves at sunset")357 print(f"Video Task: {video.task_id}")358359 # Music360 music = await client.generate_music(prompt="Lo-fi chill beats")361 print(f"Music Task: {music.task_id}")362363asyncio.run(main())364```365366### Task Management367368```python369# List recent tasks370tasks = client.list_tasks(limit=10)371for task in tasks.tasks:372 print(f"{task.task_id}: {task.status} - {task.task_type}")373374# Get specific task375task = client.get_task("your-task-id")376print(f"Result: {task.result_url}")377```378379---380381## API Endpoints382383| Endpoint | Method | Description |384|----------|--------|-------------|385| `/v3/agents` | POST | Register new agent |386| `/v3/agents/me/balance` | GET | Check account balance |387| `/v3/agents/me/oauth` | PUT | Link OAuth client (Enterprise) |388| `/v3/agents/me/oauth` | GET | Check OAuth link status |389| `/v3/tasks` | POST | Create media generation task |390| `/v3/tasks/{id}` | GET | Retrieve task status |391| `/v3/execute` | POST | Execute preset (campaign/production) |392| `/v3/operations` | POST | Run edit operation (upscale, bg_remove, etc.) |393| `/v3/operations/{id}` | GET | Check operation status |394| `/v3/deposits/init` POST | Initialize deposit |395| `/v3/trial/generate` | POST | Free trial image (no auth) |396| `/mcp` | - | MCP streamable-http endpoint |397398**Full API Docs:** [vapagent.com/quick-start.html](https://vapagent.com/quick-start.html)399400---401402## The Four Guarantees403404### 1. Pre-Commit Pricing405Every task has a known cost before execution. No surprises.406407### 2. Budget Enforcement408Set a max budget. VAP enforces it. Hit the limit? Task rejected. Balance protected.409410### 3. Failure Ownership411Every task has an explicit owner. Every failure has an address. No more "the agent did something and I don't know what."412413### 4. Deterministic Production Quality414Every output is normalized to broadcast standards. Consistent formats, predictable quality, publish-ready media. No variance between runs.415416---417418## Links419420- **MCP Registry:** [registry.modelcontextprotocol.io](https://registry.modelcontextprotocol.io)421- **API Documentation:** [vapagent.com/quick-start.html](https://vapagent.com/quick-start.html)422- **MCP Endpoint:** `https://api.vapagent.com/mcp`423424---425426## License427428MIT License – see the [LICENSE](LICENSE) file for details.429430---431432**VAP Media · Unified MCP Server for AI Agents**433434*"Deterministic media production for AI agents."*435
Full transparency — inspect the skill content before installing.