Runway ephemeral uploads: 24 hours, 200 MB vs Sume HTTPS inputs
Runway ephemeral uploads give a runway:// URI valid for 24 hours and up to 200 MB. Sume takes public HTTPS URLs instead. What that changes in your pipeline.

Runway's ephemeral uploads let you push a file from your server to Runway's object storage and get back a runway:// URI that works anywhere an HTTPS URL would. The URI is valid for 24 hours, the file can be up to 200 MB, and the minimum is 512 bytes. Sume has no upload step in the pages read: you pass a public HTTPS URL.
What Runway documents
Runway lists three ways to give it media: a URL, a data URI or an ephemeral upload. Its URL size limits are 16 MB for images and 32 MB for video and audio, and data URIs are limited to 5 MB for images and 16 MB for video and audio. Ephemeral uploads raise all three to 200 MB, and the page warns that they are rate limited.
| Input path | Image | Video | Audio |
|---|---|---|---|
| URL | 16 MB | 32 MB | 32 MB |
| Data URI (encoded) | 5 MB | 16 MB | 16 MB |
| Ephemeral upload | 200 MB | 200 MB | 200 MB |
What Sume expects
Sume's video endpoints take URLs: frame_images[].image_url, input_references, video_url for edits, and the router's image_url and reference_*_urls. They must be public HTTPS locations. The pages read do not describe an upload endpoint for the video routes, and they do not state a per-file byte limit, so the practical rule is that you host the file.
Where to host the file
If your pipeline relied on a short-lived upload, you need to decide where the file lives. Three choices, with trade-offs:
- Object storage with a signed URL: simple, but make the expiry longer than the job can queue.
- A CDN path you control: fast to fetch, and easy to keep for audit.
- Never a private URL: the provider cannot fetch it and the job fails on input.
Match expiry to queue time
Runway's 24-hour expiry is a reminder that a queued job may start later than you expect. Whatever host you choose, keep the file available at least until the job is terminal, then delete it on your own schedule.
Sources
Related posts
More in Developers
- Runway polling: 5 seconds, jitter, backoff vs Sume next_poll_after
Runway recommends polling tasks every 5 seconds or more with jitter and exponential backoff. Sume returns next_poll_after_seconds. A Python poller for both.
- Runway THROTTLED task status vs Sume queued jobs
Runway tasks over your concurrency limit show THROTTLED and are enqueued roughly in submit order. Sume accepts them as queued. How to handle each in a client.
- Runway waitForTaskOutput timeout does not cancel the task
Runway's waitForTaskOutput gives up after ten minutes but the task keeps running and billing. How to cancel on timeout, and the same rule on Sume jobs.
- Feed scraped product copy to a Format run: input, not instruction
Putting a supplier's text into a Format's instruction lets it steer the run. Sume's input field is treated as data, with a 64-key and 2 MiB limit.
Written by Sume