Thank you for reaching out and sharing this feedback! We completely understand why the current status might be confusing.
To clarify what is happening behind the scenes:
"status": "created" actually means the file is already ready. We recognize that “created” implies it is still waiting to be processed. We are looking into updating this status to "ready" in the future to make it much more intuitive!
Uploads are synchronous by default. Because the process is non-async, as soon as your POST request returns a 200 OK status, the file is fully processed and ready to be used by the model. There is no need to poll or wait.
Regarding large video files and future improvements:
For very large video files, the upload and preprocessing steps do indeed take some time to complete. Personally, I also feel that blocking on a synchronous POST request isn’t the safest or most developer-friendly approach—especially for substantial uploads or in environments with strict timeout constraints.
Rest assured, we are actively experimenting with asynchronous upload flows internally, weighing various tradeoffs between reliability, latency, and developer experience. We hope to offer a more flexible async option in the future that better handles these edge cases.
Please stay tuned for updates, and feel free to reach out if you encounter any other issues in the meantime.