ComfyUI Node

DP Ideogram Character

Same face every time, without touching a checkpoint — the Ideogram API shortcut

By DesertPixelAi·Created about a year ago·Updated about a year ago· 2
DP Ideogram Character
  • character_image
  • images
  • info
api_key
prompt
aspect_ratio1:1 (1024x1024)
image_count1
render_speedDefault
style_typeAuto
seed-1
magic_promptAUTO

Keeping the same character across generations is the most-cited unsolved problem in this hobby, and the usual answers are a commitment. Train a LoRA, and you're collecting 15–25 reference images and babysitting a training run. Go the instruction-editing route, and you're stacking Qwen-Image-Edit with masks and praying the face survives. DP Ideogram Character skips all of it: give it one photo and a prompt, and a hosted model returns that same person in new scenes. No LoRA, no adapter, no GPU grind - just an API key and a per-image price tag.

This node is part of Desert Pixel's small DP collection, and "node" undersells it. Underneath, it's a thin ComfyUI wrapper around Ideogram's v3 character-reference API. You drop in an IMAGE, the node packs it up with your prompt and settings, POSTs a multipart request to api.ideogram.ai/v1/ideogram-v3/generate, then downloads the results and reassembles them into a normal ComfyUI image tensor. The model itself never touches your machine - Ideogram's servers do all the work. That's the whole trade in one sentence: zero local compute, real money per image.

The inputs that matter

  • api_key - your Ideogram API key from the developer portal. It's marked as a password field, but it's still stored plaintext inside the workflow JSON. Don't share workflows that contain it.
  • prompt - describe the scene, pose, clothing, lighting. The character's face comes from the reference, everything else from your words.
  • character_image - the reference. A clear, well-lit portrait or headshot works best. The node takes the first image of whatever batch you feed it, converts it to RGB, and auto-resizes if it's over the ~10MB API limit.
  • render_speed - Turbo / Default / Quality. This is your wallet control, since character-reference pricing runs roughly $0.04 / $0.07 / $0.10 per image respectively. Multiply by image_count (1–4) and you've got the cost of a queue.
  • style_type - Auto, General, Realistic, Design, or Fiction, per the author's own tooltip. Auto lets the model pick; Realistic is your photoreal default.
  • aspect_ratio - 15 presets like 1:1 (1024x1024) and 16:9 (1456x832), mapped internally to the API's format.
  • seed and magic_prompt - optional. Seed -1 means random (the node generates one and reports it back); set a fixed value if you want reproducible-ish runs, though hosted APIs are never as deterministic as local sampling. AUTO magic prompt leaves it to the API; ON/OFF force it.

The outputs

  • images - the generated renders as a standard IMAGE batch, so they wire straight into Save Image or anything else downstream.
  • info - a STRING with the seed used, image count, and each image's dimensions. Dull until something goes wrong - see below.

Installing

ComfyUI Manager: search "DP Ideogram Character" and install, or clone manually:

cd ComfyUI/custom_nodes
git clone https://github.com/DesertPixelAi/ComfyUI-DP-Ideogram-Character
cd ComfyUI-DP-Ideogram-Character
pip install -r requirements.txt

Then restart ComfyUI. The requirements.txt lists torch, torchvision, numpy, Pillow, and requests - every one of those already ships with ComfyUI, so the pip step is basically ceremonial and there are no model files to download. The only real prerequisite is an Ideogram API key with credits on it.

Where people get burned

The big one: errors don't look like errors. When generation fails, the node doesn't raise - it returns a red-tinted 512×512 placeholder image plus the error message in the info string. If you get a red square back, don't save it; read info and check the ComfyUI console, which prints the API status and a snippet of the response.

Beyond that: "Invalid API key" means exactly that, so re-copy it from the dashboard. "No images returned" is your quota or credits running dry. And remember the API's own limits - no custom color palettes, no style-reference images stacked on character reference, no character masks in Generate mode. If you need the character across a hundred shots, the per-image pricing makes a LoRA cheaper in week two. But for a quick, consistent character on a deadline, this is the node you'll actually reach for.

Categoryimage/generation

Inputs (9)

NameTypeDefaultDescription
api_keySTRING
promptSTRING
character_imageIMAGE
aspect_ratioCOMBO1:1 (1024x1024)15 options: 1:1 (1024x1024), 16:9 (1456x832), 9:16 (832x1456), 4:3 (1152x896), 3:4 (896x1152), 10:16 (896x1408), +9
image_countCOMBO14 options: 1, 2, 3, 4
render_speedCOMBODefault3 options: Turbo, Default, Quality
style_typeCOMBOAutoAuto: Let AI choose style, General: Balanced approach, Realistic: Photorealistic style, Design: Artistic/illustration style, Fiction: Fantasy/sci-fi style
seedoptINT-1-1–2147483647
magic_promptoptCOMBOAUTO3 options: AUTO, ON, OFF

Outputs (2)

NameTypeDescription
imagesIMAGE
infoSTRING