Skip to content

Video and audio

A video that reaches its audience has usually been through more than one tool: cut to length, reframed for a phone, captioned in two languages, given a voice-over over a music bed at the loudness the platform expects. In Madoo each of those is a node, and a workflow chains them so that the same result comes out every time — for one clip, or for the forty clips of a campaign. This section explains how the media nodes work and how they combine, from a soundtrack on a single clip to a video dubbed in another language.

Three ideas run through every page.

Media are files, and most of the work is local. A video or an audio track travels between nodes as a stored file, never pasted into a prompt. Cutting, joining, reframing, mixing, normalizing loudness, burning captions and setting type run on Madoo’s own workers with FFmpeg: they are deterministic and consume no credits. Credits are spent only where a model works — generating a clip, a voice or music, transcribing speech, translating captions, analysing a video — and those nodes say how they are priced: per second of media, per thousand characters, per call.

Size and length are part of the contract. Every media node works file to file — the worker reads the source from disk and writes the result to disk, so memory does not grow with the media — and accepts inputs up to 2 GiB; the longest video qualified end to end is a 68-minute 1080p call. Size is not the only limit, time is too: a node that re-encodes a long video takes minutes, so a long recording is cut into segments that are processed side by side. Reverse Video is the one node that must hold the whole clip while it works — playing backwards starts from the last frame — and is meant for clips of seconds. Files reach Madoo through the public API up to 250 MB each, in MP4, WebM or MOV for video and MP3, WAV, OGG, FLAC, AAC or M4A for audio.

Every step measures what it made. A media step does not assume that a file is what its name says: it probes duration, streams, resolution and loudness, and the nodes that transform audio report the result against the target they were given. Those reports can hold a delivery back through a quality gate — a voice-over that is not at −14 LUFS, a clip that is not 9:16 — and decisions work on media exactly as on data: a branch that is not needed is skipped and costs nothing.

Your task Read
Bring files in and out; measure a clip and hold it back when it does not meet a delivery’s rules Media files and preflight
Cut, join, reframe for 9:16, overlay a logo, take a frame or a GIF, put music or a voice on a clip Editing video
Clean and level a voice, put music under it, deliver at a platform’s loudness, measured Audio finishing
Transcribe speech; caption a clip in phrases or word by word, in the look you choose; write an SRT or WebVTT file Transcription and captions
Put titles, lower thirds, prices, quotes and calls to action on a video in your own fonts, timed layer by layer Typography on video
Work on a recording of many minutes or an hour: what to cut, one pass or segments, joining on the master’s timeline Long media
Cut a long video to its best moments: AI proposals, a deterministic plan, cuts on whole sentences, captions carried over Highlights
Find where the scenes of a video start and end, take a frame of each, and read the video with a model that sees images: a storyboard, a cover, the pacing of an edit Finding the scenes of a video
Make a clip from a prompt or an image, music, sound effects or the sound of a clip: models, prices, settings, fitting and measuring the result Generative video and sound
Keep a character and a product the same across shots, continue a clip without a seam, turn a product photo into a fashion clip Subjects, continuations and fashion clips
Subtitle a video in other languages on the original timing: selectable tracks, burned-in subtitles, caption files Translating captions
Dub a video into another language with natural speech, one voice per speaker, the background kept Dubbing with natural speech
Build or change a dubbing workflow node by node: the rounds, the voices, the background, the wiring rules Building a dub from its blocks
Check a dub, know what it costs and takes, and what it cannot do Dubbing: quality, costs and limits
See it all at work on a real job, and install it Examples
Find out why a media workflow was refused, failed, completed partially or delivered something wrong Troubleshooting

More complete examples are being added to this section.

Family Nodes Credits
Inputs and outputs input/video, input/audio, output/video, output/audio none
Inspecting media/technical_info (duration, streams, resolution, a media policy check) none
Editing video video/trim, video/split, video/merge, video/loop, video/reverse, video/speed, video/speed_ramp, video/resize, video/overlay, video/extract_frame, video/to_gif none
Soundtrack video/add_audio, video/extract_audio, video/remove_audio none
Editing audio audio/trim, audio/split, audio/merge, audio/mix, audio/volume, audio/speed, audio/fade, audio/convert none
Finishing audio audio/speech_enhance, audio/loudness_normalize, audio/duck, audio/fit_duration, audio/loop, audio/quality_report none
Captions and text on video video/subtitles, video/caption_tracks, video/text_overlay, aggregate/transcript, aggregate/caption_track, enumerate/caption_blocks, utility/caption_timeline_project none
Long media enumerate/video_segments, enumerate/audio_segments, aggregate/video_merge, aggregate/audio_merge none
Dubbing utility/speech_timing_plan, audio/speech_timing_check, utility/speech_timing_reconcile, aggregate/audio_timeline, enumerate/speakers, utility/speaker_voices, utility/dubbing_manifest none
Highlights aggregate/video_highlight_plan, video/edit_timeline none
Scenes video/extract_scenes (where the scenes start and end, a frame of each, a contact sheet) none
AI on speech and text ai/speech_to_text, ai/caption_translation, ai/text_to_speech, ai/voice_conversion, ai/audio_isolation, ai/stem_separation per second or per 1,000 characters
AI on video ai/video_analysis, ai/video_highlight_analysis, ai/lip_sync per call or per second
Generating ai/text_to_video, ai/image_to_video, ai/fashion_video, ai/reference_to_video, ai/keyframes_to_video, ai/video_extend, ai/video_transform, ai/video_recast, ai/video_upscale, ai/text_to_music, ai/text_to_sound_effects, ai/video_to_audio, ai/audio_to_video per second or per clip

Every node’s exact ports and parameters are in the catalog: GET /api/v1/node-types/{type}, or get_node_type over MCP.