BYOKey PixVerse Text to Video
PixVerse t2v with your own key — the fast, cheap end of video APIs
- output
PixVerse is the value pick in the video API lineup: fast, comparatively cheap, and good at the flashy trending styles people actually make shorts with. If your use case is "generate a bunch of clips and pick the good ones," it beats burning Veo-class credits on every roll of the dice. This node is the bring-your-own-key way to reach it from ComfyUI, dropping straight into the same VIDEO socket the official API nodes use.
How it works. One quirk up front: unlike most vendors here, PixVerse takes your key in the API-KEY header, not as a Bearer token - so a bare key works. The node POSTs your job to app-api.pixverse.ai/openapi/v2 (the default base_url, overridable for a relay), polls until the video is ready, downloads it, and wraps it in ComfyUI's native VIDEO type. Same submit-then-poll dance as every video node in this pack, with the usual poll_interval and max_wait knobs if you need to give a job more room.
The inputs that matter:
prompt- your text-to-video description. PixVerse has its own negative-prompt support, and it's worth using: describing what not to do (extra limbs, morphing, watermark artifacts) helps more here than on some other vendors.aspect_ratio-16:9default, with4:3,1:1,3:4,9:16available. Pick your format before you queue; you can't recrop the API output cheaply.quality-360pthrough1080p. This is your cost lever as much as a quality lever.540pis a sensible default; jump to720pfor anything you'll actually post.duration_seconds- just5or8. No fine control here.motion_mode-normalorfast. Fast mode trades a bit of polish for shorter job time; useful for draft rounds.model- free text, defaults tov3.5. PixVerse bumps versions fairly often, so this stays flexible rather than an enum.template_id- PixVerse's effect templates. Leave at0(none) unless you have a specific template id to use; you won't know what these are from the node.seed- real seed semantics here (PixVerse honors it for reproducibility), so you can lock a look down once you've got a good roll.
Output: one output (VIDEO), wired to your usual video preview or save node.
Install. Same shared pack, plain clone:
cd ComfyUI/custom_nodes
git clone https://github.com/MeteorAndy/comfyui-byokey.git
# restart ComfyUI; find it under api/byokey/video
No models to download, no extra dependencies - it runs on ComfyUI's bundled torch, aiohttp, PIL, numpy and av.
Gotchas. Jobs still take a minute or two, so keep max_wait generous. The API-KEY header quirk means some key formats that work elsewhere (like Bearer ...) will fail here - paste the raw key. And as with any fresh API-wrapper pack, give the source a skim before feeding it a key; it's new enough that there's no community consensus behind it yet.
Inputs (13)
| Name | Type | Default | Description |
|---|---|---|---|
| api_key | STRING | Your PixVerse API key (sent as the API-KEY header). | |
| base_url | STRING | https://app-api.pixverse.ai/openapi/v2 | PixVerse OpenAPI base URL; override for a relay. |
| prompt | STRING | Prompt for the video generation. | |
| aspect_ratio | COMBO | 16:9 | 5 options: 16:9, 4:3, 1:1, 3:4, 9:16 |
| quality | COMBO | 540p | 4 options: 360p, 540p, 720p, 1080p |
| duration_seconds | COMBO | 5 | 2 options: 5, 8 |
| motion_mode | COMBO | normal | 2 options: normal, fast |
| seed | INT | 00–2147483647 | Seed for video generation. |
| negative_promptopt | STRING | An optional text description of undesired elements. | |
| modelopt | STRING | v3.5 | PixVerse model version (e.g. v3.5). |
| template_idopt | INT | 00–2147483647 | Optional PixVerse template id (0 = none). |
| poll_intervalopt | INT | 101–60 | Seconds between status polls. |
| max_waitopt | INT | 60030–3600 | Max seconds to wait for the video. |
Outputs (1)
| Name | Type | Description |
|---|---|---|
| output | VIDEO | — |