Build with Media Splitter.
Split an audio OR video file into an ordered array of segments, each at most `maxSeconds` long (default 14), via an ffmpeg time-split.
Best for
Split an audio OR video file into an ordered array of segments, each at most `maxSeconds` long (default 14), via an ffmpeg time-split. Use the playground to set up a single step, then open a workflow when you want to connect more tools.
Inputs explained
- Audio or Video (required)
- Set the audio or video used by this model. Type: unknown.
- Output (optional)
- Set the output used by this model. Type: text. Options: segments, audio. Default: "segments".
- Ranges (seconds) (optional)
- Set the ranges (seconds) used by this model. Type: text. Default: "".
- Max Seconds per Segment (blank = 14, or 3600 in audio mode) (optional)
- Set the max seconds per segment (blank = 14, or 3600 in audio mode) used by this model. Type: number.
- Segment Count (optional)
- Set the segment count used by this model. Type: number.
Tips before you run
Start with the default settings and change one input at a time. Keep the result you like on your board so the next step can use it.
If you add a reference file, use a link the workflow can read. Check the inputs and credit estimate on the board before starting a run.
Working with this model
Three ways to drive it
- Even chunking (default). Every segment is at most Max Seconds per Segment long (14 when blank) and the cuts are plain time offsets, so the segments concatenate back continuously. A general-purpose cutter: for example, split a full TTS track into slices to fan out one talking-avatar clip per slice. Seedance 2.0 makes clips of up to 15s, which the default 14 fits; Seedance 2.5 makes them up to 30s.
- Exact ranges. Set Ranges to cut specific windows:
0-30, 30-45. - Audio extraction. Set Output to
audioto re-encode every segment as audio-only mp3.
Cutting exact ranges
Ranges takes comma-separated start-end pairs in seconds, decimals
allowed:
0-30, 30-45
12.5-18, 90-95.25
Rules worth knowing:
- Ranges override Max Seconds and Segment Count. When set, those are not sent at all.
- Ranges are used as given. They may sit out of order, overlap, or leave
gaps, because they are explicit cuts and not a tiling of the source.
30-45, 0-10returns the 30-45 clip first. - They compose with
audiooutput, giving audio-only slices of those windows. - A malformed range fails the node and quotes the bad token. Nothing is silently dropped.
- A range whose end runs past the end of the media fails the node and tells you the real duration, rather than quietly returning a short clip.
- Up to 50 ranges per node.
Blank is not zero
Max Seconds per Segment and Segment Count are deliberately declared with no default, so an untouched node shows empty boxes. Empty means UNSET, and unset is what you want almost always: the node then picks 14 when splitting and 3600 in audio mode, which is the whole reason a soundtrack comes back as one file rather than in fourteen-second pieces.
Clearing a box you previously typed in returns it to unset. It does not become zero, and it does not silently fall back to the splitting default while you are in audio mode.
This node is free
It quotes 0 credits and charges 0. utility: is a free prefix, the executor
deducts nothing, and it dispatches no paid work, so nothing bills downstream of
it either.
Reading the outputs
Segment URLs is a plain string array; wire it into a Text Iterator's array
input to fan out per-segment processing. Segments (detailed JSON) carries
{ index, url, startSeconds, durationSeconds } per segment, for inspection or
any timing-aware consumer.
Audio Track carries the FIRST segment in audio output mode, which under
the default 3600s window is the whole track. It is empty in segments mode.
A track longer than an hour is split, so Audio Track holds only the first hour
and the rest sit on Segment URLs.
Notes
- The Audio or Video input accepts a bare URL string or an object carrying
url/audioUrl/videoUrl/video/audio. - Output mode only accepts
segmentsoraudio. Anything else is refused by name rather than treated as the default, except a range-shaped string, which is read as Ranges.
Common questions
How do I use Media Splitter on Wireflow?
Set the inputs above and choose Open in a workflow. Sign in to save your board, then check its credit estimate before you run.
Can I use Media Splitter through an API?
Yes. Save a workflow with this model, then call the Wireflow run API with its workflow ID. The API tab has examples you can copy.
What changes the credit price?
The price shown uses the model defaults. Your inputs and model settings can change the total. The workflow shows an estimate before you run.
Can I connect this to another model?
Yes. Open it in a workflow and connect its output to another node with a matching input type.