| name | clean-recording |
| description | Clean up a raw recording in Descript — remove filler words, cut silences, add captions — and export the result to out/. Use when the user has a recording in raw/ to polish. |
| disable-model-invocation | true |
Clean a recording with Descript
Input: $ARGUMENTS = path to a recording (e.g. raw/episode1.mp4). If empty, ask which
file in raw/ to use.
Heads up to the user before importing: the Descript MCP uploads the file to Descript's
servers (it leaves the machine). Mechanical-only edits (trim/concat) can be done locally
with ffmpeg instead — offer that if they don't want an upload.
Steps
- Confirm the file exists at the given path.
- Import into Descript via the Descript MCP (
import_media):
- Local file → use direct upload (content_type + file_size → PUT to the returned upload_url).
- If the user gave a URL / Drive / Dropbox link, pass it as
url.
- Include
add_compositions so it lands on the timeline.
- Use
wait_for_job to wait for import to finish; capture the project + composition id
via get_project.
- Run cleanup with
prompt_project_agent on that composition. Default cleanup:
- remove filler words ("um", "uh", "like", "you know")
- shorten/remove long silences and dead air
- remove obvious false starts
- add captions
Ask the user if they want anything different before running.
- Background: the user films themselves and wants their real background replaced
with an on-brand one. Offer to remove the background and drop in the branded
Background (render Background-Light / Background-Dark via /render first, then
use it as the background image in Descript's background-removal feature).
- Wait for the agent job (
wait_for_job), then export the cleaned result
(export_transcript for text, or trigger a video export) and save the video to
out/<original-name>-clean.mp4.
- Report what changed (filler words removed, time trimmed) and the output path.
Next step
Offer to add on-brand animations (/add-animation) or render an intro (/render).