Methods:
client.generate_video()
client.list_videos()
client.get_video()
client.get_video_content()
client.get_video_download_url()
client.cancel_video()
client.delete_video()
client.list_video_models()
client.get_async_job_websocket_url("video", video_id, ...)
client.videos.websocket_url(video_id, ...)
client.videos.create/list/get/content/download_url/cancel/delete/list_models()
The create call returns an async video job record. Poll get_video() for completion, then use get_video_content() or get_video_download_url() to retrieve output.
list_videos() returns the standard list envelope with object: "list" and a data array of async video jobs.
Use client.videos.websocket_url(...) when you want to subscribe to the documented /v1/async/video/{id}/ws lifecycle stream instead of polling only.
Use client.get_async_job_websocket_url("video", job["id"], ...) when you already have a generic async job kind/id pair and do not want to go through the resource helper.
cancel_video() is exposed, but the public video cancel route currently returns a structured 501 not_implemented_yet error while provider-level cancellation is standardized. Last modified on July 26, 2026