ComfyUI Node
OpenAI Video (FlexAI)
Video generation through an OpenAI-compatible /v1/videos gateway. Sends ratio + resolution + duration; per-family rules are applied automatically: Seedance 2.0 / 2.0 fast / 2.0 mini / 2.5 (upper-case tiers, SUPER_* upscaling, duration clamping, 2.5 auto ratio=adaptive), MiniMax H3 (768P/2K, 4-15s, no mixed first-last-frame run) and Veo 3.1 (16:9/9:16, 720p/1080p/4k, 4/6/8s). Up to 4 reference images as first_frame / last_frame / reference_image, plus reference video (videoExtend on 2.5) and reference audio. Other models keep the permissive legacy parameter set. Polls the async job and returns a native VIDEO output.
OpenAI Video (FlexAI)
- image
- image_2
- image_3
- image_4
- VIDEO
◄providerdefault►
◄modelsora-2►
◄custom_model►
◄promptA cinematic drone shot over a misty mountain range.►
◄reference_modeauto►
◄ratio16:9►
◄resolution720p►
◄custom_size►
◄duration8►
◄generate_audiotrue►
◄watermarkfalse►
◄output_formatauto►
◄reference_video►
◄reference_audio►
◄poll_interval5►
◄timeout900►
◄debugfalse►
Categoryflexai
Inputs (21)
| Name | Type | Default | Description |
|---|---|---|---|
| provider | COMBO | default | API provider (configured in .env). |
| model | COMBO | sora-2 | Video model. Seedance 2.0 / 2.0 fast / 2.0 mini / 2.5, MiniMax H3 and Veo 3.1 get their per-family resolution, duration and ratio rules enforced; any other OpenAI-style channel falls back to permissive settings. |
| custom_modelopt | STRING | Override the model and save it to the dropdown. | |
| promptopt | STRING | A cinematic drone shot over a misty mountain range. | — |
| imageopt | IMAGE | — | |
| image_2opt | IMAGE | — | |
| image_3opt | IMAGE | — | |
| image_4opt | IMAGE | — | |
| reference_modeopt | COMBO | auto | How the connected images are used. auto: 1 image -> first frame (imageToVideo), 2+ images -> multi-subject reference (referToVideo, role reference_image). first_frame: only slot 1 as first frame. first_last_frame: slot 1 = first frame, slot 2 = last frame. reference: every image is a reference subject. MiniMax H3 cannot mix a first/last-frame run with reference video/audio or with more than 2 images. |
| ratioopt | COMBO | 16:9 | Aspect ratio sent as `ratio` — the model picks the actual pixels. `adaptive` lets it derive the shape from the reference media. Families restrict this: Veo 3.1 accepts 16:9 / 9:16 only. |
| resolutionopt | COMBO | 720p | Resolution tier sent as `resolution`, upper case for Seedance (720P, SUPER_4K...). Seedance 2.0: 480p/720p/1080p/4k + super_*; 2.0 fast/mini: 480p/720p + super_*; 2.5: 480p/720p/1080p; MiniMax H3: 768p/2k; Veo 3.1: 720p/1080p/4k (lower case). Unsupported values are rejected with the allowed list. |
| custom_sizeopt | STRING | Legacy override, e.g. '1792x1024'. Only needed for channels that require a pixel `size` (Sora-style). When set, ratio/resolution are derived from it. | |
| durationopt | INT | 81–60 | Clip length in seconds, sent as integer `duration` (Seedance) and string `seconds` (Sora-style). Seedance 2.0: 4-15s, 2.5: 4-30s; MiniMax H3: 4-15s; Veo 3.1: snaps to 4/6/8s; sora-2: 4/8/12. |
| generate_audioopt | BOOLEAN | true | Seedance only: sent as `generate_audio` (native audio track). Ignored for MiniMax H3 / Veo 3.1, which decide audio themselves. |
| watermarkopt | BOOLEAN | false | Seedance only: sent as `watermark` (model-side watermark). Not forwarded for other families. |
| output_formatopt | COMBO | auto | Container format sent as `output_format`. Seedance 2.5 only (mp4 or mov); 'auto' omits the field and lets the model decide. |
| reference_videoopt | STRING | Optional reference video: an HTTP(S) URL or asset:// id (data URIs are not supported for video). Seedance 2.5 alone also accepts it as videoExtend input (exactly one clip, ratio becomes adaptive). Seedance 2.0/2.5 accept it as a multimodal reference. | |
| reference_audioopt | STRING | Optional reference audio: HTTP(S) URL, asset:// id, or an mp3/wav data URI. Sent as a content item with role reference_audio. | |
| poll_intervalopt | INT | 51–60 | Seconds between status polls (shortened if the server sends a poll hint). |
| timeoutopt | INT | 90030–7200 | Overall timeout in seconds for polling + download. Video renders often take 1-5 minutes; pro/1080p can take longer. |
| debugopt | BOOLEAN | false | — |
Outputs (1)
| Name | Type | Description |
|---|---|---|
| VIDEO | VIDEO | — |