Nodes/KIE.ai Nodes Next/Ideogram - Character
ComfyUI Node

Ideogram - Character

Put the person from your portrait somewhere else

By felipederosilva·Created about a month ago·Updated a day ago· 3
Ideogram - Character
  • reference_image_urls
  • image
  • url
  • all_urls_json
  • task_id
  • raw_json
  • credits_consumed
  • credits_left
◄promptPlace the woman from the uploaded portrait, wearing a casual white blouse, in a peaceful garden setting. The scene should feature vibrant green plants and colorful flowers, with soft sunlight filtering through the leaves. She should be sitting on a wooden bench, holding a book and smiling gently. The background should be filled with lush greenery, with a serene, tranquil atmosphere. Golden afternoon light should highlight the woman’s face and create soft shadows on the ground, adding a peaceful, reflective mood to the scene►
◄rendering_speedBALANCED►
◄styleAUTO►
◄expand_prompttrue►
◄num_images1►
◄image_sizesquare_hd►
◄negative_prompt►
◄seed0►
◄timeout_seconds1200►
◄callback_url►

Ideogram built its reputation on text in images - logos, posters, packaging, anything where the lettering has to be right. Through v3 it was the closed benchmark for that, and nothing open came close. This node is its character feature: give it reference images and a prompt, and it generates the scene with your subject in it.

The reason to reach for a hosted character node at all is the shape the problem took by 2026. Locally, the default advice stopped being "encode the character and inject it" and became "generate once, then edit the image" - instruction editing with a reference in context. This node is that same move, one API call, with no LoRA and no adapter stack.

Inputs

prompt (required, up to 5000 characters) is a full scene description, not a short instruction - the node's own default is a paragraph about a woman on a garden bench with golden afternoon light. Write it like a shot, because that's what it's generating.

reference_image_urls (required) is an IMAGE socket. Unlike the HappyHorse reference nodes, this one takes a ComfyUI image directly - no URL pasting. Batch multiple images to give it more than one reference.

rendering_speed is BALANCED (default), TURBO, or QUALITY. Turbo is for iteration; Quality is for the final. style is AUTO, REALISTIC, or FICTION - note how blunt that is. It's a coarse switch, not a style library.

expand_prompt (default true) turns on MagicPrompt, Ideogram's prompt rewriter. It's genuinely useful for thin prompts and genuinely annoying when you've written something precise, in the same way a model's "prompt optimizer" always is.

num_images is 1, 2, 3 or 4. Important: the node's image output returns only the first result. Ask for four and the other three are still in all_urls_json, but you'll need something else to fetch them - the pack's Download Image node is the obvious tool. Don't set this to 4 expecting a batch socket.

image_size picks the frame: square_hd (default), square, portrait_4_3, portrait_16_9, landscape_4_3, landscape_16_9. negative_prompt is available and, per the tooltip, only matters where your positive prompt doesn't already claim the same thing. seed is there for reproducibility attempts. timeout_seconds (1200 default) and callback_url are the plumbing.

Outputs

image is a native ComfyUI IMAGE - straight into a save node or a local upscaler. Then url, all_urls_json (all four images if you asked for four), task_id, raw_json, and credits_consumed / credits_left as floats. Images are archived to ComfyUI/output/KIE-Results/images/.

Install

cd ComfyUI/custom_nodes
git clone https://github.com/felipederosilva/ComfyUI-KIE-Nodes-Next
cd ComfyUI-KIE-Nodes-Next
pip install -r requirements.txt

Restart ComfyUI. requests, Pillow, numpy, PyYAML, no model downloads - if you want Ideogram running on your own GPU, that's a different thing entirely: the 4.0 weights are on HuggingFace now under a non-commercial licence, and that's a local checkpoint, not this node.

Key setup once in Settings → KIE.ai Nodes Next → Connection; validated before saving, masked afterwards, never in the workflow JSON. Headless installs use KIE_API_KEY, which takes priority.

What to watch

A reference image is not an identity lock. The pack author says this outright, and it matches what everyone running reference-based consistency reports: resemblance, not guarantee. Expect drift as you move further from the reference pose or lighting.

Four images still bill as four. num_images is a cost multiplier, and the node's credits_consumed float will show it.

Fine text is still Ideogram's party trick. If your scene needs legible lettering, put the exact string in the prompt in quotes; that's the capability you're paying for over a generic image node.

Timeout means paid. If the node errors out waiting, the job continues remotely. Use the task_id from the message with the Task Status node.

Rerun-with-no-changes returns the cached image and charges nothing. That's ComfyUI caching, not a hiccup.

CategoryKIE Next/Image/Ideogram

Inputs (11)

NameTypeDefaultDescription
promptSTRINGPlace the woman from the uploaded portrait, wearing a casual white blouse, in a peaceful garden setting. The scene should feature vibrant green plants and colorful flowers, with soft sunlight filtering through the leaves. She should be sitting on a wooden bench, holding a book and smiling gently. The background should be filled with lush greenery, with a serene, tranquil atmosphere. Golden afternoon light should highlight the woman’s face and create soft shadows on the ground, adding a peaceful, reflective mood to the sceneThe prompt to fill the masked part of the image. (Max length: 5000 characters)
reference_image_urlsIMAGE—
rendering_speedoptCOMBOBALANCEDThe rendering speed to use. Default value: "BALANCED"
styleoptCOMBOAUTOThe style type to generate with. Cannot be used with style_codes. Default value: "AUTO"
expand_promptoptBOOLEANtrueDetermine if MagicPrompt should be used in generating the request or not. Default value: true (Boolean value (true/false))
num_imagesoptCOMBO1Select description
image_sizeoptCOMBOsquare_hdThe resolution of the generated image Default value: square_hd
negative_promptoptSTRINGDescription of what to exclude from an image. Descriptions in the prompt take precedence to descriptions in the negative prompt. Default value: "" (Max length: 5000 characters)
seedoptINT0-2147483648–2147483647Seed for the random number generator
timeout_secondsoptINT120030–7200—
callback_urloptSTRINGOptional KIE callback URL. Leave empty for normal ComfyUI use.

Outputs (7)

NameTypeDescription
imageIMAGE—
urlSTRING—
all_urls_jsonSTRING—
task_idSTRING—
raw_jsonSTRING—
credits_consumedFLOAT—
credits_leftFLOAT—