Skip to main content
Glama

Doseedo: Film Scoring, AI Instruments, Sound Effects & Stems

Get an audio upload URL

doseedo_get_upload_url
Idempotent

Get a presigned upload for your own audio file — or a SCORE (.mid / .midi / .musicxml / .xml / .mxl / .mscz / .mscx → a score_key for doseedo_render_score: send a big score as a file, not as notes in the call). Returns an upload_url (PUT the raw file bytes there, e.g. curl -X PUT -H "Content-Type: <content_type>" --data-binary @song.wav "<upload_url>") and an audio_key to pass to doseedo_separate_stems / doseedo_transcribe / doseedo_cover_song / doseedo_audio_to_session, or to doseedo_add_audio_to_session. A FILM (mp4, mov, m4v, webm, mkv; ≤ 2 GB) uploads the same way: pass the key as video_key to doseedo_spot_video / doseedo_score_to_picture. Formats: WAV, AIFF, FLAC, MP3, M4A/AAC, Ogg/Opus, WebM — all accepted for processing on every plan. Storing audio IN A SESSION (doseedo_add_audio_to_session) keeps WAV/AIFF/FLAC lossless only on Pro+; below Pro+ lossless is not kept there, so send Opus (audio/ogg). Samples/regions for a session that are on this machine need NO upload: use load_quick_sampler_sample sample_path / attach_audio local_path / set_track_clips audio_ref.local_path and run place_local_files after the download. A FILE ALREADY ONLINE (a film an editor exported — Canva, Adobe Express — or any public https URL): pass source_url and doseedo copies it in itself — nothing to PUT; the key comes back ready (≤ 256 MB).

Input Schema

NameRequiredDescriptionDefault
filenameYesFile name including extension, e.g. "song.wav", "film.mp4", or "cue.mid" / "cue.musicxml" / "cue.mscz" for a score. With source_url: the name for the copy when the URL names none (its extension decides the type).
source_urlNoA public https URL of an audio file or a film to copy in instead of uploading it (e.g. an editor's export link). Returns the key directly — no upload_url, nothing to PUT. ≤ 256 MB.
content_typeNoMIME type; inferred from the extension when omitted (wav, aif/aiff, flac, mp3, m4a/aac, ogg/opus, webm; a film: mp4, mov, m4v, mkv). Required for any other extension.

Schema Changelog

Changes observed during successful MCP inspections.

  1. Changed2 schema fields changed
    • changedInput schema / properties / filename / description
      Previous value: -"File name including extension, e.g. \"song.wav\", \"film.mp4\", or \"cue.mid\" / \"cue.musicxml\" / \"cue.mscz\" for a score."New value: +"File name including extension, e.g. \"song.wav\", \"film.mp4\", or \"cue.mid\" / \"cue.musicxml\" / \"cue.mscz\" for a score. With source_url: the name for the copy when the URL names none (its extension decides the type)."
    • addedInput schema / properties / source_url
      Added value: +{
      +  "description": "A public https URL of an audio file or a film to copy in instead of uploading it (e.g. an editor's export link). Returns the key directly — no upload_url, nothing to PUT. ≤ 256 MB.",
      +  "type": "string"
      +}
  2. First observed

TDQS

A4.6/5.0
Behavior5/5

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

Annotations only say it is a non-read-only, idempotent, open-world call; the description adds the actual mechanics: you must PUT raw bytes to upload_url with a matching Content-Type, a key comes back for four or more downstream tools, and source_url mode returns a key with nothing to PUT. It also discloses plan-dependent behavior (lossless session storage only on Pro+) and hard limits (film ≤ 2 GB, URL copy ≤ 256 MB) that no structured field carries.

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?

Information is front-loaded with the return values stated before the routing detail, and the AUDIO / SCORE / FILM / ONLINE-URL markers make scanning possible. It is still a very dense block with a long nested-parenthesis opening sentence and a format list repeated verbatim from the content_type schema, so it is not maximally tight.

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 three-parameter tool with no output schema, the description supplies everything an agent needs: what is returned (upload_url + audio_key/video_key/score_key), which sibling consumes each key, size and format limits, plan caveats, and the local-file escape hatch. No meaningful gap remains for correct invocation.

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% and all three parameters are documented there, including extension inference for content_type and the source_url copy semantics. The description reinforces the mode split (source_url vs PUT) and lists accepted formats, but that mostly duplicates the schema's own content_type description rather than adding new syntax or constraints.

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?

Opens with a specific verb+resource ('Get a presigned upload') and immediately enumerates the three distinct input modes it serves: own audio file, SCORE (→ score_key for doseedo_render_score), FILM (→ video_key for doseedo_spot_video / doseedo_score_to_picture). It names the downstream siblings each returned key feeds, so an agent can separate this from a plain upload or render tool.

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 explicit routing rules: use this when the file is local or a public https URL, but do NOT upload for session samples/regions on this machine (use load_quick_sampler_sample sample_path / attach_audio local_path and place_local_files). It also names the alternative path (source_url) and its precondition (public https, ≤ 256 MB), and warns to send big scores as files rather than notes in the call.

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