← Back to Skills
Media

vap-multimedia-generation

elestirelbilinc-sketch By elestirelbilinc-sketch 👁 18 views ▲ 0 votes

AI image, video.

GitHub
---
name: vap-media
description: AI image, video, and music generation + editing. Flux, Veo 3.1, Suno V5.
metadata: {"clawdbot":{"emoji":"🎬","requires":{"bins":["curl"]}}}
---

# VAP Media - AI Media Generation & Editing

Generate images, videos, and music. Edit with inpaint, ai_edit, upscale, background removal, video trim/merge.

## Mode Selection

Check if `VAP_API_KEY` is set:

- **VAP_API_KEY not set** → Use Free Mode (images only, 3/day)
- **VAP_API_KEY set** → Use Full Mode (all features, unlimited)

---

## Free Mode (No API Key)

Generate images for free. No signup required. 3 per day.

### Generate Image

```bash
curl -s -X POST https://api.vapagent.com/v3/trial/generate \
  -H "Content-Type: application/json" \
  -d '{"prompt":"PROMPT"}'
```

Returns `{"task_id":"UUID","status":"pending","remaining":2}`.

### Poll Result

```bash
curl -s https://api.vapagent.com/v3/trial/status/TASK_ID
```

Returns `{"status":"completed","image_url":"https://..."}` when done.

### Free Mode Errors

- `429` → Daily limit reached. Suggest upgrading: `export VAP_API_KEY=vap_xxx`
- `503` → Trial service temporarily unavailable.

---

## Full Mode (With API Key)

Unlimited images, video, music, and editing operations.

### Create Task

```bash
curl -s -X POST https://api.vapagent.com/v3/tasks \
  -H "Authorization: Bearer $VAP_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"type":"TYPE","params":{"description":"PROMPT"}}'
```

Returns `{"task_id":"UUID","status":"pending","estimated_cost":"0.1800"}`.

### Poll Result

```bash
curl -s https://api.vapagent.com/v3/tasks/TASK_ID \
  -H "Authorization: Bearer $VAP_API_KEY"
```

Returns `{"status":"completed","result":{"output_url":"https://..."}}` when done.

### Task Types & Parameters

#### Image (`image` or `image_generation`)

| Param | Type | Default | Description |
|-------|------|---------|-------------|
| `description` | string | required | Image description |
| `aspect_ratio` | enum | `1:1` | `1:1`, `16:9`, `9:16`, `4:3`, `3:4`, `3:2`, `2:3`, `21:9`, `9:21` |
| `quality` | enum | `standard` | `standard` ($0.18) or `high` ($0.27) |

**Tip:** Aspect ratio is auto-detected from prompt text. "a wide landscape photo" → 16:9 automatically.

#### Video (`video` or `video_generation`) — Tier 2+

| Param | Type | Default | Description |
|-------|------|---------|-------------|
| `description` | string | required | Video description |
| `duration` | int | `8` | `4`, `6`, or `8` seconds |
| `aspect_ratio` | enum | `16:9` | `16:9` (landscape) or `9:16` (portrait) |
| `generate_audio` | bool | `true` | Include audio track |
| `resolution` | enum | `720p` | `720p` or `1080p` (+33% cost) |
| `negative_prompt` | string | `""` | What to avoid |

#### Music (`music` or `music_generation`) — Tier 2+

| Param | Type | Default | Description |
|-------|------|---------|-------------|
| `description` | string | required | Music description (genre, mood, instruments) |
| `duration` | int | `120` | 30-480 seconds |
| `instrumental` | bool | `false` | No vocals |
| `audio_format` | enum | `mp3` | `mp3` or `wav` (lossless, +$0.10) |
| `loudness_preset` | enum | `streaming` | `streaming` (-14 LUFS), `apple` (-16 LUFS), `broadcast` (-23 LUFS) |
| `style` | string | none | Genre/style (max 1000 chars) |
| `title` | string | none | Song title |
| `custom_mode` | bool | `false` | Enable custom lyrics + style mode |

### Pricing

| Type | Cost |
|------|------|
| Image (standard) | $0.18 |
| Image (high quality) | $0.27 |
| Video (720p, 8s, audio) | $4.80 |
| Video (720p, 8s, no audio) | $2.40 |
| Music | $0.68 |
| Music (WAV) | $0.78 |

### Full Mode Errors

- `401` → Invalid API key.
- `402` → Insufficient balance. Top up at https://vapagent.com/dashboard/signup.html
- `403` → Tier too low for this task type.

---

## Operations (Edit & Enhance)

Post-production editing operations. Tier 1+ required.

### Create Operation

```bash
curl -s -X POST https://api.vapagent.com/v3/operations \
  -H "Authorization: Bearer $VAP_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"operation":"OPERATION","media_url":"URL","prompt":"INSTRUCTION"}'
```

### Poll Operation

```bash
curl -s https://api.vapagent.com/v3/operations/OPERATION_ID \
  -H "Authorization: Bearer $VAP_API_KEY"
```

### Available Operations

| Operation | Cost | Required Params | Description |
|-----------|------|-----------------|-------------|
| `inpaint` | $0.15 | `media_url`, `prompt` | AI editing (optional: `mask_url`) |
| `ai_edit` | $0.15 | `media_url`, `prompt` | AI-powered image editing with text instructions (optional: `additional_images`) |
| `background_remove` | $0.10 | `media_url` | Remove background |
| `upscale` | $0.15 | `media_url` | Enhance resolution (`scale`: 2 or 4) |
| `video_trim` | $0.05 | `media_url`, `start_time`, `end_time` | Trim video |
| `video_merge` | $0.05 | `media_urls` (array, min 2) | Merge video clips |

---

## Instructions

When a user asks to create/generate/make an image, video, or music:

1. **Improve the prompt** — Add style, lighting, composition, mood details
2. **Check mode** — Is `VAP_API_KEY` set?
3. **Choose endpoint**:
   - Single asset → `/v3/tasks` (or `/v3/trial/generate` for free)
   - Edit/enhance → `/v3/operations`
   - Campaign (video+music+thumbnail) → `/v3/execute` with preset
4. **Set aspect ratio** — Match the content need (portrait for social, widescreen for YouTube)
5. **Poll for result** — Check task/operation status until completed
6. **Return the media URL** to the user
7. If free mode limit is hit, tell the user: "You've used your 3 free generations today. For unlimited access, set up an API key: https://vapagent.com/dashboard/signup.html"

When a user asks to edit/enhance/modify an existing image or video:

1. **Identify the operation** — inpaint, ai_edit, upscale, background remove, trim, merge
2. **Get the media URL** — From a previous generation or user-provided URL
3. **Submit operation** → `/v3/operations`
4. **Poll for result** — Return the output URL

### Free Mode Example

```bash
# Create (no auth needed)
curl -s -X POST https://api.vapagent.com/v3/trial/generate \
  -H "Content-Type: application/json" \
  -d '{"prompt":"A fluffy orange tabby cat on a sunlit windowsill, soft bokeh, golden hour light, photorealistic"}'

# Poll
curl -s https://api.vapagent.com/v3/trial/status/TASK_ID
```

### Full Mode Examples

```bash
# Image (widescreen)
curl -s -X POST https://api.vapagent.com/v3/tasks \
  -H "Authorization: Bearer $VAP_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"type":"image","params":{"description":"A fluffy orange tabby cat on a sunlit windowsill, soft bokeh, golden hour light, photorealistic","aspect_ratio":"16:9"}}'

# Video (portrait, for social media)
curl -s -X POST https://api.vapagent.com/v3/tasks \
  -H "Authorization: Bearer $VAP_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"type":"video","params":{"description":"Drone shot over misty mountains at sunrise","duration":8,"aspect_ratio":"9:16","resolution":"1080p"}}'

# Music (instrumental WAV)
curl -s -X POST https://api.vapagent.com/v3/tasks \
  -H "Authorization: Bearer $VAP_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"type":"music","params":{"description":"Upbeat lo-fi hip hop beat, warm vinyl crackle, chill vibes","duration":120,"instrumental":true,"audio_format":"wav","loudness_preset":"streaming"}}'

# Inpaint (edit an image)
curl -s -X POST https://api.vapagent.com/v3/operations \
  -H "Authorization: Bearer $VAP_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"operation":"inpaint","media_url":"https://example.com/photo.jpg","prompt":"Remove the person in the background"}'

# Upscale (4x)
curl -s -X POST https://api.vapagent.com/v3/operations \
  -H "Authorization: Bearer $VAP_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"operation":"upscale","media_url":"https://example.com/photo.jpg","options":{"scale":4}}'

# Background Remove
curl -s -X POST https://api.vapagent.com/v3/operations \
  -H "Authorization: Bearer $VAP_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"operation":"background_remove","media_url":"https://example.com/photo.jpg"}'

# Poll (use task_id or operation_id from response)
curl -s https://api.vapagent.com/v3/tasks/TASK_ID \
  -H "Authorization: Bearer $VAP_API_KEY"
```

### Production Presets (Multi-Asset)

For content campaigns, use `/v3/execute` to generate multiple assets from one prompt:

```bash
curl -s -X POST https://api.vapagent.com/v3/execute \
  -H "Authorization: Bearer $VAP_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"preset":"streaming_campaign","prompt":"PROMPT"}'
```

Returns all assets when complete:
```json
{"status":"completed","outputs":{"video":"https://...","music":"https://...","thumbnail":"https://..."}}
```

| Preset | Includes | Cost |
|--------|----------|------|
| `streaming_campaign` | video + music + thumbnail + metadata | $5.90 |
| `full_production` | video + music + thumbnail + metadata + SEO | $7.90 |
| `video.basic` | video only | $1.96 |
| `music.basic` | music only | $0.68 |
| `image.basic` | image only | $0.18 |

---

## Prompt Tips

- **Style:** "oil painting", "3D render", "watercolor", "photograph", "flat illustration"
- **Lighting:** "golden hour", "neon lights", "soft diffused light", "dramatic shadows"
- **Composition:** "close-up", "aerial view", "wide angle", "rule of thirds"
- **Mood:** "serene", "energetic", "mysterious", "whimsical"
- **Aspect ratio in prompt:** Mentioning "widescreen", "portrait", or "16:9" in your prompt auto-sets the aspect ratio.

## Setup (Optional — for Full Mode)

1. Sign up: https://vapagent.com/dashboard/signup.html
2. Get API key from dashboard
3. Set: `export VAP_API_KEY=vap_xxxxxxxxxxxxxxxxxxxx`

## Links

- [Try Free](https://vapagent.com/try)
- [API Docs](https://api.vapagent.com/docs)
- [GitHub](https://github.com/vapagentmedia/vap-showcase)
media

Comments

Sign in to leave a comment

Loading comments...