🤖 Replicate 萬用生成 / Universal Generator (All Models)
Run Sora, Veo and Nano Banana from one ComfyUI node — no GPU required
- images
- last_frame
- video
- audio
- video
- audio
- image
- file_path
- info
The 🤖 Replicate 萬用生成 / Universal Generator is the node that finally lets you skip the search for a local Nano Banana checkpoint. Stop looking - there isn't one. Sora 2, Veo 3.1, Nano Banana Pro, Kling, Seedance: none of them have open weights, so "run it locally" is off the table at any VRAM budget. This node is the other door. You pick a model from a dropdown of 34, type a prompt, and the node packages everything up and sends it to Replicate's cloud, then drops the result back into your graph as native VIDEO, IMAGE, or AUDIO - as if a local sampler had made it.
This is the API-wrapper pattern in its cleanest form: a ComfyUI node that is really an HTTP client with your key baked in. The official ComfyUI Partner Nodes do the same job on prepaid credits through your Comfy account; this one instead uses your own Replicate token and Replicate's pay-per-call billing. Same closed models, different meter, and it also runs open models (FLUX schnell, Wan, Stable Video Diffusion) on someone else's GPU if yours can't cope.
How it works
The model dropdown is the only required input - everything else is optional and, crucially, inert when the selected model doesn't use it. ComfyUI can't hide parameters on a dropdown node, so all ~30 of them sit there, but the node filters the ones each model needs before the API call. You don't need to know whether Veo wants a "guidance_scale" or a "duration"; it just picks the relevant ones.
The one input you'll actually touch beyond prompt is images - a unified socket that auto-routes to whatever the model calls its image parameter: Veo/Wan get image, Sora gets input_reference, MiniMax gets a first frame, Kling gets a start image, and Nano Banana/Seedance get a full reference-image list. Wire the pack's Multi Image Input node in here and Nano Banana can see all 14 references in one call. last_frame stays separate, for Veo's end-frame editing. A video + audio pair handles the lipsync models.
Under the hood there's real engineering, not just a token request. Predictions are created with wait=False and then polled, so a five-minute Veo render won't trip a read timeout. Results download to ComfyUI's temp directory, and the outputs come out as native types: video → Save Video, image → Save Image, audio → Save Audio. Backend ffmpeg muxes models that return separate video and audio streams back into one file, and a 1-second debounce means double-clicking Run doesn't bill you twice. file_path carries a .glb path for the 3D model, info carries execution details.
What to watch
Cost. This is metered per call, and the video jobs are where a session gets expensive fast - a handful of 4K Veo clips can outspend a month of Comfy Cloud. It's the real price of models that refuse to run locally, not a bug. Also: your prompts and reference images leave the machine, and the closed models enforce their own content filters - there are no weights to abliterate.
Install
ComfyUI Manager, search Replicate API NM, or:
cd ComfyUI/custom_nodes
git clone https://github.com/neurmostudio0409/ComfyUI-replicate-api-NM
cd ComfyUI-replicate-api-NM
pip install -r requirements.txt
Then create a .env in the pack folder with your token from https://replicate.com/account/api-tokens (the pack reads it on load), and make sure FFmpeg is on your PATH - it's the system dependency for audio muxing (choco install ffmpeg, brew install ffmpeg, or apt install ffmpeg). Python deps are just replicate, requests, opencv-python, soundfile, scipy - nothing exotic, and torch is ComfyUI's.
If you get a token error, check the .env format (export REPLICATE_API_TOKEN=r8_...); a "model parameter" error means a required input is missing and the node's preflight now catches it before it bills you. Old Veo timeouts and Grok image-format errors were fixed in v2.5.x - if you hit those, update. It's a small pack (this page has essentially zero search impressions yet), but it's GPL open source, on the Comfy Registry, and ships 21 unit tests with CI. Any node that holds your API key and phones home by design is worth eyeballing before first run - that's the category's one honest caution, not a strike against this one.
Inputs (34)
| Name | Type | Default | Description |
|---|---|---|---|
| model | COMBO | sora-2 | 選擇模型 / Select Model - 節點將自動使用該模型需要的參數 / Node will automatically use parameters required by this model |
| promptopt | STRING | 提示詞 / Prompt - 用於 Sora, Veo, MiniMax 等 / Used for Sora, Veo, MiniMax, etc. | |
| imagesopt | IMAGE,REPLICATE_IMAGE_LIST | 圖片輸入(統一)/ Images (unified) - 接單張圖、batch 或多圖輸入節點;後端自動分配到模型對應參數(Veo/Wan=輸入圖、Sora=參考圖、MiniMax=首幀、Kling=起始圖、Nano Banana/Seedance=多張參考圖)/ Automatically routed to the model's image parameter(s). | |
| last_frameopt | IMAGE | 末幀圖片 / Last Frame - Veo 使用,獨立輸入 / Used for Veo, dedicated input | |
| videoopt | VIDEO | 輸入影片 / Input Video - Lipsync 使用 / Used for Lipsync | |
| audioopt | AUDIO | 輸入音訊 / Input Audio - Lipsync, MusicGen 使用 / Used for Lipsync, MusicGen | |
| aspect_ratioopt | COMBO | landscape | 長寬比 / Aspect Ratio - Sora, FLUX, Nano Banana, Grok 使用 / Used for Sora, FLUX, Nano Banana, Grok |
| resolutionopt | COMBO | 720p | 解析度 / Resolution - Veo, Nano Banana 使用 / Used for Veo, Nano Banana |
| qualityopt | COMBO | 1080p | 影片品質 / Video Quality - PixVerse 使用 / Used for PixVerse |
| sync_modeopt | COMBO | loop | 同步模式 / Sync Mode - Lipsync 使用 / Used for Lipsync |
| temperatureopt | FLOAT | 0.50–2 | 溫度 / Temperature - Lipsync, LLM 使用 / Used for Lipsync, LLM |
| active_speakeropt | BOOLEAN | false | 啟用發言者偵測 / Active Speaker Detection - Lipsync 使用 / Used for Lipsync |
| guidanceopt | FLOAT | 3.51.5–5 | 引導強度 / Guidance - FLUX 使用 / Used for FLUX |
| guidance_scaleopt | FLOAT | 7.51–20 | 引導比例 / Guidance Scale - Wan, SVD 使用 / Used for Wan, SVD |
| output_formatopt | COMBO | webp | 輸出格式 / Output Format - 圖片生成使用 / Used for image generation |
| output_qualityopt | INT | 800–100 | 輸出品質 / Output Quality - 圖片生成使用 / Used for image generation |
| image_searchopt | BOOLEAN | false | Google 圖片搜尋參考 / Image Search grounding - Nano Banana 2 使用 |
| google_searchopt | BOOLEAN | false | Google 網頁搜尋 / Web Search grounding - Nano Banana 2 使用 |
| alpha_ceilopt | INT | 2500–255 | 透明度上限 / Alpha Ceil - Nano Banana Transparent 使用 |
| alpha_flooropt | INT | 60–255 | 透明度下限 / Alpha Floor - Nano Banana Transparent 使用 |
| num_inference_stepsopt | INT | 501–100 | 推理步數 / Inference Steps - 影片生成使用 / Used for video generation |
| num_framesopt | INT | 811–200 | 幀數 / Frame Count - Wan, SVD 使用 / Used for Wan, SVD |
| fpsopt | INT | 61–30 | 每秒幀數 / FPS - SVD 使用 / Used for SVD |
| durationopt | INT | 81–30 | 時長(秒) / Duration (seconds) - 影片生成使用 / Used for video generation |
| prompt_optimizeropt | BOOLEAN | true | 提示詞優化 / Prompt Optimizer - MiniMax 使用 / Used for MiniMax |
| prompt_upsamplingopt | BOOLEAN | false | 提示詞增強 / Prompt Upsampling - P-Video 使用 |
| model_versionopt | COMBO | stereo-large | 模型版本 / Model Version - MusicGen 使用 |
| num_samplesopt | INT | 41–10 | 樣本數 / Samples - Video to SFX 使用 |
| generate_audioopt | BOOLEAN | true | 生成音訊 / Generate Audio - Seedance 2.0 使用 / Used for Seedance 2.0 |
| face_enhanceopt | BOOLEAN | false | 臉部增強 / Face Enhancement - Real-ESRGAN 使用 / Used for Real-ESRGAN |
| scaleopt | INT | 21–4 | 放大倍數 / Upscale Factor - Real-ESRGAN 使用 / Used for Real-ESRGAN |
| motion_bucket_idopt | INT | 1271–255 | 運動強度 / Motion Bucket - SVD 使用 / Used for SVD |
| seedopt | INT | -1-1–18446744073709550000 | 種子值 / Seed - Seedance 等使用 / Used for Seedance etc. (-1 = random) |
| camera_motionopt | COMBO | none | 鏡頭運動 / Camera Motion - LTX-2.3 使用 / Used for LTX-2.3 |
Outputs (5)
| Name | Type | Description |
|---|---|---|
| video | VIDEO | — |
| audio | AUDIO | — |
| image | IMAGE | — |
| file_path | STRING | — |
| info | STRING | — |