Skip to main content
Glama

Server Details

One tool surface for music, image, video, and audio generation across Suno, Grok Imagine, Seedance, Kling, Hailuo, Wan, VEO, Ideogram, and GPT Image 2. Generate, edit, upscale, reframe, and master through one credit pool. Connect in one click with OAuth, no API key required.

Ownership verified
Status
Healthy
Uptime
100.0% over 43 days
Last Tested
Transport
Streamable HTTP · MCP 2025-11-25
URL

TDQS

A4.1/5.0

Scored across 31 tools

Disambiguation4/5

Most tools target distinct operations (generate, edit, reframe, upscale, remove background, comic pipeline steps), and descriptions explicitly steer between similar tools. A few overlaps remain, e.g. generate_image with I2I vs edit_image, and prepare_design vs remove_background for background handling, but guidance mostly resolves them.

Naming Consistency4/5

All tools use snake_case with the aetherwave_ prefix, and the dominant pattern is verb_noun (generate_image, edit_image, reframe_video, list_characters). Minor deviations exist: aetherwave_balance, aetherwave_comic_status, and aetherwave_merch_mockup_status are noun-only, and get_job/status naming varies slightly.

Tool Count3/5

31 tools is heavy for any single server, though the platform spans image, video, audio, comics, and merch, so many tools are genuinely distinct capabilities. It is borderline rather than clearly excessive, but the surface could benefit from consolidation or grouping.

Completeness4/5

The surface covers generation and manipulation across images, videos, and audio, plus a full comic workflow and merch pipeline, with model discovery and job recovery. Some minor gaps exist (e.g. limited audio editing beyond mastering, no non-comic video assembly), but core workflows are well covered.

Available Tools

31 tools
aetherwave_balanceCheck credit balanceA
Read-only
Inspect

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.

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

TDQS

A4.7/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already declare readOnlyHint and openWorldHint, so the safe-read nature is covered. The description adds useful context about video generation costs (30-300+ credits) which helps the agent anticipate financial checks. It does not describe return format, but that is less critical given the simple resource.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Two sentences with no redundancy. The main purpose is front-loaded, and the second sentence adds actionable usage guidance. Every word serves a purpose.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness5/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a zero-parameter, read-only balance tool with no output schema, the description fully covers what it does and when to use it. The cost guidance for video fills the only needed contextual gap. No missing behavior is apparent.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The input schema has zero parameters, so the baseline of 4 applies. The description needs to explain no parameter semantics; it correctly focuses on the return value and usage context.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the tool 'Returns the current AetherWave credit balance for the API key' with a specific verb and resource. It distinguishes from sibling generation/editing tools by focusing on a read-only balance check.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines5/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Explicitly instructs 'Use this BEFORE a generation to confirm sufficient credits', providing a clear when-to-use context. The video cost range (30-300+ credits) further guides priority usage without needing to name alternatives, as no sibling tool offers balance checking.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

aetherwave_comic_assembleAssemble the comic's pages (starts, then returns)A
Idempotent
Inspect

Free. Lays out every page from its drawn panels and letters the speech balloons and captions, then marks the book complete. Returns immediately; about 4 seconds a page (12 pages took about 45 seconds). A page with any undrawn panel is skipped and the book is marked 'pages-partial', so by default this refuses until every panel is drawn. Also re-run it after redrawing a panel on an assembled page. Then aetherwave_comic_export.

ParametersJSON Schema
NameRequiredDescriptionDefault
projectIdYes
allowPartialNoAssemble the complete pages even though some panels are not drawn.

TDQS

A4.4/5.0
Behavior5/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

The description richly discloses behavior beyond annotations: it returns immediately (async), provides timing estimates, explains the 'pages-partial' state, the skip behavior, and the safe re-run property. This aligns with annotations (idempotentHint, non-destructive) and adds critical operational context the annotations don't convey.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is slightly verbose but every sentence carries useful information (cost, core action, timing, partial handling, re-run guidance, next step). It is front-loaded with 'Free' and the primary purpose, and maintains a logical flow.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness5/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a tool with two parameters and no output schema, the description is thorough: it covers what happens (state changes), when to use (after drawing, before export), performance expectations, edge cases (undrawn panels), and re-run safety. No missing information that an agent would need to invoke it correctly.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 50% (only allowPartial has a description). The description explains the behavior influenced by allowPartial (default refusal vs. allowing partial assembly) but does not explicitly name the parameter. projectId is self-evident and needs no extra explanation, so the description adds moderate value over the schema.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the specific action: laying out pages from drawn panels, lettering balloons/captions, and marking the book complete. It distinguishes itself from sibling tools like aetherwave_comic_draw (drawing) and aetherwave_comic_export (exporting) by naming the next step and emphasizing the assembly state change.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

It explicitly states when to re-run (after redrawing a panel) and points to the next step (export). The default behavior with undrawn panels and the allowPartial override are explained, though it doesn't explicitly name alternative tools as 'instead of X' – but the sibling context makes this clear enough. Slight gap: it doesn't say when not to use it beyond the partial-page refusal.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

aetherwave_comic_character_referenceGenerate or approve a comic character's reference imageAInspect

Gives a comic character a reference image, which every panel uses to keep that character looking the same.

action 'generate' (6 credits per image): draws 'count' (1 to 4) full-body references in the book's art style. Each new image is ADDED to the character's options, nothing is replaced. With editPrompt alone, the note steers a fresh drawing ("older, with a grey beard"). With editPrompt AND baseUrl (one of this character's existing images) it edits that image and keeps the same person. Images are saved to permanent AetherWave storage. If the call runs out of time the images still land: read them from aetherwave_comic_status (characters[].referenceOptions).

action 'approve' (free): sets imageUrl as the character's reference and re-describes the character from the picture. Approve before aetherwave_comic_write_script. Only the character's own images or other permanent AetherWave images (media.aetherwavestudio.com) are accepted: a temporary link would break every panel when it expires.

Identify the character by characterId (from aetherwave_comic_create or aetherwave_comic_status) or by exact characterName.

ParametersJSON Schema
NameRequiredDescriptionDefault
countNogenerate: how many images, 1 to 4 (default 1). 6 credits each.
actionYes
baseUrlNogenerate: one of this character's existing images to edit. Requires editPrompt.
imageUrlNoapprove: the image to approve.
projectIdYes
editPromptNogenerate: what to change or emphasise.
characterIdNo
characterNameNoAlternative to characterId: the character's name, matched without case.

TDQS

A4.6/5.0
Behavior5/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Beyond annotations, the description discloses important behaviors: generated images are added rather than replacing existing ones, images persist in AetherWave storage, edits preserve the same person, approve re-describes the character from the image, and timed-out calls still save images retrievable via status. This is rich behavioral disclosure with no contradiction to the annotations.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is long but dense and well-organized, front-loaded with the core purpose and then structured by action. Every sentence contributes operational guidance, including edge cases like timeout behavior and URL expiration. No filler or redundancy appears.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the tool's two-action complexity and no output schema, the description covers invocation, credit cost, parameter relationships, approval timing, storage durability, and failure fallback. It is slightly incomplete because projectId is required but never explained, and the tool's direct return value is not described; however, both are inferable from the workflow context.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

With schema description coverage at 63%, the description adds substantial meaning: count credit costs, baseUrl requiring editPrompt, approve's imageUrl, and characterId/characterName identification. The main gap is projectId, a required parameter with no description in either the schema or the tool description, though its meaning is likely inherited from the surrounding workflow.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description states a specific verb and resource: it gives a comic character a reference image, with two explicit actions (generate and approve). It clearly distinguishes this tool from generic image-generation siblings by emphasizing that this reference is what every panel uses to keep the character consistent, and it names related tools for context.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description gives clear context for both actions: generate costs credits and adds options; approve is free and must happen before aetherwave_comic_write_script. It also constrains acceptable image URLs. It does not explicitly contrast this with aetherwave_generate_image or aetherwave_edit_image, but the unique character-consistency purpose 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_comic_createCreate a comic book projectAInspect

Free. Creates a comic book project (the AetherWave Graphic Novel Engine) and returns its projectId and each character's characterId. Nothing is generated yet.

The full flow, one tool per step. Every slow step starts and returns; come back with aetherwave_comic_status.

  1. aetherwave_comic_create (this) - title, premise, cast, style.

  2. aetherwave_comic_character_reference - generate a reference image per character, then approve one. Do this BEFORE the script: approving rewrites the character's description from the picture, and every panel uses the approved image to keep the face consistent.

  3. aetherwave_comic_write_script - about 2 to 3 minutes, charged on actual use (a 12-page script cost 40).

  4. aetherwave_comic_draw - draws every panel, one at a time, 1.5 to 6 minutes each (a 12-page book with 27 panels took about 65 minutes). 9 credits a panel, charged only on success.

  5. aetherwave_comic_assemble - lays out the pages and letters them, about 45 seconds for 12 pages. Free.

  6. aetherwave_comic_export - a PDF, EPUB, CBZ or bundle download link. Free.

Characters: give each a concrete visualDescription (age, hair, face, clothes, one signature item). The script writer and every panel read it.

ParametersJSON Schema
NameRequiredDescriptionDefault
genreNoDefault 'fantasy'.
titleYesBook title. The cover panel paints it into the art.
premiseYesWhat the story is about: the situation, the goal, the stakes. A paragraph is ideal.
artStyleNoArt style. Default 'marvel'. 'custom' means describe the look in toneNotes.
keyScenesNoMoments the script must include.
pageCountNoTarget pages. Default 24. The studio offers 12, 16, 24, 32, 48, 64. The script may land on fewer panels per page than the estimate assumes.
toneNotesNoMood, pacing, humour, visual references.
charactersYesThe cast. At least one.
imageModelNoPanel engine. 'gpt-image-2' (default, faster) or 'gpt-image-2-5' (quality, slower). 9 credits a panel either way. Locked once created.
aspectRatioNoPage shape. Default '2:3' (comic book). Locked once created.
stylePresetNoSpeech balloon and caption style. Default 'default'. Locked once created.
contentRatingNoDefault 'teen'.
chapterOutlineNoOptional outline if you want to steer the structure.
referenceWorksNoComics or films to evoke, as short titles.
additionalNotesNoAnything else for the script writer.
settingDescriptionNoWhere and when: places, era, recurring landmarks. Every panel prompt includes it.

TDQS

A4.6/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations declare readOnlyHint=false, openWorldHint=true, idempotentHint=false, destructiveHint=false. The description adds meaningful behavioral context beyond these: it states that the tool is free, that it returns projectId and characterIds, that nothing is generated yet, and that certain parameters (imageModel, aspectRatio, stylePreset) are 'Locked once created.' It also discloses cost/charging behavior for downstream steps. The only minor gap is that it doesn't explicitly describe failure modes or what happens if required fields are invalid, but the description goes well beyond the annotations.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is long but earns its length: it front-loads the core purpose in the first sentence, then provides a numbered pipeline that is directly actionable. The pipeline list is dense but well-structured. It could be slightly tighter (e.g., the cost details for downstream tools are useful but somewhat tangential to this tool's own invocation), but every section serves a purpose for an agent navigating the workflow.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness5/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a complex 16-parameter tool with no output schema, the description is remarkably complete. It explains the return value (projectId, characterIds), the workflow position, the sequencing constraint with character_reference, the meaning of key parameters, and the locked-parameter behavior. An agent has everything it needs to call this tool correctly and to know what happens next. The absence of an output schema is compensated by the explicit statement of what is returned.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 100%, so the schema already documents all 16 parameters. The description adds value by explaining the semantic role of key parameters: 'Characters: give each a concrete visualDescription (age, hair, face, clothes, one signature item). The script writer and every panel read it.' It also clarifies that 'custom' artStyle means describing the look in toneNotes, and that the cover is drawn around the protagonist. This is meaningful semantic guidance beyond the schema's field descriptions.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description opens with a clear verb and resource: 'Creates a comic book project (the AetherWave Graphic Novel Engine) and returns its projectId and each character's characterId.' It also explicitly states what it does NOT do ('Nothing is generated yet'), which distinguishes it from later pipeline tools like aetherwave_comic_draw and aetherwave_comic_write_script. This is a specific, non-tautological statement that an agent can act on.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines5/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description provides an explicit numbered pipeline of all sibling tools, stating the order of operations and when to use each one. It also gives a critical usage rule: 'Do this BEFORE the script: approving rewrites the character's description from the picture, and every panel uses the approved image to keep the face consistent.' This is exactly the kind of when-to-use and sequencing guidance an agent needs.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

aetherwave_comic_drawDraw the comic's panels (starts, then returns)A
Idempotent
Inspect

action 'start' (default): starts drawing every panel that is not drawn yet (pending or failed), one at a time, 1.5 to 6 minutes each, and returns immediately. 9 credits a panel, charged only when a panel succeeds. Safe to call again at any time: if a run is active it reports alreadyDrawing and starts nothing; if a run died (a server restart ends a run silently) it resumes with just the missing panels. Pass maxCredits to refuse a run that would cost more. Follow progress with aetherwave_comic_status. action 'stop': asks the active run to stop after the panel it is on.

ParametersJSON Schema
NameRequiredDescriptionDefault
actionNo
projectIdYes
maxCreditsNostart: refuse if the panels left to draw would cost more than this.

TDQS

A4.7/5.0
Behavior5/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already indicate idempotentHint=true and readOnly=false, but the description adds rich behavioral detail: asynchronous return, 1.5–6 minute per-panel timing, 9 credits charged only on success, alreadyDrawing behavior, silent run death on server restart with resume, and maxCredits refusal. This goes well beyond the structured annotations and does not contradict them.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is dense but every sentence earns its place, covering async behavior, cost, idempotency, failure recovery, and stop semantics. It is front-loaded with the default action and immediate return, making the most important information available first.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness5/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a complex, long-running, cost-bearing tool with no output schema, the description covers the essential operational details: start/stop behavior, credit charging, idempotent re-invocation, server-restart recovery, and progress monitoring via a sibling tool. An agent has enough context to invoke it correctly and know what to expect.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is only 33%, so the description must compensate. It explains the meaning of action='start' and action='stop', and ties maxCredits to refusing expensive runs. projectId is left to inference, but its role as the comic project identifier is reasonably clear from the parameter name and required status.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description uses a specific verb ('draw') and resource ('comic's panels'), and clearly explains both the 'start' and 'stop' actions. It also distinguishes itself from aetherwave_comic_status by directing progress tracking to that sibling tool. The behavior of drawing pending or failed panels one at a time is unambiguous.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description gives clear context for when to call it: start draws missing panels, stop halts after the current panel, and it is safe to re-call at any time. It also points to aetherwave_comic_status for progress. It does not explicitly contrast with redraw_panel or state when not to use it, so it stops short of a 5.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

aetherwave_comic_estimateEstimate the credit cost of a comic bookA
Read-only
Inspect

Free. Quotes a comic before anything is made: script credits plus panel credits for a page count and panel engine. The quote assumes 4 panels a page, so it runs HIGH for short books (a 12-page book was quoted 462 and cost 301 because the script wrote 27 panels, not 48). The real panel price is known after the script: aetherwave_comic_status reports creditsToFinishDrawing, and aetherwave_comic_draw accepts maxCredits. Character references cost 6 credits each on top.

ParametersJSON Schema
NameRequiredDescriptionDefault
pageCountYesTarget page count. The studio offers 12, 16, 24, 32, 48, 64.
imageModelNoPanel engine. 'gpt-image-2' (default, faster: GPT Image 1.5 panels + GPT Image 2 cover) or 'gpt-image-2-5' (quality, slower, every panel on GPT Image 2.5). Both 9 credits a panel.

TDQS

A4.9/5.0
Behavior5/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

While annotations already mark this as readOnly and openWorld, the description adds valuable behavioral nuance: it is free, it assumes 4 panels per page, it can run high for short books, and character references add 6 credits each. This gives an agent an accurate model of how the estimate behaves beyond the annotation hints.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is compact and front-loaded, opening with 'Free' and a clear definition before diving into caveats. Every sentence earns its place: the first defines scope, the second explains estimation behavior with a concrete example, and the third directs the agent to the next steps and cost adjustments.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness5/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the small parameter surface, rich schema descriptions, and annotations, the description provides everything an agent needs to call this tool correctly and interpret the estimate's limitations. Even without an output schema, the description makes the returned quote's meaning clear, and it covers supplementary costs like character references.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 100%, so the baseline is 3. The description adds meaningful semantic context by explaining the 4-panels-per-page assumption behind the pageCount parameter and clarifying that the estimate includes both script and panel credits. This goes beyond the schema's basic field definitions.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description states a specific action with a resource: 'Quotes a comic before anything is made' and breaks down the quote into script and panel credits. It clearly differentiates this estimation tool from related actions like aetherwave_comic_draw and aetherwave_comic_status by positioning it as a pre-production estimate.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines5/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description explicitly states when to use the tool ('before anything is made') and points to alternatives after the script exists: aetherwave_comic_status for the real creditsToFinishDrawing and aetherwave_comic_draw for maxCredits. It also explains the over-estimation caveat for short books, giving an agent concrete guidance on when the quoted number is less reliable.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

aetherwave_comic_exportExport a finished comic as a download linkA
Idempotent
Inspect

Free. Builds the assembled book as 'pdf', 'epub' (fixed-layout, Kindle ready), 'cbz' (comic readers) or 'bundle' (a ZIP of all three plus page PNGs), and returns a download URL that lasts about a day. Files are large (a 12-page PDF measured 130 MB). The build usually finishes within this call; if not, it returns an exportId, and calling again with that exportId returns the link. One export builds per account at a time: if one is already building, this reports that one (alreadyExporting, with its projectId) instead of starting a second. When the service is busy it refuses with retryAfterSeconds. Assemble first.

ParametersJSON Schema
NameRequiredDescriptionDefault
formatNoDefault 'pdf'.
exportIdNoCheck on an export started earlier instead of starting a new one.
projectIdYes
includeBackMatterNoAppend the project's promotional back pages if it has them turned on. Default true.

TDQS

A4.7/5.0
Behavior5/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

The description discloses a rich set of behaviors the annotations cannot express: it costs nothing ('Free'), the link expires in ~a day, files are large (130 MB example), builds may complete async requiring a second call with exportId, only one build per account runs at a time, and a busy service returns retryAfterSeconds. All of this is consistent with readOnlyHint=false and idempotentHint=true, 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.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Every sentence carries a distinct fact — cost, formats, link TTL, file size, async pattern, concurrency, busy behavior, prerequisite — with zero filler. Key decision information (free, formats) is front-loaded in the first two sentences.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness5/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Despite having no output schema, the description documents the response branches an agent needs: a download URL, an exportId for retry, alreadyExporting with projectId, and retryAfterSeconds on refusal. Combined with full parameter coverage and the assemble-first prerequisite, there is no critical gap for correct invocation.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

With 75% schema coverage the baseline is 3, and the description adds real meaning: it explains what each format actually produces ('epub' is fixed-layout Kindle ready, 'cbz' for comic readers, 'bundle' contains all three plus page PNGs) and clarifies the exportId workflow. The only parameter it doesn't deepen is projectId, which is self-evident.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

Uses a specific verb ('builds'/'export') with a concrete resource ('the assembled book'), enumerates all output formats with real meaning, and distinguishes itself from the aetherwave_comic_assemble workflow step via the closing 'Assemble first' hint. An agent can tell this produces a downloadable file vs. the sibling creation/assembly tools without opening the schema.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Provides clear when-to-call context: 'Assemble first' states the prerequisite, the exportId retry path explains when to re-invoke, and the concurrency note tells the agent it may receive alreadyExporting instead of a new build. It stops short of naming sibling alternatives explicitly (e.g., using aetherwave_comic_status to monitor), so it doesn't quite earn a 5.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

aetherwave_comic_redraw_panelRedraw one comic panel, optionally rewordedA
Destructive
Inspect

Redraws a single panel, replacing its current image. 9 credits, charged only on success. Pass prompt to replace the panel's scene description for this drawing: the way to get past a content-filter refusal (see failedPanels[].errorMessage in aetherwave_comic_status) is to reword the scene, not to retry it. Dialogue and captions are kept. A redraw takes 1.5 to 6 minutes; if it outlasts this call the tool returns stillDrawing and the result shows up in aetherwave_comic_status. Refused while a full drawing run is active. If the panel's page was already assembled, re-run aetherwave_comic_assemble afterwards.

ParametersJSON Schema
NameRequiredDescriptionDefault
promptNoNew scene description for this panel. Omit to redraw the same scene.
panelIdYesFrom aetherwave_comic_status (failedPanels, or detail: 'panels').
projectIdYes

TDQS

A4.9/5.0
Behavior5/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already mark this as destructive, non-idempotent, and read-only=false, so the bar for additional value is higher. The description still adds substantial context: 9 credits charged only on success, 1.5–6 minute asynchronous duration with a stillDrawing return path, retention of dialogue/captions, refusal during active runs, and the need to reassemble afterward. This fully enriches the annotation profile without contradicting it.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Every sentence carries actionable information: cost, substitution behavior, retention policy, timing, failure mode, concurrency restriction, and post-condition. The core operation is front-loaded, and there is no redundant restatement of the schema or title.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness5/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

This is a high-complexity tool with no output schema, yet the description covers the essential behavioral surface: asynchronous completion, credit charging, content-filter handling, concurrency constraints, cross-tool dependency on status, and follow-up assembly. An agent has what it needs to call the tool correctly and interpret the stillDrawing outcome.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 67%, with prompt and panelId already documented, but the description adds meaning beyond the schema: prompt is explicitly tied to replacing the scene description and to the content-filter rewording strategy, and panelId is tied to failedPanels from aetherwave_comic_status. projectId lacks a schema description, but the tool-level context makes its role clear enough.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description opens with a specific verb and resource: 'Redraws a single panel, replacing its current image.' It clearly distinguishes this from the sibling aetherwave_comic_draw by anchoring on a single panel and contrasting with a 'full drawing run,' so an agent can tell them apart without opening either schema.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines5/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description gives concrete when-to-use guidance: use it for single-panel redraws, avoid it while a full drawing run is active, and re-run aetherwave_comic_assemble if the page was already assembled. It also advises rewording the prompt rather than retrying when a content-filter refusal is encountered, which is explicit operational guidance beyond what the schema provides.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

aetherwave_comic_statusCheck a comic book's progressA
Read-only
Inspect

Free. Where a comic is and what to do next. Reports the project status, the drawing state, every failed panel with its reason, assembled page URLs, and each character's reference images, plus a nextStep. drawing is one of: no_script, not_started, drawing, redrawing, stalled, done. 'stalled' means panels are still pending or failed and NO run is active: a server restart or a failure ended the run, and aetherwave_comic_draw must be called again. Never treat a stopped run as finished. With no projectId it lists your recent comic projects.

ParametersJSON Schema
NameRequiredDescriptionDefault
detailNo'panels' adds every panel with its image URL, scene and status (panelIds for aetherwave_comic_redraw_panel).
projectIdNoOmit to list your recent comic projects.

TDQS

A4.5/5.0
Behavior5/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Beyond the readOnlyHint and openWorldHint annotations, the description adds significant behavioral details: the meaning of 'stalled', the fact that no run is active in that state, that server restarts or failures can end runs, and the explicit warning never to treat a stopped run as finished. This is critical for an agent to avoid misinterpreting stale status.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is compact, front-loaded with the core value ('Where a comic is and what to do next'), and every sentence adds necessary information. The enum explanation and the stalled-run caveat are placed efficiently and do not waste space.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness5/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

With no output schema, the description sufficiently enumerates the returned data: project status, drawing state, failed panels with reasons, assembled page URLs, character reference images, and nextStep. It also handles the optional projectId behavior and the critical stalled-state scenario, making the tool fully usable without further documentation.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 100%, so the description does not need to duplicate parameter details. It does reinforce that omitting projectId lists recent projects and references the panels detail option, but most parameter meaning is already well documented in the schema.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description states the tool's specific purpose: check a comic's progress, report status, drawing state, failed panels, URLs, character references, and nextStep. It clearly distinguishes this status-checking tool from the sibling tools like aetherwave_comic_draw and aetherwave_comic_redraw_panel.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description clearly explains when to use the tool and even provides conditional guidance: if drawing is 'stalled', aetherwave_comic_draw must be called again, and a stopped run must never be treated as finished. It lacks explicit exclusions for sibling tools, but the context makes the intended use clear.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

aetherwave_comic_write_scriptWrite the comic's script (starts, then returns)A
Destructive
Inspect

Starts writing the script: chapters, pages, panels, dialogue and captions. Returns immediately; it takes about 2 to 3 minutes, then aetherwave_comic_status shows the panels. Charged on actual use when it finishes (a 12-page script cost 40 credits). Approve character references first. Re-writing a script DELETES every page and panel already made, including drawn panels, so a project that already has panels needs replaceExisting: true.

ParametersJSON Schema
NameRequiredDescriptionDefault
projectIdYes
replaceExistingNoRequired as true when the project already has panels. They are all deleted.

TDQS

A4.7/5.0
Behavior5/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

The description goes well beyond the annotations by disclosing asynchronous completion (2-3 minutes), cost-on-finish with a concrete credit example, the prerequisite of approving character references, and the destructive consequence of deleting every existing page/panel including drawn panels. This is rich, specific behavioral disclosure with no contradiction.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Every sentence adds necessary operational or cautionary information. The description is front-loaded with the primary action and asynchronous behavior, followed by cost, prerequisite, and destructive warning. There is no fluff or repetition.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness5/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For an asynchronous, destructive, paid operation with no output schema, the description covers all critical operational aspects: what starts, when results appear, cost behavior, required preconditions, and the destructive parameter condition. An agent has enough information to invoke it correctly and avoid data loss.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is only 50%, so the description must compensate. It strongly clarifies replaceExisting semantics by linking it to destructive deletion of existing panels and drawn art. projectId is not described, but its role is self-evident from the tool name and the required-field context, so the gap is minor.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description states a specific verb and resource: it 'starts writing the script' and enumerates the content produced (chapters, pages, panels, dialogue, captions). It also distinguishes its asynchronous nature from the status-tracking sibling tool, making its purpose unambiguous.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

It gives clear context: returns immediately, results appear via aetherwave_comic_status, character references must be approved first, and rewriting requires replaceExisting: true when panels exist. It does not explicitly name alternatives to exclude, but the guidance is sufficient for correct use.

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)AInspect

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-pro or flux-kontext-max

  • NSFW edits -> wan-2.5-spicy-i2i

  • Highest quality, time is not a concern (~5 min OK) -> gpt-image-1.5-i2i or grok-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.

ParametersJSON Schema
NameRequiredDescriptionDefault
modelNoModel 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.
promptYesText description of the edit (e.g. 'replace the sky with sunset clouds').
qualityNoQuality preset for models that support it (e.g. GPT Image 2).
imageUrlYesPublic URL of the source image to edit. Must be a real, fetchable URL.
maxImagesNoNumber of variations to return for multi-output models.
resolutionNoOutput resolution. Tiered-pricing models accept '1K' / '2K'.
aspectRatioNoOutput aspect ratio (e.g. '1:1', '16:9'). Defaults to the source ratio for most models.
renderingSpeedNoRendering speed preset for models that support it.
negative_promptNoWhat to avoid in the output (supported by some models).

TDQS

A4.8/5.0
Behavior5/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

The description discloses behavioral details beyond annotations: 'Submits, polls, and returns the edited image URL(s)', cost (6 cr per call), number of variations (2), expected latency (~30s), and the upstream URL-spaces/parentheses failure caveat. These are not captured by the annotations, which only state readOnlyHint=false, openWorldHint=true, idempotentHint=false, destructiveHint=false, so the description adds substantial transparency.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The opening paragraph is front-loaded and direct, with useful examples. The model selection guide is lengthy but well-organized and earns its place given the number of model choices; a small redundancy (default model restated) prevents a perfect score.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness5/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given 9 parameters, no output schema, and a complex multi-model decision, the description is remarkably complete: it covers return values (edited image URLs), polling behavior, costs, timing, source URL constraints, and model-specific guidance. It is sufficient for an agent to select and invoke the tool correctly in most scenarios.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 100%, so the baseline is 3. The description adds extra meaning by explaining model trade-offs (cost, speed, quality), noting that `imageUrl` must be a 'clean URL', and describing default model behavior. It doesn't deeply elaborate every parameter (e.g., `quality`, `renderingSpeed`), but it compensates beyond the schema for the most important ones.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description opens with a specific verb+resource: 'Edits an existing image guided by a text prompt.' It then gives concrete examples ('add a moon to the sky', 'swap the background for a neon city') and clarifies required inputs (`imageUrl` plus `prompt`), which clearly distinguishes it from siblings like `aetherwave_generate_image` or `aetherwave_remove_background`.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines5/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

It provides an explicit model selection guide with when-to-use rules ('Need a single deterministic output... -> seedream-v4-edit', 'NSFW edits -> wan-2.5-spicy-i2i') and a default fallback ('If the user simply says "edit this image"... default to grok-imagine-i2i'). It also directs users to `list_image_models` for the full lineup, offering clear alternatives.

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)AInspect

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) or imagen-4 (12 cr, very high quality) or z-image-turbo (3 cr, fastest)

  • "highest quality" / "premium" / no budget -> gpt-image-2-t2i at 2K, or grok-imagine-quality-t2i (16 cr @ 1K, 22 cr @ 2K), or imagen-4-ultra

  • Text inside the image (signs, posters, typography) -> ideogram-v3-t2i (best in class) or gpt-image-2-t2i (also strong)

  • Artistic / painterly / stylized -> midjourney-t2i

  • Album art / cover art -> gpt-image-2-t2i for one strong image; grok-imagine-t2i for 6 variations to choose from; seedream-v4-t2i if 4K wanted

  • Logo or design with embedded text -> ideogram-v3-t2i

  • NSFW / 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 use numImages on 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

ParametersJSON Schema
NameRequiredDescriptionDefault
seedNoSeed for deterministic generation (supported by some models).
modelNoModel ID. Defaults to 'grok-imagine-t2i'. Use list_image_models for the full list.
promptYesText description of the image to generate.
numImagesNoNumber of images for models that support multiple outputs.
resolutionNoOutput resolution. Most models accept '1K' or '2K'; some accept '480p'/'720p'.
aspectRatioNoAspect 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.
negative_promptNoWhat to avoid in the output (supported by some models).
referenceImagesNoArray 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).

TDQS

A4.9/5.0
Behavior5/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Goes well beyond annotations by disclosing job submission/polling, credit costs, output counts, adult-content routing, and provider aspect-ratio requirements. The description is consistent with readOnlyHint=false and destructiveHint=false, so there is no contradiction.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is long but appropriately structured: front-loaded purpose, then model selection guide, I2I alternatives, and user-confirmation conditions. Every section earns its place given the tool's complexity and 8 parameters.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness5/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Even without an output schema, the description explains the return value (final image URLs), job lifecycle, credit costs, and when to ask for user input. This is a complete and actionable description for a complex generative media tool.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 100%, so baseline is 3, but the description adds meaningful context: default model behavior, model selection guide, explicit aspectRatio advice, referenceImages single-URL convenience, and numImages usage. It does not add much for seed or negative_prompt, but those are already well-described in the schema.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states it generates one or more images from text (T2I) or text plus reference image(s) (I2I), and explains the job lifecycle (submit, poll, return URLs). It distinguishes itself from sibling tools like aetherwave_edit_image and other media generation tools by explicitly covering image generation and model selection.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines5/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Provides explicit when-to-use and when-not-to-use guidance: prefer aetherwave_edit_image for editing, use I2I models only for specific intents, use list_image_models for full lineup, and includes concrete model selection criteria by prompt signals. It also specifies when to ask the user for clarification.

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)AInspect

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.

ParametersJSON Schema
NameRequiredDescriptionDefault
modelNoSuno model version. Defaults to V5_5 (current best).
titleNoOptional title for the generated tracks.
lyricsNoCustom lyrics. If omitted, Suno will generate lyrics from the prompt (unless instrumental=true).
promptYesStyle/mood/topic description. E.g. 'Lo-fi ambient track, rain sounds, warm pads' or 'High-energy synthwave with driving bass'.
audioWeightNo0 to 1. Weighting on the audio character of the generation. Only applies with lyrics.
styleWeightNo0 to 1. How closely to follow the style description. Higher sticks to it, lower lets the model roam. Use when someone asks to stay closer to, or further from, a described sound. Only applies with lyrics.
vocalGenderNoVocal gender, 'm' or 'f'. Only applies when lyrics are supplied. Default 'm'.
instrumentalNoIf true, no vocals. Default false.
negativeTagsNoComma-separated things to AVOID, e.g. 'heavy metal, screaming, distorted guitar'. Use when someone says they do not want a particular sound. Only applies with lyrics.
weirdnessConstraintNo0 to 1. How experimental the result is. Higher is stranger and more unexpected, lower is safer and more conventional. Use when someone asks to make it weirder or more normal. Only applies with lyrics.

TDQS

A4.6/5.0
Behavior5/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Discloses non-obvious behaviors beyond annotations: two tracks returned, default model, 6-minute polling budget, advisory title for instrumentals, and common transient errors with retry strategy. This is rich behavioral context.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is concise: four sentences, every one adding operational value. It front-loads the main action and then packs specifics efficiently without redundancy.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

With no output schema, the description mentions two tracks but not the response structure. However, it covers timing, errors, defaults, and key parameter nuances, which is a strong level of context for a complex generation tool. Missing only formal return format details.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema already describes all parameters with 100% coverage, so baseline is 3. The description adds extra semantics for the instrumental param and notes about title behavior, plus retry guidance, which is additional value over the schema.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states it generates AI music via Suno, using a specific verb and resource. It distinguishes itself from sibling tools by naming music generation specifically and adds unique details like returning two tracks per submission.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Provides clear operational context: instrumental flag, polling duration, retry behavior. However, it does not explicitly compare to alternatives or state when not to use this tool, falling short of full exclusion guidance.

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)AInspect

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-quality or veo3-quality (Google's flagship, fixed 350-560 cr for 8s, 3-5 min)

  • "fast premium" / quick high-quality -> veo3-fast or veo3.1-fast (84 cr fixed for 8s)

  • Cinematic camera moves / dolly / pan -> seedance-pro-t2v (3-10 cr/s) or kling-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) or infinitalk (5-17 cr/s)

  • Anime / stylized / fantasy -> wan-2.7-t2v

  • NSFW / 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-i2v with both imageUrl + endImageUrl

  • Cheapest test -> hailuo-2.0-standard @ 512p (3 cr/s, ~18 cr for 6s) or grok-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.

Consistent characters

If the user names a person they already have ("my Amy character"), call aetherwave_list_characters FIRST, append that character's identityBlock verbatim to the prompt, and pass their referenceImages. Do NOT use imageUrl for this - a starting frame switches the engine to first-frame mode and drops the reference images, which is the opposite of what a consistent character needs.

Writing dialogue

duration is authoritative: the engine honours the seconds you ask for to within ~0.1s and then fits the line to that length by changing pace, rather than finishing early. So write the line to the clip length - do NOT estimate the clip length from the line. Measured on a 22-clip production: ~2 words per second of clip. A words-per-minute figure from a voice description describes the character, not the engine, and budgeting by it overran by 35%.

Pass generateAudio: true for any clip with dialogue, and spell hard words the way they should be spoken ("super intelligence" rather than "superintelligence") - the engine reads the text literally and mangles unfamiliar compounds.

⚠️ A take can come back saying the WRONG WORDS and still report success. Re-rendering the identical prompt produced one clean take and one that dropped a whole sentence. For anything that will be assembled unattended, verify the rendered speech against the script before using the clip.

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

ParametersJSON Schema
NameRequiredDescriptionDefault
modeNoModeration mode for Grok Imagine. Defaults to 'normal'.
asyncNoSubmit and return a taskId IMMEDIATELY instead of waiting for the render. Video takes 1-8 minutes and most MCP clients abandon a call at 60s, so a synchronous video call usually fails from the client side even though the render succeeds. Pass true, then poll aetherwave_get_job(taskId). Strongly recommended for video.
modelNoModel ID. Defaults to 'grok-imagine-t2v'. Use list_video_models for the full list.
promptYesText description of the video scene.
durationNoDuration in seconds. Grok Imagine accepts 6-15; other models have their own ranges (see list_video_models).
imageUrlNoPublic URL of starting image. Required for I2V models.
resolutionNoOutput resolution. Default depends on model.
aspectRatioNoAspect ratio (e.g. '16:9', '9:16', '1:1').
endImageUrlNoPublic URL of ending image. Supported by some I2V models (first+last frame).
generateAudioNoRender native speech and sound WITH the video. Off by default, so a clip is SILENT unless you pass true. Free on Seedance 2.x at every resolution (measured: the sounded and silent runs bill identically) and included at base cost on Grok Imagine and VEO 3.x; Kling 2.6/3.0 surcharge for it. Pass true whenever the prompt contains dialogue - a talking head with no audio is not what the caller asked for.
referenceImagesNoUp to 9 image URLs used as identity anchors held consistent ACROSS the whole clip. THIS is the parameter for a consistent character - pass the character's referenceImages from aetherwave_list_characters. Mutually exclusive with imageUrl: a supplied first frame switches the engine to first-frame mode and DROPS these, disabling the only no-drift mechanism there is. Platform https URLs are fetched and encoded for you.

TDQS

A4.9/5.0
Behavior5/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

The description goes well beyond the annotations (readOnlyHint: false, openWorldHint: true, idempotentHint: false, destructiveHint: false). It discloses polling behavior (up to 8-minute budget), the async option with reasoning about client timeouts, the risk of wrong words despite success status, audio surcharge differences across models, and credit cost framing. This is rich behavioral disclosure that an agent needs to handle a long-running, fallible generation tool safely.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is long but structured with sections and bullet points, and the core purpose is front-loaded. Most sentences add value—credit costs, fallback behavior, audio pricing, and pitfalls are all actionable. However, it includes a fairly extensive model selection guide that could arguably be condensed to shorter hints, and the cost framing examples ('35x more') are illustrative but verbose. It earns a 4 for being well-organized but slightly over-stuffed.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness5/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the tool has 11 parameters, no output schema, and significant operational complexity, the description covers all needed aspects: return value (final video URL), async flow, polling budget, model selection, audio handling, consistent-character workflow, and dialogue writing guidelines. It also links to sibling tools like aetherwave_get_job and aetherwave_list_characters. Nothing essential for an agent to invoke this correctly is missing.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters5/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Even though schema description coverage is 100%, the description adds substantial semantic depth for parameters. It explains that imageUrl is required for I2V, endImageUrl for first+last frame, referenceImages is mutually exclusive with imageUrl and drops reference images when imageUrl is supplied, generateAudio should be true for dialogue, and duration is authoritative with pace adjustment. These insights are not present in the schema and directly affect parameter selection and invocation.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description opens with a precise statement: '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.' This clearly identifies the verb (generate), resource (short-form video), and flow. It distinguishes from sibling tools like aetherwave_generate_image and aetherwave_edit_image by making video the explicit focus, and mentions the default model to disambiguate further.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines5/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description is exemplary on usage guidance. It provides a detailed model selection guide with explicit conditions: 'highest quality' → veo3.1-quality, 'cinematic camera moves' → seedance-pro-t2v, 'NSFW' → wan-22-nsfw-i2v, and so on. It names the alternative tool list_video_models for full lineup, and gives explicit 'ask the user only when' conditions. It also distinguishes when to use I2V vs T2V and when to call aetherwave_list_characters for consistent characters. No ambiguity remains.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

aetherwave_get_jobCheck a generation job by taskIdA
Read-only
Inspect

Returns the current state and, once finished, the output URL(s) for a job submitted with async:true. Poll this every 10-20s. Use it whenever a generation call timed out too: the job keeps running server-side and is saved to the gallery regardless of what happened to the client, so a taskId is enough to recover a render you already paid for.

ParametersJSON Schema
NameRequiredDescriptionDefault
kindYesWhich pipeline produced the job. Picks the status endpoint.
taskIdYesThe taskId returned by an async submit.

TDQS

A4.3/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already mark readOnlyHint=true, but the description adds non-obvious behavioral context: the job continues server-side and is saved to the gallery even if the client lost connection, and a taskId recovers a render already paid for. This goes beyond the structured annotations and gives the agent important persistence/recovery behavior without contradicting any annotation.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is front-loaded with the core return value, then gives polling cadence, then the timeout recovery case. Each sentence contributes; the billing remark ('you already paid for') is marginally persuasive rather than purely informational, but the overall structure is efficient and focused.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a simple read-only polling tool with 2 parameters and no output schema, the description covers the return value, state progress, polling frequency, and a critical failure scenario. It doesn't enumerate possible state values, but that is a minor omission given the schema and annotations already provide a solid foundation.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 100%: both taskId and kind are already described in the input schema, including the enum for kind. The description's mention that 'a taskId is enough' reinforces the parameter's role but does not add new semantic detail beyond what the schema provides, so the baseline of 3 is appropriate.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description states a specific verb and resource: 'Returns the current state and, once finished, the output URL(s) for a job submitted with async:true.' It clearly differentiates from generation siblings by focusing on the async polling/recovery use case, so an agent understands exactly what this tool does and when it differs from tools like aetherwave_generate_video.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines5/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Explicit usage guidance is given: 'Poll this every 10-20s' and 'Use it whenever a generation call timed out too.' It also explains why (job keeps running server-side) and the recovery condition (taskId is enough), leaving no ambiguity about when to invoke this tool rather than resubmitting a generation.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

aetherwave_list_charactersList my UGC characters (recurring on-screen people)A
Read-only
Inspect

Returns the caller's saved UGC characters - the recurring, named people they shoot with - with everything needed to keep one consistent across a whole production.

CALL THIS FIRST whenever the request names a person the user already has ("use my Amy character", "shoot this with Katie"). There is no other way to discover that a character exists, and guessing their appearance produces a different face in every clip.

Per character you get:

  • identityBlock - the locked CORE IDENTITY string. Append it VERBATIM to every prompt in the production. Identical text is identical conditioning; that is the whole consistency mechanism, and paraphrasing it breaks it.

  • referenceImages - the approved image pack. Pass these as referenceImages on aetherwave_generate_video. ⚠️ When a pack exists it REPLACES the hero image, it does not ride alongside it (measured A/B, 2026-09-22): mixing them pulls the face two ways.

  • heroImageUrl - single fallback anchor, for characters with no pack.

  • voiceId / voiceSpec - the engineered voice description. Append it to the prompt for any talking clip, byte-identical every time, for the same reason as identityBlock.

  • personality - tones, quirks and speechStyle. This is the comic/tonal direction the user wrote for this character; fold it into the prompt rather than inventing a manner.

  • negativeLock - the character's negative prompt.

  • hasApprovedPack - true when referenceImages is non-empty; tells you to prefer the pack over the hero.

ParametersJSON Schema
NameRequiredDescriptionDefault
nameNoOptional case-insensitive substring filter on character name or handle (e.g. 'amy'). Omit to list every character.

TDQS

A4.6/5.0
Behavior5/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already mark the tool as read-only and open-world, and the description adds useful behavioral context without contradicting them: it warns that referenceImages replaces rather than augments the hero image, and that paraphrasing identityBlock breaks consistency. This gives the agent operational knowledge beyond the structured annotation hints.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is longer than average, but it is organized with a clear opening directive and bulleted output explanations, and every section provides operational value. The only slight deduction is that several downstream-use instructions could be consolidated, but the structure makes the length acceptable.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness5/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

With no output schema, the description carries the burden of explaining every meaningful returned field, and it does so thoroughly: identityBlock, referenceImages, heroImageUrl, voiceId/voiceSpec, personality, negativeLock, and hasApprovedPack all receive concrete guidance. It is sufficient for an agent to call the tool and correctly use its result.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The single optional name parameter is fully documented in the schema (case-insensitive substring filter, omit to list all), and the description does not need to add much. It does not repeat or expand the schema, so baseline 3 is appropriate for high schema coverage.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description opens with a specific verb and resource: returning the caller's saved UGC characters, and immediately names the core purpose: keeping recurring characters consistent across a production. It also distinguishes itself from any sibling lookup by stating there is no other way to discover whether a character exists, so agents can route correctly.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines5/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

It gives an explicit trigger: 'CALL THIS FIRST whenever the request names a person the user already has', with concrete example phrases. It also tells the agent how to use the returned fields downstream, including passing referenceImages to aetherwave_generate_video and appending identityBlock/voiceSpec verbatim, leaving no ambiguity about when and how to invoke it.

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 modelsA
Read-only
Inspect

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.

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

TDQS

A4.7/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already declare readOnlyHint=true, and the description adds behavioral detail about the returned fields (credit cost, aspect ratio, inputs, options) and how the model key is used downstream. It does not mention rate limits or pagination, but the tool is a simple list with zero parameters, so the added context is sufficient.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Two sentences with no redundancy. The first sentence front-loads the main purpose and return fields; the second sentence gives actionable usage guidance. Every word earns its place.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness5/5

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 fully covers what the tool returns, how to use it, and why it matters. It is complete for its purpose and requires no further elaboration.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The tool has zero parameters, so schema coverage is trivially 100%. The description adds value by explaining that the returned model key is what you pass to generate_image, which clarifies the connection to another tool's parameter even though this tool itself has no inputs.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states that the tool returns every image-generation model AetherWave supports, listing specific fields (credit cost, aspect ratio, input types, options). It distinguishes itself from sibling tools like aetherwave_list_video_models by explicitly 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.

Usage Guidelines5/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description explicitly says 'Call this before generate_image when you don't know the right model ID', giving a clear when-to-use directive and tying it to a sibling tool. It also implies that generate_image is the consumer of the model key, providing practical context.

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 presetsA
Read-only
Inspect

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.

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

TDQS

A4.7/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already declare readOnlyHint=true and openWorldHint=true. The description adds valuable context about the return contents (12 presets, style coverage, LUFS examples) that goes beyond the annotations. It does not contradict the read-only nature, though it does not discuss potential rate limits or caching, which are minor for a list operation.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is compact (four sentences) and front-loaded with the primary action. Every sentence earns its place: returns what, when to use, how many and which styles, and LUFS examples. No filler or redundancy.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness5/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Despite having no output schema, the description explains the return values (target LUFS, tags, descriptions, difficulty level) and provides concrete examples. It also covers usage context and breadth of presets, making it fully 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.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The tool has zero parameters, so the baseline is 4. The description correctly says nothing about parameters, and the empty schema needs no further explanation. No additional parameter semantics are required.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the tool's function: 'Returns every AI mastering preset AetherWave supports' with specific fields (target LUFS, tags, descriptions, difficulty level). It distinguishes this listing tool from the mastering tool (master_audio) and other sibling list tools by focusing on audio mastering presets.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines5/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Explicit guidance is given: 'Call this before master_audio when you don't know which preset fits the track.' This names the alternative tool and specifies the condition for use, which is exactly the level of when-to-use guidance expected.

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 itemsA
Read-only
Inspect

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).

ParametersJSON Schema
NameRequiredDescriptionDefault
typeNoFilter to a single media type. Omit for all types.
limitNoMax items to return. Defaults to 100, max 500.
offsetNoPagination offset. Defaults to 0.
favoritesOnlyNoIf true, only return items marked as favorite.

TDQS

A4.4/5.0
Behavior5/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Beyond annotations (readOnlyHint=true), the description discloses pagination support, type filtering, and the exact fields returned including type-specific fields. This gives agents a complete picture of the return payload and behavior without an output schema.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is front-loaded with the main purpose and includes useful examples. The field list is somewhat lengthy but serves as a substitute for an output schema, so it earns its place.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness5/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a read-only list tool with no output schema, the description sufficiently explains the return fields, filtering, and use cases. It is complete enough for an agent to invoke correctly without additional context.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 100%, with each property already documented. The description only restates that pagination and type filtering are supported, adding no extra meaning over the schema. Baseline 3 is appropriate.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the tool returns gallery items from the authenticated user, listing exact media types (images, videos, audio). It distinguishes itself from sibling generation/edit tools by being the listing tool for user creations.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description provides explicit example workflows ('find my last 5 images and reframe them', 'list my recent songs and master each one'), indicating when to use this tool before editing. It lacks an explicit 'when not to use' but there are no sibling listing tools, so context is clear.

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 modelsA
Read-only
Inspect

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.

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

TDQS

A4.7/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already declare readOnlyHint=true, and the description adds valuable behavioral context by listing the exact data fields returned (credit cost, durations, resolutions, aspect ratios, I2V requirement). This goes beyond the safety hint and helps the agent anticipate the response shape.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Two sentences, no filler. The first sentence packs the output details and examples; the second sentence provides usage context. Every word earns its place.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness5/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

With no parameters and no output schema, the description fully compensates by detailing both purpose and return content. It also gives usage context, making the tool self-sufficient for an agent.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Tool has 0 parameters, so baseline is 4. The description doesn't need to explain parameters; it instead focuses on output, which is appropriate for a zero-argument tool.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the tool's function: returning every video-generation model with specific attributes. It distinguishes itself from sibling tools like list_image_models by explicitly focusing on video models and mentioning generate_video in usage.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines5/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Provides explicit usage guidance: 'Call this before generate_video when you don't know the right model ID.' This tells the agent exactly when to use the tool and implies the alternative (skip if model ID is already known).

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)AInspect

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.

ParametersJSON Schema
NameRequiredDescriptionDefault
presetYesMastering 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).
audioUrlYesPublic URL to the source audio file (MP3 or WAV).
trackTitleNoOptional title for the mastered output (used in gallery row label).

TDQS

A4.6/5.0
Behavior5/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

The description adds substantial behavioral detail beyond annotations: synchronous polling ('route polls the Python service internally; expect 30s-5min'), cost ('20 credits per track'), free plan tiers, and output specifics ('WAV (~50MB per 3-minute track, lossless for redistribution)'). These are critical operational facts not present in annotations.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is front-loaded with the core purpose and then packs in relevant operational details (timing, cost, output, presets). While it is long, every sentence carries useful information, though it could be tightened slightly without losing value.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness5/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a tool with no output schema and 3 parameters, the description is remarkably complete: it covers synchronous behavior, latency, cost, free plans, output format and size, lossless quality, and preset guidance with a pointer to a sibling tool for the live list. The agent has enough context to invoke it correctly.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 100%, so baseline is 3. The description adds meaning by explaining that the preset 'steer[s] the mastering style' and that each preset's target LUFS lets you 'match the distribution target,' which goes beyond the schema's mere enumeration. However, much of the parameter detail is redundant with the schema.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The first sentence clearly states the action and resource: 'Submits an audio file for AI mastering and returns the mastered URL synchronously.' It distinguishes the tool from siblings by positioning it as a 'final polish step after music generation' and by referencing aetherwave_list_master_presets for preset selection.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Provides clear context by stating it is 'Useful as a final polish step after music generation,' which implies when to use. It also gives practical constraints like audio URL requirements, expected wait time, and cost, but does not explicitly name alternatives or state when not to use.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

aetherwave_merch_garmentsList print-on-demand garments, colours and print areasA
Read-only
Inspect

Free. Without garmentId: the curated garment list (tees, tanks, hoodies, with Printful catalog ids). With garmentId (any Printful catalog product id, including hats): every colour with its US in-stock sizes, the print placements with their size in inches, and embroidery thread colours where the product is embroidered. Use it to pick garmentId, color and placement for aetherwave_merch_mockup.

ParametersJSON Schema
NameRequiredDescriptionDefault
garmentIdNoPrintful catalog product id, e.g. 71 (Bella+Canvas 3001 tee), 140 (Flexfit 6277 cap).

TDQS

A4.6/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already declare readOnlyHint and openWorldHint, so safety is covered. The description adds real value beyond that: it flags the call as free, discloses that the id space is the entire Printful catalog (including hats, contradicting the 'curated' framing when an id is given), and enumerates the per-mode payloads (US in-stock sizes, placements in inches, embroidery thread colours).

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Front-loaded with the cost signal ('Free.'), then the two modes, then the routing purpose. Every clause adds decision-relevant information; no filler or repeated name/title.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

With no output schema, the description must cover returns, and it does so for both modes with concrete fields. It is complete enough to call correctly; only minor gaps remain (no mention of response size or whether the curated list is paginated).

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 100%, so baseline is 3. The description earns above baseline by interpreting the parameter's two regimes (absent = curated list, present = any Printful catalog id including hats) and the shape of what each mode yields, which the schema's one-line description does not convey.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

States the resource (print-on-demand garments, colours, print areas) and precisely distinguishes its two operating modes: without garmentId returns the curated list, with garmentId returns colours/sizes/placements. The agent can identify what it returns without opening anything else.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines5/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Explicitly routes the agent: 'Use it to pick garmentId, color and placement for aetherwave_merch_mockup.' It names the downstream sibling and the exact function this call serves, so when-to-use versus aetherwave_merch_mockup is unambiguous.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

aetherwave_merch_mockupRender a design on a real garment (print file + mockups)AInspect

3 credits (refunded if the render fails; nothing is charged for a bad garment, colour or placement). Builds the print file at the garment's own print area and resolution, then renders Printful product mockups (front, back, side, flat lay). Waits up to 90 seconds; if still rendering, returns taskKey for aetherwave_merch_mockup_status.

Returns printfileUrl (use it to create the product, in your own store with aetherwave_printful_create_product on the local server) and mockup image URLs. Mockup URLs are temporary Printful links: save the ones you want. Limit 20 mockups an hour. Made with AetherWave Studio: https://aetherwavestudio.com/shop

ParametersJSON Schema
NameRequiredDescriptionDefault
colorYesColour name exactly as aetherwave_merch_garments lists it (case-insensitive).
topInNoDistance from the top of the print area in inches. Default 1 (0 for embroidery).
widthInNoPrinted width in inches; the design keeps its proportions and is shrunk to fit the print area. Default 10 (a hat front is about 5.9).
designUrlYesFrom aetherwave_merch_prepare_design.
garmentIdYesPrintful catalog product id (see aetherwave_merch_garments).
placementNoDefault 'front'. Hats use 'embroidery_front_large'.

TDQS

A4.4/5.0
Behavior5/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations declare openWorld and non-idempotent, but the description adds far more: the 3-credit cost with refund-on-failure, the 90-second timeout with a taskKey fallback, the fact that mockup URLs are temporary Printful links, and a 20-mockups-per-hour rate limit. This is exactly the behavioral context annotations cannot convey.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Front-loads the cost, then the action, then the fallback and returns — a sensible ordering with no filler. The trailing promotional link ('Made with AetherWave Studio') is the one sentence that does not earn its place.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness5/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

With no output schema, the description carries the return-value burden and does so: printfileUrl, mockup image URLs and their temporariness, plus the taskKey polling path. Combined with the rate limit and pricing, an agent has everything needed to call and follow up correctly.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 100%, so the schema already documents color, topIn, widthIn, placement, designUrl and garmentId including defaults. The description adds little parameter-level detail beyond noting that a bad garment/colour/placement is not charged; baseline 3 is appropriate when the schema does the heavy lifting.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

States a specific verb and resource: 'Builds the print file at the garment's own print area and resolution, then renders Printful product mockups.' It is clearly differentiated from its siblings (prepare_design, mockup_status, create_product). The title reinforces this without merely restating the name.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

It routes the agent to concrete alternatives: use the returned printfileUrl with aetherwave_printful_create_product, and poll aetherwave_merch_mockup_status when still rendering after 90s. It also implies the designUrl must come from aetherwave_merch_prepare_design. There is no explicit 'do not use this when...' exclusion, so it stops short of a 5.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

aetherwave_merch_mockup_statusCheck a mockup renderA
Read-only
Inspect

Free. Status and mockup URLs of a render started by aetherwave_merch_mockup (kept 6 hours, visible only to the account that paid for it).

ParametersJSON Schema
NameRequiredDescriptionDefault
taskKeyYes

TDQS

A3.7/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already declare readOnlyHint and openWorldHint, so safety is covered. The description adds genuinely new behavioral facts: results are retained only 6 hours and are visible only to the paying account. It does not explain failure states or what a missing/expired taskKey yields, keeping it from a 5.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

A single tightly written sentence with the cost signal ('Free.') front-loaded and the scope details parenthesized. No wasted words, though the parenthetical packs two distinct facts together and could be split for scanability.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

With no output schema, the description carries the return-value burden and does state that status and mockup URLs are returned. Retention window and per-account visibility are covered. What is missing is only edge-case behavior (expired tasks, still-rendering state).

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

One required parameter (taskKey) with 0% schema description coverage, so the description must compensate but only partially does: it implies the key comes from a render started by aetherwave_merch_mockup, but never names taskKey or states its format/source explicitly. Better than nothing, below the 4 baseline for undocumented params.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

States a specific verb+resource: retrieving status and mockup URLs for a render. It explicitly ties the artifact to the sibling that created it (aetherwave_merch_mockup), which helps disambiguate among 30 siblings. Slightly terse about what 'status' values mean, so not a full 5.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The phrase 'of a render started by aetherwave_merch_mockup' implies this is a follow-up poll to that tool, which is useful context. However, there is no explicit when-to-use/when-not guidance, no polling cadence, and no comparison to the generic aetherwave_get_job sibling that might also retrieve job status.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

aetherwave_merch_prepare_designPrepare a design for printingAInspect

1 credit. Turns an image into a print-ready transparent PNG trimmed to the artwork. Pass an AetherWave media URL (e.g. from aetherwave_generate_image), a data URL, or on the local server a file path. Set knockout=true to remove a plain background (only background connected to the edges is removed, so white lettering inside the design survives). Returns designUrl for aetherwave_merch_mockup. For a dark garment, a design drawn as light ink on transparency prints best.

ParametersJSON Schema
NameRequiredDescriptionDefault
imageYesAetherWave media URL or data URL
knockoutNoRemove a plain background colour. Default false.
toleranceNoHow far from the background colour still counts as background. Default 24.

TDQS

A4.3/5.0
Behavior5/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Adds substantial context beyond the annotations: a 1-credit cost, the exact output transformation (transparent PNG trimmed to artwork), and the nuanced knockout behavior (only edge-connected background is removed so interior white lettering survives). It also states the primary return field, which annotations alone would not convey.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Four dense sentences with the cost and core transformation front-loaded, followed by input forms, the knockout nuance, and the downstream handoff. No filler or repetition of schema content.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a 3-parameter tool with no output schema, the description covers cost, input sources, transformation semantics, and the key return field for chaining. Minor gaps remain (no mention of other return fields or of tolerance interaction), but nothing an agent needs to call it is missing.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 100%, so the schema already documents all three parameters (baseline 3). The description still adds value for 'image' by enumerating accepted source types and for 'knockout' by explaining the edge-connectivity rule, though it says nothing about 'tolerance' beyond what the schema provides.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

States a precise verb and output: 'Turns an image into a print-ready transparent PNG trimmed to the artwork.' The merch-prep framing and the designUrl -> mockup chain make the intent clear. It does not, however, explicitly distinguish itself from the near-neighbor aetherwave_remove_background, which an agent could plausibly pick for the same input.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Gives concrete usage context: accepted input forms (AetherWave media URL, data URL, local file path), when to set knockout=true, and the downstream tool (aetherwave_merch_mockup). No explicit when-not guidance or contrast against the background-removal siblings.

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)AInspect

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.

ParametersJSON Schema
NameRequiredDescriptionDefault
speedNoRendering speed. 'turbo'=5cr, 'balanced'=10cr (default), 'quality'=14cr.
imageUrlYesPublic URL of the source image.
aspectRatioYesTarget aspect ratio (e.g. '16:9', '9:16', '1:1', '4:3', '3:4', '21:9').

TDQS

A4.2/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

The description discloses key behavioral details beyond annotations: it performs outpainting, has three speed tiers with specific credit costs, and returns a new image URL. It does not contradict annotations (readOnlyHint=false, etc.) and adds useful cost/performance trade-off information. Minor gaps remain about side effects or rate limits, but for a creative tool this is solid.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is two concise sentences, front-loaded with the core purpose and then providing the essential parameter and return information. Every sentence earns its place with no fluff or repetition.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a tool with only 3 parameters and no output schema, the description covers the main functionality, inputs, speed/cost options, and return value. It does not mention limitations like max file size or file format restrictions, but given the openWorldHint and simple nature, the description is nearly complete.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The schema already covers all three parameters with 100% description coverage, including the enum values and credit costs. The description reinforces the aspect ratio examples and speed tiers but adds no new parameter-specific meaning beyond what the schema provides, so the baseline of 3 applies.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states a specific verb ('Reframes') and a specific resource ('image') with a clear goal ('to a new aspect ratio'). It distinguishes itself from siblings like reframe_video and edit_image by focusing on image reframing via outpainting.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description gives clear context for when to use the tool (when needing to reframe an image to a new aspect ratio) and explicitly lists the required inputs and speed options. It does not explicitly name alternatives or state when not to use it, but the sibling list and specific language make the usage context obvious.

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)AInspect

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).

ParametersJSON Schema
NameRequiredDescriptionDefault
videoUrlYesPublic URL of the source video (MP4).
reframePromptNoOptional prompt to steer the new edge content.
reframeAspectRatioYesTarget aspect ratio.

TDQS

A4.2/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations indicate readOnlyHint=false and destructiveHint=false, but the description adds valuable behavioral context: cost (17 credits per second), output format (R2-hosted URL), and the outpainting/cropping mechanism. It also clarifies that the source must be a public URL. No contradiction with annotations; this is a solid disclosure of operation behavior.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is three sentences, front-loaded with the primary action, and every sentence adds meaningful info: operation, required inputs, optional prompt with example, cost, and return format. There is no fluff or redundancy, making it highly efficient and well-structured.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

The tool has no output schema, so the description's mention of 'Returns the reframed video URL (R2-hosted)' fills that gap. It covers purpose, inputs, optional parameter, cost, and output. It could additionally note potential processing time or failure modes, but the provided information is sufficient for an agent to decide to invoke the tool. Sibling tools are similar but not referenced, yet the context is complete for a typical use case.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 100%, so the schema already documents all three parameters. The description adds marginal value by giving an example for reframePrompt and emphasizing videoUrl must be public, but this is largely redundant. Baseline 3 applies because the schema does the heavy lifting; the description does not significantly enhance parameter understanding.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the tool's purpose: 'Reframes a video to a new aspect ratio by intelligently outpainting/cropping the edges.' It uses a specific verb ('reframes') and resource ('video'), and the mention of 'video' distinguishes it from the sibling reframe_image tool. The title also adds model context (Luma Ray 2 Flash), reinforcing the specific operation.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description provides clear context for when to use the tool: to change a video's aspect ratio via outpainting/cropping. It specifies required inputs (public videoUrl and reframeAspectRatio) and optional reframePrompt. However, it does not explicitly compare to alternatives or state exclusions (e.g., 'use reframe_image for images'), though sibling tooling implies this. This is a minor gap, so 4 is appropriate.

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)AInspect

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.

ParametersJSON Schema
NameRequiredDescriptionDefault
imageUrlYesPublic URL of the source image.

TDQS

A4.5/5.0
Behavior5/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

The description discloses costs (~5 credits per image), provider fallback behavior (Recraft to fal.ai BiRefNet v2), and failure semantics ('single-image calls never silently fail'). It also addresses edge cases like transparent-PNG inputs, all beyond the sparse annotations. 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.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is compact and front-loaded with the primary action, followed by key context (cost, fallback, limitations). Every sentence provides value without redundancy or verbose explanation.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness5/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Despite having no output schema, the description specifies the return format (PNG with transparent alpha). It covers costs, provider fallback, ideal use cases, and a limitation, making it complete for a single-parameter tool.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The schema already fully describes the only parameter with 'Public URL of the source image' and format uri. The description repeats 'Pass a public `imageUrl`' without adding new semantic detail, so it meets the baseline for high schema coverage but does not improve on it.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description opens with 'Strips the background from an image, returning a PNG with transparent alpha,' clearly stating the verb, resource, and outcome. It distinguishes itself from siblings like aetherwave_remove_background_video by explicitly targeting images and noting the fallback to BiRefNet v2.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

It provides explicit use cases ('product shots, character cutouts, logo isolation...') and a clear when-not-to-use ('transparent-PNG inputs have no foreground to segment'). However, it does not explicitly name an alternative tool for video or editing, relying on sibling names rather than direct comparison.

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 videoAInspect

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).

ParametersJSON Schema
NameRequiredDescriptionDefault
bgTypeNo'transparent' = alpha WebM output (default). 'color' = solid replacement using customColor.
videoUrlYesPublic URL of the source video (MP4).
customColorNoHex color for solid background when bgType='color' (e.g. '#00ff00'). Default green.

TDQS

A4.7/5.0
Behavior5/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Beyond annotations, the description adds cost (2 credits/second), performance expectations (6s clip ~4 min), limitations (clear edges), and return format (R2-hosted URL). This significantly enriches the behavior profile without contradicting any annotation.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is a single, dense paragraph with no filler. It front-loads the purpose and progressively provides options, cost, performance, and output. Each clause adds distinct value.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness5/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Covers the full lifecycle: input requirements, processing method, output format, cost, and performance caveats. Even without an output schema, it tells the agent what to expect (R2 URL). Given the tool's complexity, this is remarkably complete.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The schema already defines all three parameters with descriptions (100% coverage), but the description adds relational meaning: it explains how bgType and customColor interact (transparent vs color replacement) and specifies the output format (alpha WebM). This goes beyond the schema's individual descriptions.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description opens with a specific verb ('Strips') and resource ('the background from a video'), clarifying the frame-by-frame methodology using rembg. This clearly distinguishes it from siblings like aetherwave_remove_background (image-focused) and other video tools.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Provides clear context on when to use it ('Works best on subjects with clear edges') and warns about performance ('Slowest tool in the surface') with concrete timing examples. It does not explicitly name alternatives or exclusion scenarios, but the context is strong enough for an agent to decide.

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)AInspect

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.

ParametersJSON Schema
NameRequiredDescriptionDefault
imageUrlYesPublic URL of the source image.
upscaleFactorNoUpscale multiplier. Defaults to '2x'. '8x' is heavy; use only on small sources.

TDQS

A4.5/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

The description adds useful behavior beyond the annotations: credit cost depends on source resolution × factor, and it returns the upscaled image URL. Annotations already indicate non-readonly, non-idempotent, non-destructive, and open-world, and the description does not contradict them. It could mention side effects or limitations, but the cost model is valuable.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Three concise, front-loaded sentences: purpose, usage, and cost/return. No filler or redundancy.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness5/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

With only 2 simple parameters and no output schema, the description fully covers inputs, output, and cost behavior. It is complete for the tool's complexity and provides enough context for correct invocation.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 100%, so the baseline is 3. The description adds extra meaning by explaining that credit cost is a function of resolution and factor, which helps choose parameters. It also reiterates the need for a public URL, aligning with the schema's format.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description starts with a specific verb 'Upscales' and a clear resource 'source image', also naming the technology 'Topaz's high-fidelity upscaler'. This clearly distinguishes it from sibling tools like aetherwave_upscale_video or aetherwave_edit_image.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

It gives clear instruction to pass a public imageUrl and upscaleFactor, and provides cost guidance based on resolution and factor. It doesn't explicitly mention alternatives or exclusions, but the image-specific language and sibling tool names make the intended use clear.

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)AInspect

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).

ParametersJSON Schema
NameRequiredDescriptionDefault
videoUrlYesPublic URL of the source video (MP4).
targetResolutionNoTarget output resolution. Defaults to '1080p'. '2k' is more expensive and limited to ~23s clips.

TDQS

A4.2/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Beyond the basic annotations, it discloses per-second costs, Atlas-side limits (clip length, frame rate), and that the result is an R2-hosted URL. This adds meaningful behavioral context about what the tool does and its constraints.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Four focused sentences cover function, usage, cost/limits, and return value. No redundancy or irrelevant details. The structure is front-loaded with the primary purpose.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

The description covers input, constraints, cost, and output URL, which is sufficient given no output schema. It could mention failure behavior but that's not essential. The limits and cost give good operational context.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The schema covers 100% of parameter descriptions, so the description doesn't need to add much. It restates videoUrl and targetResolution without adding new semantics beyond what the schema already provides. Baseline 3 is appropriate.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the tool upscales videos to 1080p or 2K using Atlas, with a specific verb (upscales), resource (video), and target resolutions. It distinguishes itself from sibling tools like aetherwave_upscale_image and aetherwave_generate_video.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

It provides clear context for when to use: upscaling a video with a public URL, with specified resolutions, limits, and costs. It doesn't explicitly name alternatives but the context is sufficient for most AI agents.

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.

  1. 4 tool updates
    • Addedaetherwave_merch_garments
    • Addedaetherwave_merch_mockup
    • Addedaetherwave_merch_mockup_status
    • Addedaetherwave_merch_prepare_design
  2. 3 tool updates
    • Changedaetherwave_generate_video3 fields changed
      • addedInput schema / properties / async
        Added value: +{
        +  "description": "Submit and return a taskId IMMEDIATELY instead of waiting for the render. Video takes 1-8 minutes and most MCP clients abandon a call at 60s, so a synchronous video call usually fails from the client side even though the render succeeds. Pass true, then poll aetherwave_get_job(taskId). Strongly recommended for video.",
        +  "type": "boolean"
        +}
      • addedInput schema / properties / generateAudio
        Added value: +{
        +  "description": "Render native speech and sound WITH the video. Off by default, so a clip is SILENT unless you pass true. Free on Seedance 2.x at every resolution (measured: the sounded and silent runs bill identically) and included at base cost on Grok Imagine and VEO 3.x; Kling 2.6/3.0 surcharge for it. Pass true whenever the prompt contains dialogue - a talking head with no audio is not what the caller asked for.",
        +  "type": "boolean"
        +}
      • addedInput schema / properties / referenceImages
        Added value: +{
        +  "description": "Up to 9 image URLs used as identity anchors held consistent ACROSS the whole clip. THIS is the parameter for a consistent character - pass the character's referenceImages from aetherwave_list_characters. Mutually exclusive with imageUrl: a supplied first frame switches the engine to first-frame mode and DROPS these, disabling the only no-drift mechanism there is. Platform https URLs are fetched and encoded for you.",
        +  "items": {
        +    "format": "uri",
        +    "type": "string"
        +  },
        +  "maxItems": 9,
        +  "type": "array"
        +}
    • Addedaetherwave_get_job
    • Addedaetherwave_list_characters
  3. 9 tool updates
    • Addedaetherwave_comic_assemble
    • Addedaetherwave_comic_character_reference
    • Addedaetherwave_comic_create
    • Addedaetherwave_comic_draw
    • Addedaetherwave_comic_estimate
    • Addedaetherwave_comic_export
    • Addedaetherwave_comic_redraw_panel
    • Addedaetherwave_comic_status
    • Addedaetherwave_comic_write_script
  4. 1 tool update
    • Changedaetherwave_generate_music4 fields changed
      • addedInput schema / properties / audioWeight
        Added value: +{
        +  "description": "0 to 1. Weighting on the audio character of the generation. Only applies with lyrics.",
        +  "maximum": 1,
        +  "minimum": 0,
        +  "type": "number"
        +}
      • addedInput schema / properties / negativeTags
        Added value: +{
        +  "description": "Comma-separated things to AVOID, e.g. 'heavy metal, screaming, distorted guitar'. Use when someone says they do not want a particular sound. Only applies with lyrics.",
        +  "type": "string"
        +}
      • addedInput schema / properties / styleWeight
        Added value: +{
        +  "description": "0 to 1. How closely to follow the style description. Higher sticks to it, lower lets the model roam. Use when someone asks to stay closer to, or further from, a described sound. Only applies with lyrics.",
        +  "maximum": 1,
        +  "minimum": 0,
        +  "type": "number"
        +}
      • addedInput schema / properties / weirdnessConstraint
        Added value: +{
        +  "description": "0 to 1. How experimental the result is. Higher is stranger and more unexpected, lower is safer and more conventional. Use when someone asks to make it weirder or more normal. Only applies with lyrics.",
        +  "maximum": 1,
        +  "minimum": 0,
        +  "type": "number"
        +}
  5. 1 tool update
    • Changedaetherwave_generate_music1 field changed
      • addedInput schema / properties / vocalGender
        Added value: +{
        +  "description": "Vocal gender, 'm' or 'f'. Only applies when lyrics are supplied. Default 'm'.",
        +  "enum": [
        +    "m",
        +    "f"
        +  ],
        +  "type": "string"
        +}
  6. 16 tool updates
    • First observedaetherwave_balance
    • First observedaetherwave_edit_image
    • First observedaetherwave_generate_image
    • First observedaetherwave_generate_music
    • First observedaetherwave_generate_video
    • First observedaetherwave_list_image_models
    • First observedaetherwave_list_master_presets
    • First observedaetherwave_list_my_creations
    • First observedaetherwave_list_video_models
    • First observedaetherwave_master_audio
    • First observedaetherwave_reframe_image
    • First observedaetherwave_reframe_video
    • First observedaetherwave_remove_background
    • First observedaetherwave_remove_background_video
    • First observedaetherwave_upscale_image
    • First observedaetherwave_upscale_video

Related MCP Servers

  • A
    license
    A
    quality
    C
    maintenance
    Enables brand visibility monitoring across major AI platforms like ChatGPT, Claude, Gemini, and Perplexity. It allows users to track visibility scores, analyze competitor data, and receive actionable insights to improve AI-generated brand recommendations.
    16
    22 npm
    1
    MIT
  • A
    license
    Not graded
    quality
    B
    maintenance
    Enables tracking competitor websites, changelogs, blog feeds, and pricing pages with meaningful diffs, classification, and Markdown digests via MCP tools for listing, adding, removing competitors, running checks, and retrieving digests or changes.
    MIT
  • A
    license
    Not graded
    quality
    B
    maintenance
    Browse IndustryLens's published competitive-intelligence reports and head-to-head competitor comparisons from any AI agent — real, source-backed data.
    MIT
Try in Browser

Glama MCP Gateway

Add one secure layer between your agents and this server.

Resources