Media tools
Sume media tools by API: trim, filter, captions, frames, inspect, speech-to-text, upscaling, background removal, transitions, and Timeline assembly.
Start with Video editing API limits: Sume media tool caps in one table

Why every AI background track sounds the same: a seven-axis brief
If your AI music all sounds alike, the prompt is probably generic. Sume's Lyria brief has seven axes: emotion, genre, BPM, key, instruments, arc and era.

A 15-second Reel at 128 BPM is eight bars: put tempo in the prompt
At 128 BPM in 4/4, eight bars last exactly 15 seconds. Write the BPM and a named moment into the Sume music prompt, then check the audio: BPM is a direction.

Slide-up transitions for a vertical Short: Sume Timeline types, limits
Sume Timeline has six transitions, including slideup and slidedown that suit a vertical scroll. Each is at most 1 second and half the shorter clip.

Griffin leads DOVER, FID, THEval: pull frames to judge a clip
Tavus ranks Griffin-Lite first on DOVER, FID and THEval and second on LSE-C. Judge your own avatar clip by pulling exact stills with Sume video frames.

Timeline invalid_segment_timing and segment_overlap: fix your starts
Sume timeline returns invalid_segment_timing or segment_overlap when video starts do not increase or slots overlap past the transition. Fix the start values.

Music-only short: Timeline silence, a soundtrack and no duck_db
A music-only short on Sume Timeline declares audio.mode silence and adds a soundtrack bed. duck_db needs a real voice spine, so leave it out.

Sume timeline with silent audio: audio.mode silence and its limits
Set audio.mode to silence in Sume Timeline 1.0 for a declared length with no spine file. Do not send url, parts, gain_db or source_in, and no ducking bed.

45-minute webinar into YouTube Shorts: Sume trim takes 30 minutes
Sume video trim accepts a source up to 1800 seconds and cuts up to 900. A 45-minute webinar needs a split first; YouTube Shorts run up to 3 minutes.

Reference video analysis on Sume: inspect, ingest or video-analyses?
For a reference video, use Sume video inspect for stills and probe, reference ingest for shots and OCR, and note that video-analyses returns 410 on dest.

Music bed under narration: 'no vocals' and 'no spoken word' clauses
Sume's Music docs say to end the prompt with 'Instrumental, no vocals' and add 'no spoken word' only when a narrator will talk over the track.

Slow breathing voiceover: Sume TTS speed 0.6 is the floor
For a calm, slow voiceover set generation_config.speed as low as 0.6 on Sume TTS. Below that the request is rejected, so slow the rest through writing.

Preview a vertical clip fast: video inspect seek fast, then cut exact
Sume video inspect can return stills from the keyframe at or before each time, up to about one GOP early, to skim a long clip before an exact trim.

HDR phone clip through Sume video trim: exact mode outputs yuv420p
Sume video trim in exact mode re-encodes with libx264 and yuv420p. Keyframe mode is a stream copy. Check the probe before you promise HDR to a client.

Captions language field: a speech hint, not a style or font
On Sume video captions, language only hints speech-to-text. It never picks the style or font, so Korean needs a Hangul style such as black-outline.

Sume caption design overrides: one key, one change, bad value 400s
Sume video captions design overrides merge over the style, so one key changes one thing. A bad value fails with 400 at request time, before any render.

12-minute interview: two STT jobs, detach ranges 0-600 and 600-720
Sume STT takes up to 10 minutes per job. Detach a 12-minute interview in two ranges, 0 to 600 and 600 to 720 seconds, and transcribe both for about 14 cents.

Burn in captions from your own word timings with Sume (no STT)
Send words or cues to Sume video captions and it burns your text at your times with no speech-to-text. Send only one text input per request.

Video frames fps on Sume: mid-bin sampling and the 24-frame cap
Sume video frames with fps 0.5 samples at 1 s, 3 s, 5 s and so on, capped at 24 frames per call, at source size. Use at[] for exact instants.

How many cuts in a 30-second Short? Timeline's 12 and 8 limits
More cuts do not make a Short original, but Sume Timeline has hard limits: 200 slots, chunking past 12 segments, 8 chained fades. What they mean for pacing.

Minor technical edits vs real edits on YouTube Shorts
YouTube told creators to bring a voice, not minor technical or template changes. What that means for crops, filters and speed tweaks, and what real edits add.

Put a promo code on screen in an AI product video with caption cues
Burn a Black Friday code into a silent clip with $0.20 caption cues, key the retry by SKU and code, then pull stills with video-frames to check the text.

Podcast quote clips end abruptly: STT boundary_lead_ms tail padding
Sume STT segmentation boundary_lead_ms (0 to 500 ms, default 70) sets how long a sentence's tail runs before the cut. Tune it, then cut with timeline audio.

Microsoft's Content Provenance Detection: what you can check on a file
Foundry has a detection website and API for provenance. What the page says it checks, its limits, and how to use it on an AI clip or image from any generator.

Microsoft: C2PA may not survive a crop, transcode or compression
Microsoft's provenance page lists the edits that can drop credentials and watermarks. Which of them a Sume trim, filter or caption job could be, and a check.

AI jingle from a prompt: a Lyria 3.5 use case on Sume with a trim
Google lists jingles and ringtones as Lyria 3.5 uses. On Sume, prompt a 10-second jingle for $0.125, then trim it with Timeline audio split for $0.01.

ImageMagick: turn a Sume WebP into a 1080x1350 JPEG
One magick command resizes to fill, center-crops to 1080x1350 and writes a stripped JPEG. Use it on a Sume 4:5 image whose native size is not exactly 1080x1350.

TTS mp3 bit rate: 32k to 192k file size per minute for voice audio
Sume TTS 1.0 accepts mp3 bit_rate 32000, 64000, 96000, 128000 or 192000. See the size per minute of each, plus a two-take listening test before you pick one.

Whoosh and riser transition sounds from a music prompt on Sume
Sume has no sound-effects endpoint. Prompt the music router for a riser or hit, cut it with Timeline audio split at $0.01, and lay it under a cut.

Audio detach range without end: take the rest of a track
In Sume audio detach, range.end is optional: a start-only range runs to the end of the track. How it meets the 900 s output cap and 1800 s source cap.

Burn captions: pick one of script_text, words, cues or segments
Sume video captions accepts one wording source per job: script_text, words, cues or segments. When each fits and which ones skip speech-to-text.

Crop 21:9 to 9:16: a 608 px strip, then scale to 1080x1920
Cropping 2560x1080 ultrawide to 9:16 leaves a 608 px wide strip. The Sume video filter crop fractions, the scale step to 1080x1920, and the sharpness trade-off.

Crop 2560x1080 ultrawide to 16:9: video filter width 0.75
A 21:9 clip at 2560x1080 crops to exactly 1920x1080 with one Sume video filter crop op, width 0.75 and x 0.125. The math, the request, and rounding.

Media import allows about 2 GB, but trim and filter stop at 300 MiB
Sume media import has a practical size cap near 2 GB, while video trim and filter reject sources over 300 MiB with source_too_large. How to plan around the gap.

Is this video stereo or mono? Read probe audio_channels first
Sume video inspect returns audio_channels, audio_sample_rate and audio_codec. Use them to choose channels and sample_rate for audio detach before you submit.

Timeline output size: 256 to 2160 per side, so no 3840x2160
Sume Timeline 1.0 takes even output width and height from 256 to 2160, default 1080x1920. What that means for 4K, 2560x1080 ultrawide and portrait masters.

TikTok import has_watermark: check it before reusing a clip
The Sume media import result includes has_watermark, size_bytes and content_type. What the field reports, what it does not decide, and a check before you trim.

Trim an HDR clip: why precision keyframe works and exact does not
Sume video trim refuses HDR sources on the exact re-encode but copies them on keyframe. What each mode keeps, and how to cut an HDR clip without flattening it.

Trim or filter on a PNG or audio file: the not-a-video refusal
Sume video trim and video filter refuse a still image or a file with no video stream. The reason codes, the probe fields that predict them, and the right tool.

Video captions rejects a signed URL: what to send instead
Sume video captions only fetches public HTTPS video URLs and rejects signed, private and localhost links. How to caption a clip that sits behind a signed link.

Video filter 300 s source cap: trim a long clip first, then filter
Sume video filter rejects sources over 300 seconds while trim and detach take 1800. The output_duration_exceeded error, and a trim then filter order that fits.

Video filter hdr_source_unsupported: what to do with an HDR clip
A Sume video filter job fails with hdr_source_unsupported on PQ or HLG clips. Why the filter refuses them, and three ways to get a usable result.

Video filter unsupported_pixel_format: why a non-YUV source fails
Sume video filter only accepts sources with a YUV pixel format. What unsupported_pixel_format means, how to spot it with video inspect, and how to fix it.

Video frames always returns 202: mode sync does not give a 200
Sume video frames pins async, so a submit returns 202 even with mode sync. How it differs from video inspect, which waits up to 30 s, and how to poll.

Video frames: one frame with url null and the job still succeeds
In Sume video frames, a failed instant returns url null while the job completes. How to detect partial results and retry only the missing times.

Video inspect frames: at and fps together return a 400 conflict
Sume video inspect frames takes either at[] or fps, never both. The conflict and required codes, the 24-still cap, and how to sample a clip evenly.

Video inspect hdr flag: spot PQ or HLG clips before you submit
Sume video inspect returns probe.hdr, color_transfer and pix_fmt. Read them first and route HDR clips away from the video filter and exact trim.

Video inspect 400 video_inspect_transcribe_required: the fix
Sending language_code, segmentation or duration_seconds to Sume video inspect without transcribe true returns a 400. Why, and the request that works.

Which field holds the file URL in a Sume media job result
Sume media jobs return different result keys: audio_url for detach, video_url for trim and filter, frames for stills. A field map for no-code steps.