BYOKey Runway Image to Video
Runway Gen4 i2v, own key, no credit meter
- start_frame
- output
Runway was doing image-to-video before most of the current crop existed, and Gen4 keeps it near the top of the "what do you mean it can hold a subject like that" pile. This node is the bring-your-own-key route to it from ComfyUI: feed it a start frame and a prompt, get a VIDEO out - no Comfy proxy, no prepaid credits, just your Runway key.
How it works. The classic pattern this whole pack is built on: POST a generation job to api.dev.runwayml.com/v1 (the default base_url, overridable for a relay) with your key as a Bearer token, then poll every poll_interval seconds until Runway reports the clip done, download the mp4, and wrap it in ComfyUI's native VIDEO type (comfy_api.latest.InputImpl.VideoFromFile). It lands on your canvas indistinguishable from an official API node's output.
The inputs that matter:
start_frame- the image that becomes your video's first frame. Wire in anything with anIMAGEoutput: a local sampler, an upscaler, even another cloud image node. This is the load-bearing input; the prompt only tells Runway what to do with the picture.prompt- the motion instruction. "The camera slowly pushes in," "she turns and smiles," "leaves drift across frame" - describe the movement, not the scene (the scene is in the frame).model-gen4_turbo(default) orgen3a_turbo. Gen4 is the current flagship; the older Turbo is faster and cheaper when you're exploring.duration-5or10seconds. This is your cost lever as much as a creative one.ratio- 8 presets (1280:720,720:1280,1104:832,832:1104,960:960,1584:672,768:1280,1280:768). The two Turbo models support different subsets, so if a ratio errors out, switch models before troubleshooting anything else.seed- genuinely honored here, so once you get a roll you like you can lock it in.
poll_interval and max_wait are the usual babysitters; the default 10-minute cap is enough for a 10-second Gen4 clip, but bump it if you're near the edge.
Output: one output (VIDEO) socket, into your usual video preview/save node.
Install. The whole pack is one clone:
cd ComfyUI/custom_nodes
git clone https://github.com/MeteorAndy/comfyui-byokey.git
# restart ComfyUI; nodes live under api/byokey/video
No models to download, no extra Python deps - ComfyUI's bundled torch, aiohttp, PIL, numpy and av cover it.
Gotchas. The i2v job is a minute or more; set expectations accordingly. start_frame is required - this node won't run text-only. And the usual fresh-pack hygiene: it's new enough that there's no community consensus behind it, so skim the source before handing it a key.
Inputs (10)
| Name | Type | Default | Description |
|---|---|---|---|
| api_key | STRING | Runway API key (sent as Bearer token). | |
| base_url | STRING | https://api.dev.runwayml.com/v1 | Runway API base URL. Override for relays. |
| prompt | STRING | Text prompt for the generation. | |
| start_frame | IMAGE | Start frame to be used for the video. | |
| model | COMBO | gen4_turbo | 2 options: gen4_turbo, gen3a_turbo |
| duration | COMBO | 5 | Video duration in seconds. |
| ratio | COMBO | 1280:720 | Aspect ratio. gen4_turbo and gen3a_turbo support different ratios. |
| seed | INT | 00–4294967295 | Random seed for generation. |
| poll_intervalopt | INT | 101–120 | Seconds between status polls. |
| max_waitopt | INT | 60060–3600 | Max seconds to wait for the task. |
Outputs (1)
| Name | Type | Description |
|---|---|---|
| output | VIDEO | — |