reve / createImage
The closed model the community keeps name-dropping, in your graph
- api_config
- images
- errors
- workflow_id
- raw_json
Reve is the closed image model that keeps showing up in the "when will open source catch up to OAI, Reve and Ideogram" laments - it's one of the hosted frontier generators that has no open weights at all, which means the only way to use it inside ComfyUI is a node like this one. It runs through fal's engine on Civitai's orchestration layer. Prompt in, IMAGE out, billed in Buzz.
If you've got a working local setup and a good open model, you don't need this node - that's the honest framing. Reve's appeal is the closed-model quality bar and the fact that it exists at all; if you're chasing that specific look, or you want to compare it against your local pipeline, this is the door. It's also the minimal node in this pack: no seed, no negative prompt, no sampler knobs. It's a black box with an aspect ratio.
How it works
The civitai-comfy-nodes recipe machinery: your prompt is submitted to the Civitai Orchestration API as a reve / createImage job on the fal engine, the node long-polls until it succeeds, and the returned image is converted into a native IMAGE tensor. Because Reve is a hosted model with no weights, every parameter it exposes is what fal's API exposes - and that's deliberately little.
The inputs that matter
The list is short, which is the point:
- prompt - required, and it does the heavy lifting.
- aspect_ratio - a big menu from
auto,4:1,3:1,21:9,2:1,17:9,16:9,3:2,4:3,5:4,1:1(default), and the portrait set on down to1:4.autolets the model pick from the prompt. - quantity - 1 to 10 images per job.
- output_format / image_metadata - JPEG/PNG/WebP choice and optional metadata stamp.
That's it. There's no seed, no negative_prompt, no width/height - the API doesn't expose them, so neither does the node. If you want variety across runs, vary quantity or the prompt.
Outputs
images → Preview/Save Image. errors, workflow_id, and raw_json are diagnostics; raw_json holds the full job result.
Installing and authenticating
Pack-wide install - this is one of ~160 nodes in civitai-comfy-nodes:
cd ComfyUI/custom_nodes
git clone https://github.com/civitai/civitai-comfy-nodes.git
pip install -r civitai-comfy-nodes/requirements.txt
or ComfyUI Manager → "Civitai Comfy Nodes" → Install → restart. Dependencies: requests + python-socketio[client].
Auth: Civitai Auth node → CIVITAI_API_TOKEN → stored key/OAuth in ~/.civitai/ → browser login. Headless:
export CIVITAI_API_TOKEN=your_token
Where people get burned
- It's a hosted black box. No seed means no reproducibility - you can't recreate a lucky result, and you can't A/B against a fixed seed. That's a real workflow cost for a closed model.
- Per-image billing. Reve sits on fal's infrastructure through Civitai, and fal's whole model is pay-per-call. A
quantityof 10 is ten billed images. Keep that in mind. - Your prompt leaves the machine and goes through hosted moderation - there are no weights to uncensor, and no community bypass exists for a model you can't download. If your content needs the loosest possible filtering, this is the wrong category entirely.
- Don't confuse it with the Reve edit node (
CivitaiImageGenFalReveEditImage) - that one requires an input image; this one is pure text-to-image.
Inputs (6)
| Name | Type | Default | Description |
|---|---|---|---|
| prompt | STRING | — | |
| output_formatopt | COMBO | 4 options: , jpeg, png, webP | |
| image_metadataopt | STRING | External metadata that will be stored with the image | |
| aspect_ratioopt | COMBO | auto | 18 options: auto, 4:1, 3:1, 21:9, 2:1, 17:9, +12 |
| quantityopt | INT | 11–10 | — |
| api_configopt | CIVITAI_CONFIG | Optional Civitai Auth connection; defaults to CIVITAI_API_TOKEN or stored OAuth login. |
Outputs (4)
| Name | Type | Description |
|---|---|---|
| images | IMAGE | — |
| errors | STRING | — |
| workflow_id | STRING | — |
| raw_json | STRING | — |