PRYX ComfyUI Higgsfield Text to Video
Text in, Kling or Seedance out — priced before it ever runs
- audio
- references
- video
- local_file
- remote_url
- request_id
- credits (-1 unavailable)
- usd (-1 unavailable)
- status
Text to video is the one capability the local stack never really caught up on. Wan 2.2 is frozen at July 2025, the numbered Wan line went API-only after it, and the flagships everyone actually compares in 2026 - Kling 3.0, Seedance 2.5 - have no weights to download at all. If you want them inside a ComfyUI graph, you call them. This node is where that call happens.
It fronts the catalog's 19 text-to-video endpoints, and defaults to not spending your money until you've seen the number.
What it does
Pick a model, write or wire a prompt, queue. In estimate_only - the default - the pack resolves the model, normalizes your parameters, uploads any connected local references, and hits the provider's estimate route. You read credits and usd from the outputs. Then you switch request_mode to generate, optionally set a positive max_usd as a hard ceiling, and queue again. generate follows the same estimate-first path, so the paid request only goes out after the estimate succeeds.
Everything goes to api.higgsfield.ai; PRYX runs no proxy. Your key is stored in your ComfyUI user directory, not in the workflow.
The current dropdown is a decent cross-section of the closed frontier: the whole Kling 3.0 family (Turbo, Standard, Pro, 4K), Kling 2.5/2.6, Seedance 2.0 and 2.5, MiniMax H3 and Hailuo 2.3, Wan 3.0 and Wan 2.6/2.7, PixVerse V6, LTX 2.5 fast and pro, and Happy Horse. Whether your account can actually call any given one is Higgsfield's call, not the node's.
Inputs you'll actually set
prompt is declared as an input, not a widget - wire a text node or a Config UI Prompt node into it, which is also the sane way to handle a long prompt. Then:
model- the endpoint. The collapsed model-information panel lists what the selected one supports.duration,resolution,aspect_ratio- union lists across all 19 models (5, 10, 6, 8, 15seconds,720p/1080p/480p/4k/2k/2K/360p/540p, eight ratios). The selected model's own range wins, and it's often narrower than what's shown: MiniMax H3, for instance, is2Konly with a 5–15 second run. Expand the panel to see the real set.sound(on/off) andgenerate_audio- two names for the same intent on different endpoints. Since Veo 3, native audio has been the least-replaceable thing about closed video models, and several of these ship it.seed(-1omits it),negative_prompt,cfg_scale(0–1, catalog-defined),fps,camera_movement,aigc_watermark,prompt_extend,prompt_optimizer,bitrate_mode(standard/high),output_format(mp4/mov),elements(JSON),multi_shotsplusmulti_prompt- a JSON array of shot objects withpromptandduration, up to 6 items.enable_thinking- the model's reasoning mode, where supported.
There's also an audio socket and a references input. Those exist because a couple of text-to-video endpoints (Wan 2.6 and 2.7) accept a soundtrack or ordered media alongside the text. On other models the sockets don't appear; model limits are validated before anything uploads.
And the four shared safety controls, which every generator in this pack carries: request_mode, max_usd, auto_save (output dir vs temp), timeout (10–7200s, default 1800).
Outputs
video- nativeVIDEO, ready for a compatible Save Video node. Empty in estimate-only mode, which is expected and trips people up weekly.local_file- the local path of the downloaded result.remote_url- JSON text of the provider URL. Logging and diagnostics only; it is not a media input.request_id- empty on an estimate.credits/usd- the provider's estimate for this exact normalized request,-1when it can't supply one.status- JSON with status, request ID, elapsed time, URLs, and the reference mapping.
Install
Manager: search PRYX ComfyUI Higgsfield, install, restart. If Manager doesn't list it yet, clone it:
cd ComfyUI/custom_nodes
git clone https://github.com/PRYX-STUDIO/pryx-comfyui-higgsfield.git pryx-comfyui-higgsfield
python -m pip install -r pryx-comfyui-higgsfield/requirements.txt
Windows portable: ..\python_embeded\python.exe -m pip install -r .\pryx-comfyui-higgsfield\requirements.txt. Requirements are higgsfield-client, httpx, jsonschema; ComfyUI 0.35.0+ and frontend 1.53.6+, Python 3.10–3.13. No model downloads.
Key in Settings → PRYX ComfyUI Higgsfield → Credentials as one key-id:key-secret string, or HF_KEY / HF_API_KEY+HF_API_SECRET headlessly.
Where the money goes wrong
Zero in max_usd disables the limit. A positive value blocks the generation outright if the estimate exceeds it, and also blocks it if the provider returns no USD estimate to check against. That second behaviour is the one to understand - silence from the provider is treated as unsafe, not as free.
Beyond that: a timeout never triggers a retry, so a clip that took too long is simply lost - raise timeout for long renders rather than queueing again. Estimate is an estimate; content policy and account credits can still fail a real generation after a clean estimate. And Higgsfield's consumer subscription has a genuinely bad billing reputation - worth knowing when deciding how much you trust the vendor, though this pack only spends what a generate-mode request costs and estimate_only spends nothing at all.
Inputs (27)
| Name | Type | Default | Description |
|---|---|---|---|
| model | COMBO | alibaba-happy-horse-text-to-video | Catalog model ID. Connect PRYX ComfyUI Higgsfield Model Catalog or choose a model from the dropdown. |
| seedopt | INT | -1-1–2147483647 | Optional deterministic seed. The provider may ignore it. Range: -1–2147483647. Use -1 to omit the seed and let the provider choose randomly. |
| durationopt | COMBO | 5 | Video duration in seconds. The selected model defines the valid range. Choices: 5, 10, 6, 8, 15 Range: 1–30. |
| resolutionopt | COMBO | 720p | Output resolution supported by the selected model. Choices: 720p, 1080p, 480p, 4k, 2k, 2K, 360p, 540p. |
| aspect_ratioopt | COMBO | 16:9 | Output framing. Use the exact format shown in the choices. Choices: 16:9, 9:16, 1:1, 4:3, 3:4, adaptive, 21:9, auto. |
| generate_audioopt | BOOLEAN | true | Sound |
| enable_thinkingopt | BOOLEAN | false | Deep Thinking |
| bitrate_modeopt | COMBO | high | Select the encoded video bitrate tier. Choices: standard, high. |
| output_formatopt | COMBO | mp4 | Output container format supported by the selected model. Choices: mp4, mov. |
| cfg_scaleopt | FLOAT | 0.500–1 | How strongly the model follows the prompt. The catalog defines the valid range. Range: 0–1 Step: 0.01. |
| negative_promptopt | STRING | Things the model should avoid showing. Characters: 1–2048. | |
| soundopt | COMBO | on | Generate sound Choices: on, off. |
| elementsopt | STRING | Catalog-defined model parameter. Enter valid JSON; leave blank to omit this optional field. | |
| multi_shotsopt | BOOLEAN | false | Generate multiple shots when supported by the selected model. |
| multi_promptopt | STRING | JSON array of shot objects with prompt and duration; check the model limits. Items: 0–6. Enter valid JSON; leave blank to omit this optional field. | |
| fpsopt | COMBO | 25 | Frames per second Choices: 24, 25, 48, 50. |
| camera_movementopt | COMBO | dolly_in | Camera motion preset supported by this model. Choices: dolly_in, dolly_out, dolly_left, dolly_right, jib_up, jib_down, static, focus_shift. |
| aigc_watermarkopt | BOOLEAN | false | Include the provider's AI-generated-content watermark. |
| prompt_optimizeropt | BOOLEAN | true | Provider-specific prompt optimization setting. |
| prompt_extendopt | BOOLEAN | false | Allow the provider to expand the prompt. |
| promptopt | STRING | Prompt text. Connect a Config UI Prompt node for long prompts. | |
| request_modeopt | COMBO | estimate_only | Estimate cost without generating, or submit the paid generation request. |
| max_usdopt | FLOAT | 0.000–10000 | Hard USD limit. Zero disables the limit; no generation is submitted above this value. |
| auto_saveopt | BOOLEAN | true | Save completed media in ComfyUI output; disable to keep it in the temporary directory. |
| timeoutopt | FLOAT | 180010–7200 | Maximum local wait time in seconds. A timed-out remote generation is never submitted again. |
| audioopt | AUDIO | Direct audio reference. The selected model defines whether it is required and the accepted limits. | |
| referencesopt | PRYX_HF_REFERENCES | Ordered media references. The selected model defines accepted media types and limits. |
Outputs (7)
| Name | Type | Description |
|---|---|---|
| video | VIDEO | — |
| local_file | STRING | — |
| remote_url | STRING | — |
| request_id | STRING | — |
| credits (-1 unavailable) | FLOAT | — |
| usd (-1 unavailable) | FLOAT | — |
| status | STRING | — |