Griptape Create: Image from Text
Your Agent Can Draw Now
- agent
- key_value_replacement
- driver
- IMAGE
- AGENT
- file_path
Griptape Create: Image from Text is where this pack stops being an LLM wrapper and becomes an image generator. Give it a prompt and it produces an image through Griptape's image-generation tasks - but the interesting part is how it plugs into everything else. It's the node in the README's signature example: three image descriptions get merged into one string, and that merged inspiration becomes the prompt for this node. It's not a standalone "type a prompt, get a PNG" tool; it's the image output stage of an agentic pipeline.
What it is, honestly
ComfyUI already does image generation far better than this node will - if you're after diffusion quality, use a proper sampler and checkpoint. What this node gives you instead is LLM integration. The prompt can come from an agent, from a merged pile of image descriptions, or from any text node in your workflow, and the generation happens through a Griptape driver rather than the local diffusion stack. That's the point: closing the loop between "an LLM reasoned about what to draw" and "an image exists."
How it works
It runs a PromptImageGenerationTask inside a Griptape pipeline. Which provider draws the image depends on the driver you attach:
- No driver attached → it falls back to OpenAI's
dall-e-3(qualityhd, stylenatural), which needs anOPENAI_API_KEYfrom Settings → Griptape or your environment. - A driver attached → whatever the driver is: OpenAI, Amazon Bedrock Stable Diffusion, Bedrock Titan, Leonardo.AI (and the pack also wires in Black Forest / Flux drivers). The README's "Generate Images" section lists them.
The generated image is written to ComfyUI's temp directory, loaded back as a normal IMAGE tensor, and handed to you with its file path.
Inputs
STRING(required, multiline) - the prompt. This is what gets generated.input_string(STRING) - appended to STRING with a newline; use it for dynamic text from other nodes.agent(AGENT) - an optional agent; if the agent's config carries an image-generation driver, that's used.key_value_replacement(DICT) -{{ key }}placeholder substitution in the prompt.driver(DRIVER) - the image-generation driver node. Attach one to pick your provider and model.
Outputs
IMAGE- the generated image as a ComfyUI tensor, ready for display/save nodes.AGENT- the agent that ran the task, for chaining.file_path(STRING) - where the image was written (temp dir).
Installation
Part of ComfyUI Griptape Nodes:
- ComfyUI Manager: search "Griptape" → install.
- Manual:
cd ComfyUI/custom_nodes && git clone https://github.com/griptape-ai/ComfyUI-Griptape, restart ComfyUI.
You need a working image-generation driver or an OpenAI key, plus the pack's shared install (griptape[all], python-dotenv, openai). The usual torch-conflict troubleshooting in the README applies if the pack install shakes up your environment.
Gotchas
- Cost. Each generation is a paid API call (dall-e-3 is not free). If you're used to local generation, the billing surprise is real.
- Don't expect local-diffusion quality control - no seed control, no sampler, no steps. It's a driver-based API call, tuned by your prompt, not by denoising knobs.
- The output lands in the temp directory; if you want it kept, save it from the IMAGE output rather than relying on
file_pathto survive restarts.
Use it when your workflow needs an image that's driven by LLM reasoning. For everything else, ComfyUI's native samplers are the right tool - and this node is the one that bridges the two worlds.
Inputs (5)
| Name | Type | Default | Description |
|---|---|---|---|
| STRING | STRING | — | |
| input_stringopt | STRING | — | |
| agentopt | AGENT | — | |
| key_value_replacementopt | DICT | The will replace the {{ key }} with a value. | |
| driveropt | DRIVER | — |
Outputs (3)
| Name | Type | Description |
|---|---|---|
| IMAGE | IMAGE | — |
| AGENT | AGENT | — |
| file_path | STRING | — |