Mirage Tesseract needs local files; Sume needs public HTTPS URLs
Mirage Tesseract runs on local files in an agent environment. Sume avatar and lip-sync inputs must be public HTTPS URLs. How to hand clips between the two.

Mirage Tesseract works on local files, while Sume avatar inputs have to be public HTTPS URLs, so moving footage between them takes one hosting step. The Mirage announcement says the engine needs an agent environment that can access local files and run local tools. Sume's media input rules reject localhost, private-network, signed or private URLs and mismatched content types before a job is submitted.
Direction one: local to Sume
If Tesseract produced a product image or a clip you want Sume to use, it must be reachable at a public HTTPS address with a correct content type. A file path on your disk will not work, and neither will a time-limited signed URL.
Check the content type matches the file. A .png served as text/html is rejected.
Direction two: Sume to local
Sume outputs are mirrored to media.sume.com URLs. Download the result file to the folder your local engine reads, then continue editing there. Fetch the URL from the job result at /v1/jobs/:id/result.
| Fact | Value |
|---|---|
| Tesseract input | Local files in the agent environment |
| Sume input | Public HTTPS URL, correct content type |
| Rejected by Sume | Localhost, private network, signed or private URLs |
| Sume output | media.sume.com URL |
A simple loop
Keep the script in text, render the presenter in Sume, download the MP4, then do compositing locally. Re-render only the avatar clip when the words change, and leave the local project untouched.
If your agent lives somewhere with no disk, skip the local step and use the hosted result URL directly.
Sources
Related posts
More in Developers
- Music API has no duration field: steer length in the prompt
Sume's music router rejects duration and duration_seconds. Ask for a 30-second or 2-minute track in the prompt, with section timestamps, and verify.
- Music API metadata field: tag a track job with your own ids
Sume's music request has an optional metadata field, stored on the job and not sent to the provider. Use it to match tracks to your own records.
- Mux direct upload chunks: multiples of 256 KB, UpChunk at ~5 MB
Mux direct uploads need chunks in multiples of 256 KB; UpChunk sends about 5 MB. A chunk-size helper and the upload states to wait on before using an asset.
- Mux Robots webhook events vs Sume job events: a verifier
Mux sends robots.job.{workflow}.{status} on every change. Sume sends only job.completed, job.failed and job.canceled, signed. Verify them in Python.
Written by Sume