POST /v1/videos:generate, poll its operation, then download the finished clip.
Generate a video
operation.resource with type video and the asset ID. Poll GET /v1/operations/{operationId} until it succeeds or fails. API videos save to your account library without creating a chat or personal Project.
Video starts final generation directly and does not accept generationMode. There is no Preview approval step on this endpoint.
Use references
Upload an image with reference-image upload, then use the returned reference asset ID. Existing video and audio references uploaded in Mint can also guide a new clip. This endpoint accepts reference IDs, not arbitrary media URLs or file bytes.text_to_videotakes no references.image_to_videorequires exactly one image with rolestart_frame.first_last_framerequires onestart_frameimage and oneend_frameimage.reference_to_videouses only rolereference. Fast and Standard accept up to 9 images and 3 videos, 12 files total, with at most 15 seconds of reference video. Production accepts up to 30 images, 10 videos, and 10 audio files, 50 files total, with up to 30.2 seconds each of combined video and audio. Audio references require Production and at least one image or video reference.
Retrieve the video and files
CallGET /v1/videos/{videoId} for status, the durable videoUrl, poster when available, duration, aspect ratio, and file metadata. For new completed videos, width, height, and duration are read from the delivered file. aspectRatio describes the requested landscape/portrait setting; image-driven framing and provider resolution rounding can produce a different exact raster ratio. List videos with GET /v1/assets?type=video.
Use the Assets artifact routes with assetType=video. The finished clip has artifact ID video_file; its manifest provides a durable download URL, loaderHint: "video", and a suggested path under public/videos/. Downloads require ownership, successful generation, and download permission.
Estimate Credits and retry requests
UsePOST /v1/pricing:estimate with operation: "video_generation", generationPreset, videoMode, and durationSeconds. For reference-guided work, also supply referenceImageCount and referenceVideoDurationSeconds (the combined video-reference duration). Estimates are advisory; generation validates the actual references and reserves Credits before starting.
If admission returns 402 billing-required, keep the operation ID, resolve billing, and repeat the original generation request with the same Idempotency-Key. A started request replay returns the existing operation. A new request key starts new work and can spend Credits again.