Skip to main content
Glama

Order editing

barevalue_submit_url

Edits a podcast episode or interview recording with AI and returns the finished audio. The edit removes background noise, hum and hiss, trims filler words such as um and uh, cuts long pauses and dead air, evens out the levels of the speakers and masters the loudness to -16 LUFS. Cuts or other changes can be asked for in special_instructions. Every order includes a transcript with speaker labels, and an episode of 10 minutes or more also gets show notes and short highlight clips for social media. It takes a recording in MP3, WAV, M4A, FLAC, AAC, OGG, WMA or AIFF, in any of 58 languages, and delivers MP3 at up to 320 kbps, with a WAV as well when the original is lossless. Audio only, one file with one audio track, up to 60 minutes. It edits the recording itself and creates no audio with AI: no translation or dubbing, no synthetic voices, no generated music or sound effects, no video. Free within the monthly allowance of the account. Returns an order_id. The order's progress and result are reported by barevalue_status. A file with no link is ordered with the upload_id that barevalue_upload returns, in place of file_url.

Input Schema

NameRequiredDescriptionDefault
api_keyNoBarevalue API key (bv_sk_...), as returned by barevalue_register. Not needed when the connection already sends an Authorization: Bearer header.
file_urlNoDirect, publicly downloadable URL of the raw recording (not a web page that plays it). Either this or upload_id, not both.
upload_idNoThe upload_id from barevalue_upload, once the file has been uploaded. Either this or file_url, not both.
host_namesNoOptional host names (max 5), used to label the speakers in the transcript and show notes
guest_namesNoOptional guest names (max 10)
episode_nameYesName of this episode
podcast_nameYesName of the podcast
episode_numberNoOptional episode number, digits only (e.g. "42"). Anything else is ignored.
idempotency_keyNoOptional UUID. A retry that carries the same value does not create a second order. Generated when omitted.
duration_minutesNoOptional audio length in minutes if known. The real length is measured after download.
special_instructionsNoOptional instructions for the AI editor in plain language, e.g. "Remove the sponsor read", "Keep the blooper at the end", "Cut from 12:30 to 14:05"

Schema Changelog

Changes observed during successful MCP inspections.

  1. Changed3 schema fields changed
    • changedInput schema / properties / file_url / description
      Previous value: -"Direct, publicly downloadable URL of the audio file (not a landing page). Either this or upload_id, not both."New value: +"Direct, publicly downloadable URL of the raw recording (not a web page that plays it). Either this or upload_id, not both."
    • changedInput schema / properties / host_names / description
      Previous value: -"Optional host names (max 5), used to label speakers"New value: +"Optional host names (max 5), used to label the speakers in the transcript and show notes"
    • changedInput schema / properties / special_instructions / description
      Previous value: -"Optional instructions for the editor, e.g. \"Remove the sponsor read\", \"Keep the blooper at the end\""New value: +"Optional instructions for the AI editor in plain language, e.g. \"Remove the sponsor read\", \"Keep the blooper at the end\", \"Cut from 12:30 to 14:05\""
  2. Changed4 schema fields changed
    • changedInput schema / properties / api_key / description
      Previous value: -"Barevalue API key (bv_sk_...). Get one with barevalue_register. Omit when the connection already sends an Authorization: Bearer header."New value: +"Barevalue API key (bv_sk_...), as returned by barevalue_register. Not needed when the connection already sends an Authorization: Bearer header."
    • changedInput schema / properties / file_url / description
      Previous value: -"Direct, publicly downloadable URL of the audio file (not a landing page). Give this or upload_id, not both."New value: +"Direct, publicly downloadable URL of the audio file (not a landing page). Either this or upload_id, not both."
    • changedInput schema / properties / idempotency_key / description
      Previous value: -"Optional UUID. Send the same value when retrying so the order is not created twice. Generated when omitted."New value: +"Optional UUID. A retry that carries the same value does not create a second order. Generated when omitted."
    • changedInput schema / properties / upload_id / description
      Previous value: -"The upload_id from barevalue_upload, once the file has been uploaded. Give this or file_url, not both."New value: +"The upload_id from barevalue_upload, once the file has been uploaded. Either this or file_url, not both."
  3. Changed3 schema fields changed
    • changedInput schema / properties / file_url / description
      Previous value: -"Direct, publicly downloadable URL of the audio file (not a landing page)"New value: +"Direct, publicly downloadable URL of the audio file (not a landing page). Give this or upload_id, not both."
    • addedInput schema / properties / upload_id
      Added value: +{
      +  "description": "The upload_id from barevalue_upload, once the file has been uploaded. Give this or file_url, not both.",
      +  "type": "string"
      +}
    • changedInput schema / required
      Previous value: -[
      -  "file_url",
      -  "podcast_name",
      -  "episode_name"
      -]New value: +[
      +  "podcast_name",
      +  "episode_name"
      +]
  4. Changed1 schema field changed
    • changedInput schema / properties / episode_number / description
      Previous value: -"Optional episode number (e.g. \"42\", \"S2E5\")"New value: +"Optional episode number, digits only (e.g. \"42\"). Anything else is ignored."
  5. First observed

TDQS

A4.8/5.0
Behavior5/5

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

Annotations only carry a generic non-read-only/open-world profile; the description fills the rest: exact processing pipeline, transcript and show-notes/highlight deliverables, supported input/output formats, language coverage, duration cap, billing behavior, and that it returns an order_id. It even explicitly clarifies that no AI-generated audio is produced, preventing a false expectation.

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-loaded with the core action and its effects, then constraints and return value; nearly every clause carries operational information. It is a single dense block rather than structured, which makes it slightly harder to scan for a multi-turn agent.

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 still tells the agent what comes back (an order_id) and where to follow up (barevalue_status), plus all input constraints needed for correct invocation. Nothing essential is missing for a one-shot async job submission.

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 11 parameters (baseline 3). The description adds workflow meaning beyond the schema: it explains the file_url vs upload_id choice in terms of the barevalue_upload handoff, and gives concrete examples of special_instructions semantics.

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 concrete verb and resource ('Edits a podcast episode or interview recording with AI and returns the finished audio') and enumerates the specific operations performed (denoise, filler-word trim, pause cuts, leveling, -16 LUFS master). This is clearly distinguishable from sibling tools like barevalue_estimate, barevalue_status and barevalue_upload.

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 to alternatives: progress/result come from barevalue_status, and linkless files must use the upload_id from barevalue_upload. It also states the boundaries of use (audio only, one track, up to 60 minutes, no translation/dubbing/voices/music/video, free within the monthly allowance).

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.