Aetherwave Studio
OfficialAetherwave Studio's MCP server lets LLMs generate, edit, upscale, reframe, and master creative AI content across music, image, video, and audio using a single API key and credit pool (16 tools total).
Account & Discovery
Check credit balance and plan details
List available image models, video models, and mastering presets with pricing and capabilities
Image Generation
Generate images from text (T2I) or reference images (I2I) using 8+ models: Grok Imagine, GPT Image 2, Seedream V4, Wan 2.7, Imagen 4, Ideogram V3, Z-Image Turbo, etc.
Control aspect ratio, resolution, number of outputs, seed, and negative prompts
Image Editing & Utilities
Edit existing images with AI guidance via a text prompt (e.g., Flux Kontext, GPT Image 1.5, Midjourney I2I, Qwen Edit, etc.)
Upscale images 1x–8x using Topaz
Remove backgrounds (Recraft primary + BiRefNet v2 fallback), returning transparent PNGs
Reframe images to new aspect ratios via Ideogram V3 outpainting
Video Generation
Generate videos from text (T2V) or images (I2V) using 7+ model families: Grok Imagine, Wan 2.7, Hailuo 02, Seedance Pro/Lite, Kling 2.6 (with audio), VEO 3.1, Happy Horse
Control duration, resolution, aspect ratio; select models support first+last frame interpolation
Video Utilities
Upscale videos to 1080p or 2K using Atlas Video Upscaler
Remove backgrounds frame-by-frame (rembg), outputting transparent WebM or solid-color replacement
Reframe videos to new aspect ratios using Luma Ray 2 Flash with optional steering prompt
Music Generation
Generate music via Suno (V3.5–V5.5), producing two tracks per submission; supports custom lyrics, instrumental mode, and title labeling
Audio Mastering
Master audio using 12 genre/style presets (streaming, hip-hop, EDM, pop, rock, lo-fi, R&B, acoustic, cinematic, podcast, loud, gentle); output is lossless WAV, auto-saved to gallery
Content Management
Browse your gallery with pagination and filtering by media type or favorites, enabling chained workflows (e.g., "reframe my last 5 images to 9:16")
Allows generating music using Suno AI models (V3.5 to V5.5) with support for lyrics, instrumental mode, and multiple tracks per submission.
@aetherwave-studio/mcp
Model Context Protocol server for AetherWave Studio. Drop it into any MCP-compatible client (Claude Code, Cursor, Continue, Claude Desktop, custom agents) and your LLM can generate, edit, upscale, reframe, and master across every flagship creative AI provider through one API key, one credit pool.
One install. One token. Sixteen tools covering:
Music - Suno V3.5 / V4 / V4.5 / V5 / V5.5
Image gen - Grok Imagine, GPT Image 2, Seedream V4, Wan 2.7, Imagen 4, Nano Banana, Ideogram V3, Z-Image Turbo
Image edit - Grok Imagine I2I, Seedream V4 Edit, Flux Kontext, Wan 2.5 Spicy, Qwen Edit, Midjourney I2I, GPT Image 1.5
Image utility - Topaz upscale, Recraft background removal (with fal BiRefNet v2 fallback), Ideogram V3 Reframe
Video - Grok Imagine (KIE+fal fallback), Wan 2.7, Hailuo 02, Seedance Pro/Lite, Kling 2.6 (audio), VEO 3.1, Happy Horse
Video utility - Atlas upscaler (1080p/2K), rembg u2netp background removal, Luma Ray 2 Flash reframe
Audio mastering - 12 genre/style presets via the AetherWave Python service
Gallery read - paginated list of your saved creations
Every generation tool submits the job, polls until terminal state, and returns the final URL. The agent gets a single round-trip, no manual polling loop. Results auto-save to your Cloudflare R2 gallery so URLs don't expire.
Quick start
# 1. Get a key at https://aetherwavestudio.com/profile (Developer tab)
# 2. Add to your MCP client config (see below)
# 3. Restart the client
# 4. Ask your agent to "generate a synthwave album cover, then animate it"Claude Code
claude mcp add aetherwave \
-e AETHERWAVE_API_KEY=aw_live_your_key_here \
-- npx -y @aetherwave-studio/mcpClaude Desktop
Edit ~/Library/Application Support/Claude/claude_desktop_config.json (macOS) or %APPDATA%\Claude\claude_desktop_config.json (Windows):
{
"mcpServers": {
"aetherwave": {
"command": "npx",
"args": ["-y", "@aetherwave-studio/mcp"],
"env": {
"AETHERWAVE_API_KEY": "aw_live_..."
}
}
}
}Restart Claude Desktop.
Cursor
In Cursor Settings -> MCP -> Add new server:
{
"aetherwave": {
"command": "npx",
"args": ["-y", "@aetherwave-studio/mcp"],
"env": { "AETHERWAVE_API_KEY": "aw_live_..." }
}
}Continue (VS Code / JetBrains)
In your ~/.continue/config.yaml:
mcpServers:
- name: aetherwave
command: npx
args: ["-y", "@aetherwave-studio/mcp"]
env:
AETHERWAVE_API_KEY: aw_live_...Custom / programmatic clients
Standard stdio MCP server. Any client that speaks JSON-RPC 2.0 over stdio per the MCP spec can connect:
AETHERWAVE_API_KEY=aw_live_... npx -y @aetherwave-studio/mcpRelated MCP server: Google Veo 3.1 MCP Server
Tools at a glance
Tool | Purpose |
| Current credit balance + plan |
| Enumerate every image model with cost, speed, I2I support |
| Enumerate every video model with cost-per-second, durations, resolutions |
| Enumerate the 12 mastering presets with target LUFS, tags, descriptions |
| T2I or I2I across 8+ models. Default |
| T2V or I2V across 7+ model families. Default |
| Suno V5.5 by default. Two tracks per submission, lyrics + instrumental |
| I2I editing. Default |
| Topaz upscale 1x / 2x / 4x / 8x |
| Ideogram V3 Reframe to a new aspect ratio (outpaints edges) |
| Recraft primary + fal BiRefNet v2 fallback (auto failover). Output auto-saved to gallery |
| Atlas Video Upscaler, 1080p or 2K |
| Frame-by-frame bg removal via rembg u2netp. Transparent WebM or solid color output. 2 cr/sec |
| Luma Ray 2 Flash reframe to new aspect ratio |
| AI mastering across 12 genre/style presets. 20 cr/track, free on Producer / Mogul / Ultimate plans |
| Paginated gallery read for chained workflows |
Every generation tool includes a model-selection rubric in its description. Your agent can pick the right model from prompt intent without round-tripping list_image_models or list_video_models.
Tools reference
aetherwave_balance
Returns current credit balance. No inputs.
Returns: { credits, plan, ... }
aetherwave_list_image_models
Returns every image model with credit cost, supported inputs, resolution/aspect options. No inputs.
Returns: { models: [...] }
aetherwave_list_video_models
Returns every video model with per-second credit cost, durations, resolutions, aspect ratios. No inputs.
Returns: { models: [...] }
aetherwave_list_master_presets
Returns every mastering preset with target LUFS, tags, descriptions, difficulty. No inputs. Call this before master_audio when you don't know which preset fits the track.
Returns: { presets: [...] } (each: { id, name, description, target_lufs, tags, difficulty, icon })
aetherwave_generate_image
T2I or I2I. Submits, polls, returns final URLs.
Param | Type | Required | Default | Notes |
| string | yes | — | Text description of the image |
| string | no |
| Model ID. Use |
| string | no | model default | e.g. |
| string | no | model default |
|
| string[] | no | — | URLs for I2I; required if model is I2I |
| int (1-8) | no | model default | For multi-output models |
| string | no | — | Supported by some models |
| int | no | — | Deterministic generation, supported by some |
Selection signals (built into the tool description): photoreal → z-image-turbo or imagen-4. Text-in-image → ideogram-v3-t2i. NSFW → wan-2.5-spicy-t2i. Premium → grok-imagine-quality-t2i or imagen-4-ultra. Cheapest → z-image-turbo (3 cr).
Returns: { taskId, state, images, autoSaved, creationIds }
aetherwave_generate_video
T2V or I2V. Submits, polls up to 8 min, returns final URL.
Param | Type | Required | Default | Notes |
| string | yes | — | Text description of the scene |
| string | no |
| Model ID. Use |
| int (2-30) | no | model default | Seconds. Grok accepts 6-15 |
| enum | no | model default |
|
| string | no | model default | e.g. |
| string | no | — | Required for I2V models |
| string | no | — | Some I2V models support first+last frame |
| enum | no |
| Grok Imagine: |
Returns: { taskId, state, videoUrl, fallbackProvider, autoSaved, creationId, kieTaskId }
aetherwave_generate_music
Suno music generation. Two tracks per submission.
Param | Type | Required | Default | Notes |
| string | yes | — | Style/mood/topic description |
| boolean | no |
| If true, no vocals |
| enum | no |
|
|
| string | no | — | Optional title for the tracks |
| string | no | — | Custom lyrics, omit to let Suno write them |
Returns: { taskId, status, tracks }
aetherwave_edit_image
I2I editing guided by a text prompt.
Param | Type | Required | Default | Notes |
| string | yes | — | Text description of the edit |
| string | yes | — | Public URL of source image |
| string | no |
| 3 cr/image effective, 2 outputs |
| string | no | source ratio | e.g. |
| string | no | model default | Some models: |
| enum | no | model default |
|
| int (1-8) | no | — | For multi-output models |
| enum | no | model default |
|
| string | no | — | Supported by some models |
Selection signals: subtle edits / character consistency → flux-kontext-pro. NSFW → wan-2.5-spicy-i2i. Highest quality → gpt-image-1.5-i2i or grok-imagine-quality-i2i. Stylized → midjourney-i2i. Single-output / 4K → seedream-v4-edit.
URL gotcha: source URLs with spaces or parentheses may fail upstream. Prefer clean URLs without special characters.
Returns: { taskId, state, images, autoSaved, creationIds }
aetherwave_upscale_image
Topaz upscaler.
Param | Type | Required | Default | Notes |
| string | yes | — | Public URL of source image |
| enum | no |
|
|
Credit cost scales with source resolution × factor.
Returns: { taskId, state, images, autoSaved, creationIds }
aetherwave_reframe_image
Ideogram V3 Reframe. Outpaints edges to fit a new aspect ratio.
Param | Type | Required | Default | Notes |
| string | yes | — | Public URL of source image |
| string | yes | — | Target ratio: |
| enum | no |
|
|
Returns: { taskId, state, images, autoSaved, creationIds }
aetherwave_remove_background
Recraft primary + fal.ai BiRefNet v2 fallback. ~5 cr per image.
Param | Type | Required | Default | Notes |
| string | yes | — | Public URL of source image |
Returns: { taskId, state, images } (PNG with transparent alpha)
aetherwave_upscale_video
Atlas Video Upscaler. Targets 1080p or 2K.
Param | Type | Required | Default | Notes |
| string | yes | — | Public URL of source video (MP4) |
| enum | no |
|
|
Returns: { taskId, status, videoUrl, autoSaved, creationId }
aetherwave_remove_background_video
Frame-by-frame background removal via rembg u2netp on AetherWave's Python service. 2 cr/sec.
Param | Type | Required | Default | Notes |
| string | yes | — | Public URL of source video (MP4) |
| enum | no |
|
|
| string | no |
| Hex color for solid replacement when |
Returns: { taskId, status, videoUrl, autoSaved, creationId }
aetherwave_reframe_video
Luma Ray 2 Flash reframe to a new aspect ratio. 17 cr/sec.
Param | Type | Required | Default | Notes |
| string | yes | — | Public URL of source video (MP4) |
| enum | yes | — |
|
| string | no | — | Optional steering prompt for new edge content (e.g. "extend the sky with sunset clouds") |
Returns: { taskId, status, videoUrl, autoSaved, creationId }
aetherwave_master_audio
AI mastering via the AetherWave Python service. Synchronous response (route polls internally, expect 30s-5min). 20 credits per track. Free for Producer, Mogul, and Ultimate plans. Output is WAV (~50MB per 3-min track) and auto-rehosted to Cloudflare R2.
Param | Type | Required | Default | Notes |
| string | yes | — | Public URL to MP3 or WAV |
| string | yes | — | One of 12 (see below) |
| string | no | — | Optional title for gallery row |
Preset list (12, retrieved live from /api/master-presets):
Preset | Name | Target LUFS | Use for |
| Streaming Ready | -14 | Spotify, Apple Music, YouTube |
| Loud & Punchy | -9 | Competitive loudness |
| Gentle Touch | -16 | Acoustic, classical, jazz |
| Hip Hop / Trap | -11 | Heavy low + crisp highs + 808s |
| EDM / Electronic | -10 | House, techno, dubstep, drops |
| Pop / Top 40 | -12 | Radio-ready polish |
| Rock / Alternative | -12 | Punchy mids, gritty edge |
| Lo-Fi / Chill | -14 | Warm, relaxed |
| R&B / Soul | -13 | |
| Acoustic / Folk | -16 | Preserves dynamics |
| Cinematic / Orchestral | -18 | Wide dynamics |
| Podcast / Voice | -16 | Voice-forward |
Returns: { success, masteredUrl, preset, trackTitle, creditsCharged, isFree }
aetherwave_list_my_creations
Paginated gallery read. Useful for chaining ("reframe my last 5 images to 9:16").
Param | Type | Required | Default | Notes |
| enum | no | all |
|
| int (1-500) | no | 100 | Max items |
| int | no | 0 | Pagination offset |
| boolean | no |
| Filter to favorites |
Returns: { items, total, offset, limit, hasMore }. Each item: { id, type, title, prompt, model, createdAt, isFavorite, contentUrl, thumbnailUrl, visibility, rating, duration?, width?, height?, likeCount, totalPlays, metadata }.
Credits & pricing
AetherWave uses a single credit pool. Buy bundles starting at $4.99 / 500 credits (bundle credits never expire) or subscribe to Studio ($9.99/mo, 1,700 credits, 3-day free trial). Both work for API calls.
Typical costs:
Image gen - 3 cr (Z-Image Turbo) to 22 cr (Grok Imagine Quality at 2K)
Image edit - 3 cr/image (Grok Imagine I2I) to 22 cr (Grok Imagine Quality I2I at 2K)
Image utility - 5 cr (background removal, reframe at turbo speed), 5-25+ cr (Topaz upscale, resolution-dependent)
Video - 4-6 cr/sec (Grok Imagine) up to ~80 cr/sec (VEO 3.1)
Music - 12 cr per generation (2 tracks)
Mastering - 20 cr/track (free on Producer / Mogul / Ultimate)
See live pricing at https://aetherwavestudio.com/buy-credits or via aetherwave_list_*_models.
Environment variables
Variable | Required | Default | Description |
| yes | — | Your API key. Get one at /profile -> Developer tab. Must start with |
| no |
| Override the API base URL (useful for staging or self-hosted). |
Troubleshooting
"AETHERWAVE_API_KEY environment variable is required"
Your MCP client isn't passing the env var. Make sure the env block in your client config has AETHERWAVE_API_KEY set. After editing config, fully restart the client.
"AetherWave API ... failed: 401 - Invalid API key" The key has been revoked or regenerated. Visit https://aetherwavestudio.com/profile -> Developer tab and copy a fresh key.
"AetherWave API ... failed: 402 - Insufficient credits"
Your balance is too low for the requested operation. Call aetherwave_balance to confirm, then top up at https://aetherwavestudio.com/buy-credits.
"AetherWave generation timed out after Xs"
The provider is queueing. The job may still complete server-side - check the AetherWave gallery at https://aetherwavestudio.com/gallery.html. If timeouts persist for a particular model, try a different one (e.g. switch from grok-imagine-t2v to wan-2-7-t2v, or gpt-image-1.5-i2i to grok-imagine-i2i).
"Unprocessable Entity" on reframe Ideogram's URL fetcher chokes on source URLs containing spaces, parentheses, or other special characters. Use clean URLs (try downloading and re-uploading to a clean R2 path if needed).
"internal error, please try again later" on remove_background KIE Recraft transient outage. The tool will auto-fall-back to fal.ai BiRefNet v2 on retry, but a single call returning this error means both providers refused. Wait a minute and retry.
Soul Forge band generation Not exposed via MCP. Soul Forge remains a consumer feature on the web at https://aetherwavestudio.com/soul-forge.
Versioning
This package follows semver. Tools that change behavior in a breaking way will bump the major version. New tools and additive parameters bump the minor version. Bug fixes bump the patch version.
The MCP protocol version itself (currently 2024-11-05) is negotiated at handshake time by the SDK; no client config needed.
Links
AetherWave Studio: https://aetherwavestudio.com
Developer docs: https://aetherwavestudio.com/developers
Get an API key: https://aetherwavestudio.com/profile (Developer tab)
Buy credits: https://aetherwavestudio.com/buy-credits
License
MIT. See LICENSE.
Available Tools
16 toolsaetherwave_balanceCheck credit balanceARead-only
Returns the current AetherWave credit balance for the API key. Use this BEFORE a generation to confirm sufficient credits, especially for video which can cost 30-300+ credits depending on model/duration/resolution.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already mark readOnlyHint=true and openWorldHint=true. The description adds value by noting credit cost ranges for video, but does not disclose further behavioral traits like latency or caching.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two concise sentences: first states the main purpose, second provides usage context. No wasted words, front-loaded effectively.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Fully adequate for a no-parameter, read-only tool with annotations. The description provides essential usage context and a practical example.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
No parameters exist (schema coverage 100%), so baseline score is 4. Description does not need to add parameter info.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states 'Returns the current AetherWave credit balance for the API key' with a specific verb and resource. It distinguishes from sibling tools that involve generation or editing.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Explicitly advises using the tool before generation to confirm sufficient credits, with cost context for video. This provides clear when-to-use guidance.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
aetherwave_edit_imageEdit image with AI (I2I)A
Edits an existing image guided by a text prompt. Pass a public imageUrl plus a prompt describing the change ("add a moon to the sky", "swap the background for a neon city", "make it look like a comic panel"). Submits, polls, and returns the edited image URL(s). Default model is 'grok-imagine-i2i' (6 cr per call, returns 2 variations, ~30s, best cost-to-quality on standard edits). Other I2I-capable models: 'seedream-v4-edit', 'wan-2.5-spicy-i2i', 'flux-kontext-pro', 'qwen-image-edit', 'gpt-image-1.5-i2i' (slow, ~5min). Use list_image_models for full lineup. Note: source URLs with spaces or parentheses may fail upstream; prefer clean URLs.
Model selection guide for edits
Default: grok-imagine-i2i (6 cr per call, returns 2 variations = 3 cr/image effective, fast ~30s, strong general-purpose edit quality).
Pick a different model when:
Need a single deterministic output, or 4K resolution ->
seedream-v4-edit(7 cr per image, supports 1K/2K/4K, multi-image up to 6)Subtle edits / preserve composition / character consistency ->
flux-kontext-proorflux-kontext-maxNSFW edits ->
wan-2.5-spicy-i2iHighest quality, time is not a concern (~5 min OK) ->
gpt-image-1.5-i2iorgrok-imagine-quality-i2i(16 cr @ 1K, 22 cr @ 2K)Stylized / artistic transformation ->
midjourney-i2i
If the user simply says "edit this image" with no other signal, default to grok-imagine-i2i.
| Name | Required | Description | Default |
|---|---|---|---|
| prompt | Yes | Text description of the edit (e.g. 'replace the sky with sunset clouds'). | |
| imageUrl | Yes | Public URL of the source image to edit. Must be a real, fetchable URL. | |
| model | No | Model ID. Defaults to 'grok-imagine-i2i' (3 cr/image effective, 2 outputs). Other options: 'seedream-v4-edit', 'wan-2.5-spicy-i2i', 'flux-kontext-pro', 'qwen-image-edit', 'gpt-image-1.5-i2i', 'grok-imagine-quality-i2i'. Use list_image_models for the full list. | |
| aspectRatio | No | Output aspect ratio (e.g. '1:1', '16:9'). Defaults to the source ratio for most models. | |
| resolution | No | Output resolution. Tiered-pricing models accept '1K' / '2K'. | |
| quality | No | Quality preset for models that support it (e.g. GPT Image 2). | |
| maxImages | No | Number of variations to return for multi-output models. | |
| renderingSpeed | No | Rendering speed preset for models that support it. | |
| negative_prompt | No | What to avoid in the output (supported by some models). |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Discloses submission, polling, and return of edited image URLs. Includes cost (6 cr per call), time (~30s), and failure modes (URLs with spaces/parentheses). No contradiction with annotations (readOnlyHint=false, openWorldHint=true).
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Well-structured with headings and bullet points. Every sentence adds value. Slightly long but justified by complexity. Front-loaded with core action, then detailed model guide.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given 9 parameters, openWorldHint=true, and no output schema, the description is thorough. Explains return behavior, default model, cost, time, and caveats. Covers all needed context for an agent to use correctly.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Despite 100% schema coverage, description adds significant value: explains default model, cost, output count, speed, and model trade-offs. For imageUrl, warns about clean URLs. For model, provides detailed usage scenarios beyond schema.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
Title and description clearly state it edits an existing image using AI with a text prompt. The verb 'edit image' and resource 'public imageUrl plus prompt' are specific. Distinguishes from siblings like generate_image, remove_background, etc.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Provides an explicit model selection guide with when to use each model, default behavior, and fallback. Includes a concrete instruction: 'If the user simply says "edit this image" with no other signal, default to grok-imagine-i2i.'
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
aetherwave_generate_imageGenerate image (Grok Imagine, GPT Image 2, Seedream V4, Wan, Imagen 4, Nano Banana, Ideogram V3, Z-Image Turbo)A
Generates one or more images from a text prompt (T2I) or a text prompt + reference image(s) (I2I). Submits the job, polls until terminal, and returns the final image URLs. Default model is 'grok-imagine-t2i' (fast, 6 images per generation, 5 credits). Use list_image_models to see the full lineup with pricing. For I2I, pass referenceImages as an array of public image URLs and pick a model with I2I support (e.g. 'grok-imagine-i2i', 'wan-2.5-spicy-i2i').
Model selection guide (when the user does not specify a model)
Default: grok-imagine-t2i (5 cr, 6 outputs per call, fast, general purpose).
Strong recommendation: when a single high-quality output is what's wanted (most agent / one-shot workflows), prefer gpt-image-2-t2i (9 cr @ 1K / higher @ 2K, single deterministic image, best general quality across realism, illustration, typography, and composition; supports up to 2K resolution and most aspect ratios including auto). This is the front-runner for serious creative output where you don't need to pick from 6 variations.
Pick a different model when the prompt has these signals:
"single best result" / "one image" / production / no time to pick from variations ->
gpt-image-2-t2i(9 cr, 1 output, top general quality)"photoreal" / "photo of" / "realistic" ->
gpt-image-2-t2i(9 cr, best general realism) orimagen-4(12 cr, very high quality) orz-image-turbo(3 cr, fastest)"highest quality" / "premium" / no budget ->
gpt-image-2-t2iat 2K, orgrok-imagine-quality-t2i(16 cr @ 1K, 22 cr @ 2K), orimagen-4-ultraText inside the image (signs, posters, typography) ->
ideogram-v3-t2i(best in class) orgpt-image-2-t2i(also strong)Artistic / painterly / stylized ->
midjourney-t2iAlbum art / cover art ->
gpt-image-2-t2ifor one strong image;grok-imagine-t2ifor 6 variations to choose from;seedream-v4-t2iif 4K wantedLogo or design with embedded text ->
ideogram-v3-t2iNSFW / adult / explicit ->
wan-2.5-spicy-t2i(auto-tags creation as 18+; routes to adult gallery)Cheapest possible / quick test ->
z-image-turbo(3 cr)Multiple variations to compare -> keep
grok-imagine-t2i(6 outputs default) or usenumImageson a multi-output model
For I2I (reference image provided): prefer the dedicated aetherwave_edit_image tool for "change something in this image" intent. Use aetherwave_generate_image with I2I models only when you specifically want style transfer (midjourney-i2i), premium quality (grok-imagine-quality-i2i), or adult content (wan-2.5-spicy-i2i).
Always pass an explicit aspectRatio (e.g. "1:1" for square album art, "16:9" for video thumbnails, "9:16" for shorts/reels). Some upstream providers reject submissions with no aspect ratio.
Ask the user only when:
The prompt contradicts itself (e.g., "highest quality but cheapest")
The user requested "the best model" with no context, surface 2-3 options with tradeoffs
A single generation would cost more than 20 credits and the user has not confirmed
| Name | Required | Description | Default |
|---|---|---|---|
| prompt | Yes | Text description of the image to generate. | |
| model | No | Model ID. Defaults to 'grok-imagine-t2i'. Use list_image_models for the full list. | |
| aspectRatio | No | Aspect ratio (e.g. '1:1', '16:9', '9:16'). Pass this explicitly when possible; some upstream providers reject submissions without an aspect ratio. Default ratios vary by model. | |
| resolution | No | Output resolution. Most models accept '1K' or '2K'; some accept '480p'/'720p'. | |
| referenceImages | No | Array of public image URLs for image-to-image generation. Required when using an I2I model. A single URL string is also accepted (wrapped as a one-element array). | |
| numImages | No | Number of images for models that support multiple outputs. | |
| negative_prompt | No | What to avoid in the output (supported by some models). | |
| seed | No | Seed for deterministic generation (supported by some models). |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Describes the job submission and polling process, credit costs, and the importance of aspectRatio. Annotations add minimal behavior info (readOnlyHint false, destructiveHint false), so the description carries the burden. It does not explicitly mention timeout behavior or error handling upon failure, which is a minor gap.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Well-structured with a main paragraph followed by a bullet-point model selection guide. It is lengthy but appropriate given the tool's complexity (8 parameters, multiple models). Could be slightly more concise, but the organization makes it easy to scan.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Covers usage, model selection, parameter details, and when to ask the user. No output schema exists, so the description should explain the return format, which it does succinctly ('returns the final image URLs'). Missing details on error handling or pagination, but sufficient for the tool's complexity.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100% (all 8 parameters documented). The description adds substantial value beyond the schema: detailed model selection guide, referenceImages usage, aspectRatio criticality, and numImages constraints. For example, the model parameter schema only says 'Defaults to...', while the description provides a comprehensive decision tree.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states it generates images from text or text+reference images, specifies the default model and ability to get multiple outputs, and distinguishes from sibling tools like aetherwave_edit_image for I2I modifications. The verb 'Generates' is specific and the resource 'image' is clearly defined.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Provides an extensive model selection guide with explicit when-to-use recommendations based on user intent (e.g., single high-quality output, photoreal, NSFW, cheapest). Also advises when to use aetherwave_edit_image for I2I changes and when to ask the user (contradictory prompts, expensive generations). Covers exclusion criteria and alternatives thoroughly.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
aetherwave_generate_musicGenerate music (Suno)A
Generates AI music via Suno. Returns two tracks per submission. Default model is V5.5 (newest, best quality). For instrumental output set instrumental: true. Music gen typically takes 30-90s - this tool polls with up to a 6-minute budget. Note: the title param is advisory for instrumentals - Suno often writes its own title from the prompt content for instrumental generations. Transient GENERATE_AUDIO_FAILED errors are common; retry once before degrading the model version.
| Name | Required | Description | Default |
|---|---|---|---|
| prompt | Yes | Style/mood/topic description. E.g. 'Lo-fi ambient track, rain sounds, warm pads' or 'High-energy synthwave with driving bass'. | |
| instrumental | No | If true, no vocals. Default false. | |
| model | No | Suno model version. Defaults to V5_5 (current best). | |
| title | No | Optional title for the generated tracks. | |
| lyrics | No | Custom lyrics. If omitted, Suno will generate lyrics from the prompt (unless instrumental=true). |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Discloses polling behavior, error handling (transient GENERATE_AUDIO_FAILED errors, retry advice), and title advisory for instrumentals. Adds value beyond annotations which only show basic read/destructive hints.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Four sentences covering key points with no fluff. Front-loaded with primary action and important details.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Handles all critical aspects: generation action, return count, timing, error handling, parameter nuances. No output schema exists, but description sufficiently sets expectations.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Enhances schema descriptions by noting default model V5.5, instrumental suppresses vocals, and title behavior for instrumentals. Schema coverage is 100%, so description provides additional context.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
Description clearly states it generates AI music via Suno, returns two tracks, and defaults to V5.5. Differentiates from sibling tools like generate_image and generate_video by specifying music generation.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Provides context for instrumental output, model selection, and timing (30-90s with a 6-minute budget). While it doesn't explicitly name alternatives, the sibling tool list makes it clear when to use this tool versus others.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
aetherwave_generate_videoGenerate video (Grok Imagine, Wan 2.7, Hailuo 02, Seedance, Kling 2.6, VEO 3.1, Happy Horse)A
Generates a short-form video from a text prompt (T2V) or a text prompt + starting image (I2V). Submits, polls, and returns the final video URL. Default model is 'grok-imagine-t2v' (fast, 4-6 cr/s, with built-in KIE -> fal.ai fallback). Use list_video_models for the full lineup with credit cost per second. I2V models (e.g. 'grok-imagine-i2v', 'seedance-pro-i2v') require a public imageUrl. Video generation can take 30s to several minutes; this tool polls with up to an 8-minute budget.
Model selection guide for videos (when the user does not specify a model)
Default: grok-imagine-t2v (4-6 cr/s, fast, has KIE -> fal.ai fallback for redundancy. Best general-purpose).
Pick a different model when the prompt has these signals:
"highest quality" / "premium" / broadcast / commercial ->
veo3.1-qualityorveo3-quality(Google's flagship, fixed 350-560 cr for 8s, 3-5 min)"fast premium" / quick high-quality ->
veo3-fastorveo3.1-fast(84 cr fixed for 8s)Cinematic camera moves / dolly / pan ->
seedance-pro-t2v(3-10 cr/s) orkling-3.0-pro-t2v(26 cr/s)Realistic human motion / faces ->
hailuo-2.3-pro-i2v(I2V, supply imageUrl)Talking head / lip sync ->
kling-avatar-pro(23 cr/s) orinfinitalk(5-17 cr/s)Anime / stylized / fantasy ->
wan-2.7-t2vNSFW / adult ->
wan-22-nsfw-i2v(I2V only; auto-tags adult)Animate this exact image -> any I2V variant (
grok-imagine-i2v,seedance-pro-i2v,hailuo-2.3-pro-i2v)First + last frame interpolation ->
seedance-pro-i2vwith bothimageUrl+endImageUrlCheapest test ->
hailuo-2.0-standard@ 512p (3 cr/s, ~18 cr for 6s) orgrok-imagine-t2v@ 480p (4 cr/s, ~24 cr for 6s)Clip 12-15s ->
grok-imagine-t2v(accepts up to 15s)True 4K ->
kling-3.0-4k-t2v(94 cr/s, expensive but native 4K)
Audio in generated video: grok-imagine-t2v, seedance-pro-t2v, and the VEO 3.x family include audio at base cost (no surcharge). Kling 2.6 and Kling 3.0 are the outliers — they price audio as a +50-100% surcharge (Kling 2.6 doubles the cost, Kling 3.0 Pro adds ~46%). Default to Grok / Seedance / VEO when sound matters and you don't want to think about audio pricing.
Cost framing: resolution and duration drive cost more than model choice. A 6-second 480p Grok generation costs ~24 cr; the same prompt at 1080p Seedance 2 is ~858 cr (35x more). Pick the lowest acceptable resolution + duration first.
For I2V models: imageUrl is required. For first+last-frame models, pass endImageUrl too.
Ask the user only when:
Single generation would cost more than 100 credits and they haven't confirmed
They asked for "the best" with no other signal; surface 2-3 options with cost ranges
| Name | Required | Description | Default |
|---|---|---|---|
| prompt | Yes | Text description of the video scene. | |
| model | No | Model ID. Defaults to 'grok-imagine-t2v'. Use list_video_models for the full list. | |
| duration | No | Duration in seconds. Grok Imagine accepts 6-15; other models have their own ranges (see list_video_models). | |
| resolution | No | Output resolution. Default depends on model. | |
| aspectRatio | No | Aspect ratio (e.g. '16:9', '9:16', '1:1'). | |
| imageUrl | No | Public URL of starting image. Required for I2V models. | |
| endImageUrl | No | Public URL of ending image. Supported by some I2V models (first+last frame). | |
| mode | No | Moderation mode for Grok Imagine. Defaults to 'normal'. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations are minimal (readOnlyHint false, etc.), but the description adds critical behavioral context: polling with 8-minute timeout, default model fallback, cost per second, audio inclusion, cost impact of resolution/duration. No contradictions with annotations.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is long but well-structured with clear sections (model selection guide, audio, cost framing). Every sentence adds value; however, length could be slightly trimmed without losing clarity. Front-loaded with core behavior.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the complexity (8 parameters, many models, no output schema), the description is remarkably complete. It covers model selection, cost, audio, I2V requirements, and polling behavior, leaving no major gaps for the agent.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100%, but the description adds significant meaning beyond the schema itself. It explains default model, duration ranges per model, resolution default, requirement of imageUrl for I2V, mode only for Grok Imagine, and maps model selection to parameters.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states it generates a short-form video from text or text+image. It distinguishes itself from sibling tools like generate_image and reframe_video by specifying T2V and I2V modes and providing a detailed model selection guide.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides an extensive model selection guide with explicit signals for when to use each model (e.g., 'highest quality' -> veo3.1-quality). It also advises when to ask the user (cost >100 credits, ambiguous 'best'). This is exemplary usage guidance.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
aetherwave_list_image_modelsList available image modelsARead-only
Returns every image-generation model AetherWave supports, with its credit cost, default aspect ratio, supported inputs (T2I vs I2I), and any model-specific options. Call this before generate_image when you don't know the right model ID. The model key (e.g. 'grok-imagine-t2i') is what you pass as model to generate_image.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already indicate readOnlyHint=true and openWorldHint=true. The description adds rich behavioral context: what the response contains (credit cost, aspect ratio, inputs, options) and how the model key is used as a parameter in generate_image.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is two sentences with no wasted words. The first sentence front-loads the purpose and return contents, the second provides usage guidance. Every sentence is informative.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given no parameters and no output schema, the description fully covers what the tool does and how to use its output. It is complete for a list tool with zero parameters.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The input schema has no parameters, so schema coverage is 100% trivially. The description adds value by explaining the return format and usage of the model key, going beyond the schema. Baseline for 0 params is 4.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description explicitly states the tool returns every image-generation model with details like credit cost, aspect ratio, supported inputs, and options. It clearly distinguishes from sibling tools like aetherwave_list_video_models by focusing on image models.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description says 'Call this before generate_image when you don't know the right model ID,' providing clear when-to-use guidance. It does not explicitly mention when not to use, but the context of sibling tools offers differentiation.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
aetherwave_list_master_presetsList available audio mastering presetsARead-only
Returns every AI mastering preset AetherWave supports, with target LUFS, tags, descriptions, and difficulty level. Call this before master_audio when you don't know which preset fits the track. 12 presets total covering streaming, hip hop, EDM, pop, rock, lo-fi, R&B, acoustic, cinematic, podcast, gentle, and loud-and-punchy mastering styles. Each preset has a target LUFS value (e.g. -14 for streaming, -9 for loud) so you can match the user's distribution target.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations declare read-only and open-world hints. The description adds that it returns exactly 12 presets with specific styles and values, complementing the annotations without contradiction.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two concise sentences with front-loaded purpose, plus a list of preset styles. Every sentence is informative and there is no fluff.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given zero parameters and no output schema, the description covers all necessary context: what is returned, when to call, and why. No gaps remain for this simple listing tool.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
No parameters exist (schema coverage 100%), so no param info needed. The description fully communicates what the tool outputs, which is the only relevant semantic information.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool returns all AI mastering presets with specific details (LUFS, tags, descriptions, difficulty). It distinguishes from the sibling tool 'aetherwave_master_audio' by indicating when to call this one first.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Explicitly tells when to use: 'Call this before master_audio when you don't know which preset fits the track.' Also mentions matching distribution target via LUFS values.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
aetherwave_list_my_creationsList my AetherWave gallery itemsARead-only
Returns items from the authenticated user's gallery — images, videos, audio tracks they've generated on AetherWave. Useful for agent workflows like 'find my last 5 images and reframe them all to 9:16' or 'list my recent songs and master each one'. Supports pagination and type filtering. Each item includes id, type, prompt, model, contentUrl, thumbnailUrl, createdAt, isFavorite, visibility, rating, and type-specific fields (duration for audio/video, width/height for images).
| Name | Required | Description | Default |
|---|---|---|---|
| type | No | Filter to a single media type. Omit for all types. | |
| limit | No | Max items to return. Defaults to 100, max 500. | |
| offset | No | Pagination offset. Defaults to 0. | |
| favoritesOnly | No | If true, only return items marked as favorite. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint and openWorldHint. The description adds that it returns the authenticated user's gallery items and lists specific fields, providing useful context without contradicting annotations.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Concise, well-structured description with purpose first, then examples, then field listing. No extraneous text.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a read-only list operation with well-documented parameters and no output schema, the description sufficiently explains what is returned (fields) and supports pagination/filtering. Complete enough for agent usage.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100% with clear descriptions for all parameters. The description does not add significant new parameter detail beyond what the schema provides, so baseline 3 is appropriate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states 'Returns items from the authenticated user's gallery' with specific media types (images, videos, audio tracks) and lists the fields returned. This distinguishes it from sibling tools that generate or edit content.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Provides concrete agent workflow examples ('find my last 5 images and reframe them...') and mentions pagination/type filtering. It does not explicitly state when not to use, but the context from siblings is clear enough.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
aetherwave_list_video_modelsList available video modelsARead-only
Returns every video-generation model AetherWave supports (Grok Imagine, Wan 2.7, Hailuo 02, Seedance Pro/Lite, Kling 2.6 with audio, VEO 3.1, Happy Horse, etc.) with per-second credit cost, supported durations, resolutions, aspect ratios, and whether the model needs an input image (I2V). Call this before generate_video when you don't know the right model ID.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true and openWorldHint=true. Description adds value by detailing the returned attributes (credits, durations, etc.), which is beyond what annotations provide. No contradictions.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Single sentence, efficiently lists returns and usage instruction. No superfluous text.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given no parameters, no output schema, and comprehensive annotations, the description fully explains the tool's purpose, output content, and usage context. Complete for a read-only list tool.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Input schema has no parameters, so description need not add parameter info. Baseline 4 for 0 parameters, no additional meaning needed.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
Clear verb 'returns' with specific resource 'every video-generation model AetherWave supports' and explicitly lists the attributes (credit cost, durations, etc.). Distinguishes from sibling tools like list_image_models by focusing on video models and connecting to generate_video.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
States 'Call this before generate_video when you don't know the right model ID,' providing a clear when-to-use instruction. Lacks explicit when-not-to-use but context is implied.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
aetherwave_master_audioMaster an audio track (AI mastering)A
Submits an audio file for AI mastering and returns the mastered URL synchronously (route polls the Python service internally; expect 30s-5min). Useful as a final polish step after music generation. Cost: 20 credits per track. Producer, Mogul, and Ultimate plans get mastering free. Output is WAV (~50MB per 3-minute track, lossless for redistribution). Pick a preset to steer the mastering style; call aetherwave_list_master_presets for the full live list (12 presets including streaming, loud, gentle, hip_hop, edm, pop, rock, lofi, rnb, acoustic, cinematic, podcast). Each preset has a target LUFS value so you can match the distribution target.
| Name | Required | Description | Default |
|---|---|---|---|
| audioUrl | Yes | Public URL to the source audio file (MP3 or WAV). | |
| preset | Yes | Mastering preset name. Must be one of: 'streaming', 'loud', 'gentle', 'hip_hop', 'edm', 'pop', 'rock', 'lofi', 'rnb', 'acoustic', 'cinematic', 'podcast'. Call aetherwave_list_master_presets for full metadata (target LUFS, description, tags). | |
| trackTitle | No | Optional title for the mastered output (used in gallery row label). |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Discloses synchronous nature with internal polling and expected time (30s-5min), cost (20 credits, free for higher plans), output format (WAV, ~50MB), and lossless quality. Annotations already present; description adds significant context.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Efficient single paragraph that front-loads key action and time expectation, then provides usage context, cost, output, and preset guidance. Every sentence adds value without redundancy.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Adequately covers return value (mastered URL), output format, and size. With no output schema, description explains what agent receives. Slightly missing explicit response structure but sufficient for a straightforward tool.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100% with descriptions. Description adds value by explaining preset steers style, recommends calling list_presets for details, and lists examples. TrackTitle context ('used in gallery row label') is extra.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
Clearly states it submits audio for AI mastering and returns a mastered URL. Distinguishes from siblings by noting it's a final polish step after music generation and references aetherwave_list_master_presets. Specific verb and resource.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Explicitly says 'Useful as a final polish step after music generation,' implying when to use. Does not give explicit when-not-to-use but provides context on cost and plans. References sibling tool for preset selection.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
aetherwave_reframe_imageReframe image to a new aspect ratio (Ideogram V3 Reframe)A
Reframes an image to a new aspect ratio by intelligently outpainting the edges. Pass a public imageUrl and the target aspectRatio ('16:9', '9:16', '1:1', '4:3', '3:4', etc.). Three speed tiers: 'turbo' (5 cr, fast), 'balanced' (10 cr, default), 'quality' (14 cr, slowest, best edges). Returns the reframed image URL.
| Name | Required | Description | Default |
|---|---|---|---|
| imageUrl | Yes | Public URL of the source image. | |
| aspectRatio | Yes | Target aspect ratio (e.g. '16:9', '9:16', '1:1', '4:3', '3:4', '21:9'). | |
| speed | No | Rendering speed. 'turbo'=5cr, 'balanced'=10cr (default), 'quality'=14cr. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations indicate non-readonly and non-destructive behavior. The description adds valuable transparency: it specifies the outpainting approach, speed tiers with credit costs, and that it returns a URL. No contradictions with annotations.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Three sentences, each purposeful: first defines the core action, second lists required parameters, third details optional parameters with costs. No redundant information.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
The description covers inputs, behavior (outpainting), optional parameters, and output (URL). It lacks details on potential limitations (e.g., image size constraints) but is sufficiently complete for typical use given the tool's moderate complexity.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100%, but the description enhances understanding by providing examples for aspectRatio ('16:9', '9:16', etc.) and clarifying the meaning of each speed tier with its credit cost. This goes beyond the schema's basic descriptions.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description uses a specific verb ('reframes an image to a new aspect ratio') and resource ('image'), and clearly differentiates from the sibling 'aetherwave_reframe_video' tool. It states the intelligently outpainting behavior, making the purpose unmistakable.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description tells how to use the tool (pass imageUrl and aspectRatio) and explains speed tier options with costs. However, it does not explicitly state when to use this tool over alternatives like 'edit_image' or 'upscale_image', leaving room for ambiguity.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
aetherwave_reframe_videoReframe video to a new aspect ratio (Luma Ray 2 Flash)A
Reframes a video to a new aspect ratio by intelligently outpainting/cropping the edges. Pass a public videoUrl and target reframeAspectRatio. 17 credits per second. Optional reframePrompt lets you steer the new edge content (e.g. 'extend the sky with sunset clouds'). Returns the reframed video URL (R2-hosted).
| Name | Required | Description | Default |
|---|---|---|---|
| videoUrl | Yes | Public URL of the source video (MP4). | |
| reframeAspectRatio | Yes | Target aspect ratio. | |
| reframePrompt | No | Optional prompt to steer the new edge content. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations indicate this is not read-only, destructive, or idempotent. The description adds useful behavioral context: credit cost (17 credits per second) and the output type (R2-hosted URL). No contradiction with annotations.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Three front-loaded sentences covering action, parameters, cost, and output. No unnecessary words; every sentence adds value.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
No output schema, but description specifies the return (reframed video URL). All parameters are explained, and the cost is mentioned. Sufficient for an agent to understand and invoke the tool correctly.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100%, but the description adds meaning beyond enum values and types: explains videoUrl as public URL, reframeAspectRatio as target ratio from enum, and provides an example for reframePrompt ('extend the sky with sunset clouds').
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool reframes a video to a new aspect ratio using outpainting/cropping, distinguishing it from the sibling tool aetherwave_reframe_image. The verb 'reframes' and resource 'video' are specific.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description mentions required parameters (videoUrl, reframeAspectRatio) and optional reframePrompt, but does not provide explicit guidance on when to use this tool vs alternatives like aetherwave_reframe_image. No exclusions or when-not-to-use context.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
aetherwave_remove_backgroundRemove background from image (Recraft + fal.ai BiRefNet v2 fallback)A
Strips the background from an image, returning a PNG with transparent alpha. Pass a public imageUrl. Useful for product shots, character cutouts, logo isolation, or compositing onto a new background. ~5 credits per image. Recraft is the primary provider; on outage the tool auto-falls back to fal.ai BiRefNet v2 so single-image calls never silently fail. Works best on photographic subjects (people, products, animals); transparent-PNG inputs have no foreground to segment.
| Name | Required | Description | Default |
|---|---|---|---|
| imageUrl | Yes | Public URL of the source image. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Discloses credit cost, auto-fallback between providers, and performance on different input types. Adds significant context beyond annotations, which only set openWorldHint=true and no destructive hints.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Four sentences, front-loaded with main action. No fluff. Each sentence adds value.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given single param and no output schema, description fully explains purpose, usage, cost, fallback, and limitations. Agent can correctly decide to use this tool.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema covers 100% of the single parameter with description. Description adds 'public' qualifier but not much else. Baseline 3 is appropriate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
Clearly states it removes background and returns PNG with alpha. Distinct from siblings like remove_background_video. Specific verb+resource.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Provides use cases (product shots, etc.) and limitations (transparent PNG). Lacks explicit when-not-to-use compared to alternative tools like edit_image, but covers fallback behavior and credit cost.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
aetherwave_remove_background_videoRemove background from videoA
Strips the background from a video frame-by-frame using rembg (u2netp) on AetherWave's Python service. Pass a public videoUrl. Choose bgType: "transparent" for an alpha-channel WebM output (compositing) or bgType: "color" with a customColor hex for a solid replacement. 2 credits per second. Slowest tool in the surface (per-frame processing); a 6s clip takes ~4 min, a 30s clip ~15-20 min. Works best on subjects with clear edges (people, products). Returns the processed video URL (R2-hosted).
| Name | Required | Description | Default |
|---|---|---|---|
| videoUrl | Yes | Public URL of the source video (MP4). | |
| bgType | No | 'transparent' = alpha WebM output (default). 'color' = solid replacement using customColor. | |
| customColor | No | Hex color for solid background when bgType='color' (e.g. '#00ff00'). Default green. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations are minimal, but the description adds critical behavioral details: credit cost per second, processing time estimates, output format (R2-hosted URL), and the frame-by-frame nature. This fully compensates for the lack of detailed annotations.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Four well-structured sentences with no waste. First sentence sets the core action, second explains modes, third gives performance/cost, fourth covers best use and output. Front-loaded with key information.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Despite no output schema, the description specifies the output is a processed video URL. Input schema is clear. All necessary context is provided: what, how, cost, performance, limitations, and output. No gaps.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema already covers parameters with descriptions, but the description adds practical meaning: explains the effect of bgType choices (alpha WebM vs solid color), gives an example hex for customColor, and states the default. Enhances usability beyond schema.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
Clearly states the action (strips background) and specific resource (video) using a named service (rembg u2netp). Differentiates from sibling 'aetherwave_remove_background' by specifying video and frame-by-frame processing.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Provides explicit guidance on best use cases (clear edges, people, products) and performance expectations (slow, per-frame processing). Could be more explicit about when not to use, but the slowness warning implicitly discourages use for quick results.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
aetherwave_upscale_imageUpscale image (Topaz)A
Upscales a source image using Topaz's high-fidelity upscaler. Pass a public imageUrl and an upscaleFactor. Credit cost depends on the source resolution × factor; small images cost less than large ones at the same factor. Returns the upscaled image URL.
| Name | Required | Description | Default |
|---|---|---|---|
| imageUrl | Yes | Public URL of the source image. | |
| upscaleFactor | No | Upscale multiplier. Defaults to '2x'. '8x' is heavy; use only on small sources. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations indicate a mutation (not read-only). The description discloses credit cost behavior and notes that upscaling returns a URL. It adds useful context beyond annotations without contradiction.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Three concise sentences: purpose, inputs, and result/cost. Information is front-loaded and every sentence adds value with no redundancy.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With 2 parameters and no output schema, the description explains inputs, cost, and return value. It is nearly complete; could optionally mention synchronous behavior but not required.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema covers both parameters with descriptions. The description adds value by explaining cost implications for upscaleFactor and warning about '8x' usage, providing practical guidance beyond schema.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the action (upscales), resource (source image), and tool (Topaz). It distinguishes from sibling tools like aetherwave_upscale_video and other image manipulation tools.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description specifies required inputs (public imageUrl and upscaleFactor) and provides cost guidance based on resolution. It implicitly suggests when to use (upscale an image) but does not explicitly name alternatives or exclusion criteria.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
aetherwave_upscale_videoUpscale video (Atlas Video Upscaler)A
Upscales a source video to 1080p or 2K using Atlas. Pass a public videoUrl and the target resolution. Cost is per-second (7 cr/s @ 1080p, 9 cr/s @ 2K). Atlas-side limits: clips up to 53s at 1080p, 23s at 2K, source must be <=30fps. Returns the upscaled video URL (R2-hosted).
| Name | Required | Description | Default |
|---|---|---|---|
| videoUrl | Yes | Public URL of the source video (MP4). | |
| targetResolution | No | Target output resolution. Defaults to '1080p'. '2k' is more expensive and limited to ~23s clips. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Beyond annotations (readOnlyHint=false etc.), the description adds critical behavioral details: cost per second, Atlas-side limits on duration and source fps, and output format (R2-hosted URL), with no contradictions.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Three dense sentences, each earning its place. Front-loaded with primary action, no redundant or vague phrasing.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Despite no output schema, the description covers all needed context: input requirements, constraints, cost model, and output behavior, making it complete for an AI agent to invoke correctly.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
With 100% schema coverage, the schema defines parameters, but the description adds significant value: cost implications, resolution-specific limits (53s vs 23s), source fps constraint, and return type.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states it upscales a source video to 1080p or 2K using Atlas, specifying inputs and distinguishing it from sibling tools like image upscaling and other video operations.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description explains the tool's specific use case (upscaling video) and includes constraints, but lacks explicit guidance on when not to use it or alternatives.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
Tool Schema Changelog
Recent tool additions, removals, and schema changes observed during successful MCP inspections. Dates show when Glama detected each change.
16 tool updates
v0.2.6- First observed
aetherwave_balance - First observed
aetherwave_edit_image - First observed
aetherwave_generate_image - First observed
aetherwave_generate_music - First observed
aetherwave_generate_video - First observed
aetherwave_list_image_models - First observed
aetherwave_list_master_presets - First observed
aetherwave_list_my_creations - First observed
aetherwave_list_video_models - First observed
aetherwave_master_audio - First observed
aetherwave_reframe_image - First observed
aetherwave_reframe_video - First observed
aetherwave_remove_background - First observed
aetherwave_remove_background_video - First observed
aetherwave_upscale_image - First observed
aetherwave_upscale_video
TDQS
Each tool targets a distinct media type and action (generate, edit, reframe, remove background, upscale, master, list models/presets/creations). No two tools overlap in purpose, and descriptions clearly differentiate them.
All tools follow a consistent 'aetherwave_verb_noun' pattern in snake_case, with clear verbs like generate, edit, list, master, reframe, remove, upscale. Even 'aetherwave_balance' is a concise outlier that still fits the convention.
With 16 tools covering image, video, and audio generation/editing, plus utility tools for models, presets, and user creations, the count is well-scoped for a comprehensive media generation server. No tool feels redundant or missing.
Core workflows (generate, edit, reframe, upscale, background removal, audio mastering) are well covered. However, there is no tool for deleting or managing user creations, which is a minor gap for a complete lifecycle.
Maintenance
Resources
Unclaimed servers have limited discoverability.
Looking for Admin?
If you are the server author, to access and configure the admin panel.
Related MCP Connectors
AI image, video, voice and music generation over MCP, routed to Veo 3.1, Seedance 2.0 and more.
MCP server for Google Veo AI video generation
MCP server for Kling AI video generation
MCP server for Qwen Image 3 AI image generation
Related MCP Servers
- AlicenseNot gradedqualityBmaintenanceAccess 400+ generative AI models directly from your AI assistant — generate images (FLUX, Midjourney, GPT-4o), create videos (Veo3, Kling), make music (Suno), and enhance photos, all via a single MCP server.10MIT
- AlicenseAqualityCmaintenanceMCP server for Google Veo 3.1 video generation. Supports text/video/image-based generation, extension, and interpolation with cost estimation and batch processing.437MIT
- AlicenseAqualityBmaintenanceMCP server for generating, editing, and batch processing videos using xAI's Grok Imagine Video API, with support for text-to-video, image-to-video, and video editing via natural language prompts.4831MIT
- AlicenseAqualityDmaintenanceMCP server for AI-powered media generation: images, videos, audio, and upscaling using 99 AI models.6MIT
Latest Blog Posts
- Who's Calling? MCP Hosts Are an Identity Blind Spot (And the Spec Knows It)By Om-Shree-0709 on .mcpAgent IdentityOAuth 2.1
- Your AI Chatbot Just Exposed Your CEO's Salary to an InternBy Om-Shree-0709 on .Agent IdentityMCP SecurityOAuth Delegation
- Why MCP Servers Need Execution Sandboxing (And Why Your Current Stack Isn't Enough)By Om-Shree-0709 on .Agentic AiPrompt InjectionWebAssembly
MCP directory API
We provide all the information about MCP servers via our MCP API.
curl -X GET 'https://glama.ai/api/mcp/v1/servers/AetherWave-Studio/aetherwave-mcp'
If you have feedback or need assistance with the MCP directory API, please join our Discord server