Ideogram 3.0 Reframe
Ideogram 3.0 Reframe
- seedImage
- advancedFeatures.watermark.image
- providerSettings.ideogram.styleReferenceImages
- image
Outpainting has a bad reputation because most tools hallucinate the new pixels. Ideogram 3.0 Reframe is the version of that trick you'd actually reach for: give it an image and a new canvas size, and it recomposes the scene to fit - the subject stays, the frame changes. It's a hosted Ideogram API endpoint inside a Runware node, so your GPU sits this one out entirely.
You know Ideogram as the lab that owns in-image text. Reframe isn't about text specifically - it's about not butchering an image when the aspect ratio doesn't suit your deliverable. Poster needs a vertical crop? Thumbnail needs a wider safe area? This is the node.
How it works
The required inputs are minimal, which is the appeal:
seedImage- your starting image (requiredIMAGE).widthandheight- the new dimensions. That's it. The model decides how to extend or recompose around the original content.
Unlike the Edit node, there's no mask and no prompt here - you're telling the model where the frame goes, not what to draw. It handles the rest, which is both the magic and the limit: you can't say "fill the left side with a street," you can only trust the model's judgment. If you need directed outpainting, Edit (with a mask on the new region) is the more controllable sibling.
Optional stuff worth knowing: providerSettings.ideogram.styleReferenceImages lets you pin the visual style to another image, and stylePreset (63 options) forces a consistent aesthetic across the reframe. numberResults (up to 20) gives you variations, each with its own seed. safety.checkContent opts into the server-side moderation pass that shows up in the title bar as NSFW: yes/no.
The output is a single native IMAGE, so it feeds straight into Save Image, or into an upscale pass if you're planning to print the result.
Installing it
Same story as every node in this pack: it's Runware's official integration.
cd ComfyUI/custom_nodes
git clone https://github.com/Runware/ComfyUI-Runware
pip install -r ComfyUI-Runware/requirements.txt
Restart ComfyUI, then add your API key under ComfyUI Settings → Runware API key (or set the RUNWARE_API_KEY environment variable). No models to download - dependencies are just the runware-sdk, pillow, and soundfile.
Where people get burned
The predictable one: running a reframe to a wildly different aspect ratio and getting composition drift. Reframe is a recompose, not a crop, so going from 1:1 to a 16:9 banner will change the scene - if you want the original composition preserved dead-on, crop instead. The other two gotchas are pack-wide: no API key means instant errors, and you're paying per call on a top-up account, so the "$20 minimum" grumble from the community applies. For a 1024×1024 reframe the actual cost is fractions of a cent; just don't set numberResults to 20 and walk away.
Inputs (23)
| Name | Type | Default | Description |
|---|---|---|---|
| seedImage | IMAGE | — | |
| advancedFeatures.watermark.imageopt | IMAGE | — | |
| providerSettings.ideogram.styleReferenceImagesopt | IMAGE | — | |
| sizeopt | COMBO | 1K (1:1) | Output size. Only one of resolution or dimensions is sent. |
| numberResultsopt | INT | 11–20 | Number of results to generate. Each result uses a different seed, producing variations of the same parameters. |
| advancedFeaturesopt | BOOLEAN | false | Enable to set advancedFeatures. Off uses the model's default. |
| advancedFeatures.watermark.bgColoropt | STRING | Background color in hex format. | |
| advancedFeatures.watermark.displayPositionopt | COMBO | (default) | Watermark position. |
| advancedFeatures.watermark.fontColoropt | STRING | Text color in hex format. | |
| advancedFeatures.watermark.opacityopt | BOOLEAN | false | Enable to set advancedFeatures.watermark.opacity. Off uses the model's default. |
| advancedFeatures.watermark.opacity_valueopt | FLOAT | 0.100.1–1 | Watermark opacity. |
| advancedFeatures.watermark.textopt | STRING | Watermark text. | |
| providerSettings.ideogram.magicPromptopt | COMBO | AUTO | Automatic prompt enhancement. |
| providerSettings.ideogram.renderingSpeedopt | COMBO | DEFAULT | Generation speed/quality tradeoff. |
| safetyopt | BOOLEAN | false | Enable to set safety. Off uses the model's default. |
| safety.checkContentopt | BOOLEAN | false | Enable or disable content safety checking. |
| providerSettings.ideogram.styleCodeopt | STRING | Predefined style code (8-char hex). | |
| providerSettings.ideogram.stylePresetopt | COMBO | (default) | Artistic style preset. |
| providerSettings.ideogram.styleTypeopt | COMBO | AUTO | Visual style and rendering approach. |
| ttlopt | BOOLEAN | false | Enable to set ttl. Off uses the model's default. |
| ttl_valueopt | INT | 60 | Time-to-live (TTL) in seconds for generated content. Only applies when `outputType` is `URL`. |
| outputFormatopt | COMBO | JPG | File format for the generated image. |
| outputQualityopt | INT | 9520–99 | Compression quality of the output. Higher values preserve quality but increase file size. |
Outputs (1)
| Name | Type | Description |
|---|---|---|
| image | IMAGE | — |