Airtable's 5 MB direct upload vs attaching a Sume clip by URL
Airtable takes file bytes up to 5 MB for a direct attachment upload and points larger files at public URLs. A Sume clip at a media.sume.com URL fits that route.

Airtable's upload attachment endpoint takes file bytes up to 5 MB for an attachment cell. For anything larger with a public URL, its page says to use the multiple attachment field model instead. A finished Sume clip lives at a media.sume.com URL, so attaching by URL avoids the 5 MB route entirely.
The limit is from Airtable's upload attachment reference, read 2026-10-03. The Sume step uses video trim.
The two ways to attach
The page describes two routes. Which one you take depends on the file size and on whether the file already has a public address.
| Route | Limit | Use when |
|---|---|---|
| File bytes sent directly | Up to 5 MB | Small file you hold locally |
| Public URL in the attachment field | Larger files allowed by the page | File is already hosted at a public address |
Why the URL route suits Sume output
Sume mirrors generated outputs into Sume-owned media URLs and its docs tell integrations to store the Sume URL. A trim job's result includes video_url, a new artifact on media.sume.com. Putting that URL into the attachment field means no download and no re-upload through your script.
Whether Airtable can fetch the URL is something to test in your base, since the page says only that larger files need a public URL.
The trim step
Import the source with POST /v1/media-imports, then trim. A job costs $0.02.
Pick start and duration, optionally set output to a smaller width and height (256 to 2160) and audio to drop. Keep precision as exact if you use output. Poll GET /v1/jobs/:id/status until the job is ready and read video_url from the result.
- Result fields include
duration_secondsandactual_start_seconds. - The source clip is never changed.
- Reuse the Idempotency-Key on a retry so you do not pay twice.
If you still need a small file
If a downstream step needs the clip under 5 MB, shorten and downscale it and read the byte size of the result before you send it. Sume's docs give no size target, so the byte count is something you check, not request. The same logic applies to email, covered in the Klaviyo post.
Keeping records and files in step
Store the job id or request id next to the attachment so each record can be traced to the job that made its clip. Do not rely on the file name, because the artifact id is what identifies the result.
If you re-run a trim with a new range, attach the new video_url and keep the old one until you have checked the new clip. The old artifact is not changed by the second job.
Why not upload the bytes?
You can still download the Sume clip and send its bytes to Airtable if the file is under 5 MB. That costs a download and an upload for every record, and it fails as soon as a clip grows past the limit. The URL route has no such step in your code, which is why it scales better for a base with many rows.
Sume's trim docs say you can drop the result into a timeline later, so keeping the artifact URL in the record also lets you reuse the clip without regenerating it.
Sources
Related posts
More in Media tools
- SES message size: 10 MB on v1, 40 MB on v2 - what a video clip needs
Amazon SES caps a message at 10 MB on v1 and 40 MB on v2 or SMTP, after base64. Size a Sume video trim to fit and avoid the throttled large-message path.
- Apple Podcasts transcript speaker names: VTT, and Sume STT gaps
Apple shows speaker names when you provide a VTT. Sume STT has no speaker labels, so transcribe each track and merge with voice tags. Script included.
- audio_detach_range_empty and detach_start_past_source: what they mean
audio_detach_range_empty: range.end is not after start, or span over 900 s. detach_start_past_source: start is past the source length.
- Audio-only cut of a 5 minute episode: mp3 for $0.01
Turn a finished 5 minute video into a 128 kbps mp3 for $0.01 with audio-detach. Source up to 1800 s, output up to 900 s, and the silent-source error.
Written by Sume