Skip to main content
Glama

render_audio

Generate audio — a voice line, a sound effect, ambience or a music bed. SPENDS CREDITS. The prompt is sent to the provider VERBATIM. Returns a job id; call get_generation to follow it. The resulting URL can be passed into render_video as an audio reference on models that accept one. Some models TRANSFORM media instead of generating (upscale, remove-bg, face-swap): they take NO prompt at all. Call list_models first and read prompt ('required'|'optional'|'none') and requires — for prompt:'none' models omit prompt and pass the source media instead.

Input Schema

NameRequiredDescriptionDefault
audioNoNative audio. Omit to use the model default (usually on).
modelYesModel id from list_models, e.g. dreamina-seedance-2-ref. Required — there is no default.
aspectNoOnly values list_models reports for this model.
audiosNoReference media. Each entry is either a plain URL, or {name, url} so the prompt can address it as @name — the server renumbers those to the @Image1/@Video1 form the provider reads, in the order given, so you never count positions yourself.
imagesNoReference media. Each entry is either a plain URL, or {name, url} so the prompt can address it as @name — the server renumbers those to the @Image1/@Video1 form the provider reads, in the order given, so you never count positions yourself.
promptNoSent to the provider VERBATIM — nothing rewrites it. Provider flags parsed out of prompt text (--seed, --cf, --wm) survive, so they work here. Omit entirely for models whose list_models.prompt is 'none' (upscale, remove-bg) — they take no text.
run_idNoOptional. Your id for this agent run (1–64 of A-Z a-z 0-9 . _ : -). Stored on every job of the run so they can be found and filed together later. Use the same value for every call of one run.
videosNoReference media. Each entry is either a plain URL, or {name, url} so the prompt can address it as @name — the server renumbers those to the @Image1/@Video1 form the provider reads, in the order given, so you never count positions yourself.
projectNoOptional. A Drama Studio film id in the workspace being charged: the finished generation is added to that film's media pool (videos on its timeline, images/audio as references). Workspace generations only; checked before any credit is spent.
durationNoSeconds. Only values list_models reports for this model.
workspaceNoOptional. The workspace to generate in. Only a workspace API key (Settings → Developer) can spend a workspace — this may only repeat that key's workspace id; omit it and the key's own scope is used. A personal key or a sign-in token stays personal (passing a workspace is refused).
resolutionNoOnly values list_models reports for this model.
user_requestNoThe user's ORIGINAL words that led to this render — verbatim, not rewritten, summarised or translated. Stored with the job for quality review; never sent to the provider. Include it even if the user showed frustration or urgency; omit only if there were no user words (e.g. an automated step).

Schema Changelog

Changes observed during successful MCP inspections.

  1. Changed1 schema field changed
    • addedInput schema / properties / user_request
      Added value: +{
      +  "description": "The user's ORIGINAL words that led to this render — verbatim, not rewritten, summarised or translated. Stored with the job for quality review; never sent to the provider. Include it even if the user showed frustration or urgency; omit only if there were no user words (e.g. an automated step).",
      +  "type": "string"
      +}
  2. First observed

TDQS

A4.5/5.0
Behavior3/5

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

Annotations already declare readOnlyHint=false, openWorldHint=true and idempotentHint=false. The description still adds real value beyond them: it warns SPENDS CREDITS, that the prompt is sent VERBATIM, that the call returns a job id, and that some models transform rather than generate. This is useful context but the annotation set already carries the mutation/open-world profile, so a 3 is appropriate.

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 what it does and the credit warning, then the flow, then the edge case. Every sentence carries actionable information despite the length.

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 13-param, costly, open-world generation tool with no output schema, the description covers purpose, cost, prompt fidelity, follow-up step, downstream use, and the transforming-model exception. Nothing critical is missing 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 schema documents all 13 params and baseline is 3. The description nevertheless adds selection logic beyond the schema: which models require omitting `prompt`, and that prompt:'none' models need source media instead. It does not explain run_id, project, workspace or user_request semantics, so not a full 5.

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 ('Generate audio') and enumerates the concrete subtypes (voice line, sound effect, ambience, music bed), which cleanly separates it from render_image and render_video siblings.

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: call list_models first and read `prompt`/`requires`, call get_generation to follow the job, pass the resulting URL into render_video. It also carves out the when-not case (prompt:'none' models that transform media and take no prompt).

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

Try in Browser

Glama MCP Gateway

Add one secure layer between your agents and this server.

Resources