Skip to main content
Glama

Get Voice Recording Upload URL

get_audio_upload_url

For clients that can make HTTP requests (e.g. Claude Code): a one-hour presigned upload for one voice recording (mp3/wav/m4a/ogg, up to 60s). Upload it with an HTTP multipart POST (every upload.fields entry as a form field, then the file as 'file'), then pass the returned audio_key to create_video_from_audio or set_scene_audio. rights_confirmed must be true: first tell the user they must own the recording or hold the rights to it (including the speaker's consent) and that Fabeo isn't responsible for infringement, and get their OK. Chat apps: use get_audio_upload_page or upload_audio.

Input Schema

NameRequiredDescriptionDefault
file_typeNoThe recording's file type.mp3
rights_confirmedNoSet true only after showing the user the rights notice in this tool's description and getting their OK; the call is refused otherwise.

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observed

TDQS

A4.8/5.0
Behavior5/5

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

Annotations only declare the non-read-only, non-destructive, non-idempotent profile; the description adds genuine behavioral context: one-hour expiry, 60-second length cap, accepted formats, and the exact multipart POST mechanics (upload.fields entries as form fields, file as 'file'). It also discloses the refusal behavior when rights_confirmed is false, which the 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?

Very information-dense with almost no wasted wording: capability and client constraint first, then upload mechanics, then downstream use, then the consent gate. It is a single packed block rather than clearly separated steps, so the rights-confirmation requirement is somewhat buried mid-paragraph.

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 URL-issuing tool with no output schema, the description covers everything an agent needs: expiry, size/format limits, the exact upload protocol, the returned audio_key and where to pass it, and the consent gate. Nothing needed to call it correctly 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 baseline is 3, but the description supplies the actual rights notice text the caller must present and the consequence of skipping it, which is the substantive semantics behind rights_confirmed. It also enumerates the accepted formats matching the file_type enum, though it does not clarify the default (mp3) or optionality.

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 — a one-hour presigned upload URL for exactly one voice recording — and immediately scopes it to clients that can make HTTP requests. It explicitly names the siblings it is not (get_audio_upload_page, upload_audio) and the downstream tools that consume its output (create_video_from_audio, set_scene_audio), so an agent can route without opening a 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?

Gives a clear selection rule: use this only for clients that can make HTTP requests, otherwise use get_audio_upload_page or upload_audio for chat apps. It also states the required precondition (rights_confirmed=true only after notifying the user and receiving their OK) and the follow-on step (pass audio_key to create_video_from_audio or set_scene_audio).

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