Compose refuses clip URLs it cannot reach at submit
A compose clip on localhost or a private network is refused at submit with the clip's path, instead of a render that fails without a reason.
A compose timeline whose clip pointed at your own machine, like http://localhost:3000/video.mp4, was accepted, sent to the render, and failed a few seconds later as “The compose render did not finish.” Nothing said which clip was wrong or why.
That document is now refused at submit with a 400, before a job is created or anything is billed. The error names the address and the fix, and details[0].path points at the clip:
{ "error": { "code": "VALIDATION_ERROR", "message": "Invalid job parameters: localhost is a private address that Rendobar cannot reach. Upload the file, or use a public URL.", "details": [{ "path": ["timeline", "tracks", 0, "clips", 1, "asset", "src"] }] }}- Where it applies. Every URL a render downloads: clip, subtitles and animation sources, a wipe’s
map, effect files like a LUT, and the assets you hand to AI assist. - Validate sees it too.
POST /compose/validateand the MCPvalidate_composetool report the same problem at the same path, so you can catch it before you submit. - Share pages count. A Dropbox preview link or a OneDrive share link is refused the same way, with the direct-link fix.
- What still works. Public URLs, and files you uploaded, in any form:
asset://<id>,storage://<id>/<path>, or the asset’s content URL.
A job that only learns its source is unreachable once the render starts now fails right away with INPUT_URL_BLOCKED and the reason, instead of the generic message. It follows the same idea as clearer timeout errors: a failure names the thing to change.
To use a file from your machine, upload it first and pass its asset:// URL. Uploads and clip sources are covered in the compose docs.
