Assets
The three rules that catch people out#
Content-Type must be correct. File extensions in URLs are ignored entirely, and generic values such as application/octet-stream are rejected. Object storage that defaults to octet-stream is a common source of 400 Bad Request.
Base64 inflates by ~33%. The data URI limit applies to the encoded string, so the 5MB image cap means a 3.3MB original file.
Output URLs expire in 24–48 hours. Download and re-host every result before showing it to users — never persist a Runway URL.
Related#
- Models — per-model input capabilities
- Task failures — what
ASSET.INVALIDmeans - Making API calls — passing assets in code
Check your assets before you launch
Most launch-day 400s are input validation misses the inputs reference already documents.