> ## Documentation Index
> Fetch the complete documentation index at: https://docs.comfy.org/llms.txt
> Use this file to discover all available pages before exploring further.

# P-H3-Image in ComfyUI: 8-Step Text to Image and Edit

> Run P-H3-Image in ComfyUI to render 8 MP photoreal images in 8 steps without CFG, and to edit photos with a source image plus up to eight reference images.

**P-H3-Image** is Pruna AI's open-weights image model built on [MiniMax H3](https://docs.comfy.org/tutorials/video/minimax/minimax-h3.md). It handles two tasks in one checkpoint: text-to-image generation and image editing. A full image takes 8 sampling steps with no classifier-free guidance, at 8 megapixels by default.

The model leans toward photographic and film looks: documentary and editorial photography, portraits with real skin texture, TV-frame anime, screen-printed posters, and flat graphic design with short quoted text. A prompt upsampler based on Qwen3.5-9B rewrites a one-line request into the detailed prompt the model renders best, and returns that rewritten prompt so you can read it before it reaches the sampler.

In ComfyUI, P-H3-Image runs as two workflow templates, one for text to image and one for image editing. It reuses the MiniMax H3 diffusion model and adds Pruna's text encoder, prompt upsampler, VAE and LoRA, about 35 GB of model files in total. The int8 files fit in about 21 GB of VRAM.

**Model Highlights**

* **8 steps, no CFG**: One distilled sampling schedule and a single positive conditioning, with no negative prompt
* **8 megapixels**: Square, 4:3, 3:2, 16:9 and their portrait versions, up to 3872 x 2176
* **Prompt upsampler built in**: Your one-line request is expanded into a full prompt, and the expanded prompt is shown in the workflow
* **Editing with references**: The first image is the one being edited, and further images become `<Picture 2>`, `<Picture 3>` and so on in the prompt
* **Image only**: P-H3-Image does not generate video or audio

**Related Links**

* [Hugging Face: P-H3-Image](https://huggingface.co/PrunaAI/P-H3-Image)
* [Hugging Face: P-H3-Image ComfyUI files](https://huggingface.co/PrunaAI/P-H3-Image-Comfy)
* [Pruna AI release post](https://www.pruna.ai/blog/oss-p-h3-image-launch)

> [!TIP]
>
> > [tab] Local users
> >
> > Make sure your ComfyUI is updated.
> >
> > * [Download ComfyUI](https://www.comfy.org/download)
> > * [Update Guide](https://docs.comfy.org/installation/update_comfyui.md)
> >
> > Workflows in this guide can be found in the [Workflow Templates](https://docs.comfy.org/interface/features/template.md).
> > If you can't find them in the template, your ComfyUI may be outdated.
> >
> > If nodes are missing when loading a workflow, possible reasons:
> >
> > 1. You are not using the latest ComfyUI version (Nightly version)
> > 2. Some nodes failed to import at startup
>
> > [tab] Cloud users
> >
> > * [Cloud](https://cloud.comfy.org) will update after ComfyUI stable release.
> >
> > So, if you find any core node missing in this document, it might be because the new core nodes have not yet been released in the latest stable version. Please wait for the next stable release.

## Requirements

* ComfyUI 0.44.0 or later. Both templates use the PH3ImageConditioning node added in 0.44.0
* About 35 GB of model files. The diffusion model is the same one the MiniMax H3 workflows use, so you may already have it
* A GPU with about 21 GB of VRAM for the int8 files

P-H3-Image is released under the MiniMax H3 Community License, which excludes some regions unless you hold a separate license from MiniMax. For commercial use, request a license through [Comfy](https://comfy.org/minimax/license).

## Model downloads

> [card] [Diffusion Model (INT8)](https://huggingface.co/Comfy-Org/MiniMax-H3/resolve/main/diffusion_models/minimax_h3_fl2va_pruned_int8_convrot.safetensors)
>
> minimax\_h3\_fl2va\_pruned\_int8\_convrot.safetensors → ComfyUI/models/diffusion\_models/

> [card] [Text Encoder (INT8)](https://huggingface.co/PrunaAI/p-h3-image-comfy/resolve/main/text_encoders/p-h3-image_text_encoder_int8_convrot.safetensors)
>
> p-h3-image\_text\_encoder\_int8\_convrot.safetensors → ComfyUI/models/text\_encoders/

> [card] [Prompt Upsampler (W4A8)](https://huggingface.co/PrunaAI/p-h3-image-comfy/resolve/main/text_encoders/p-h3-image_prompt_upsampler_w4a8.safetensors)
>
> p-h3-image\_prompt\_upsampler\_w4a8.safetensors → ComfyUI/models/text\_encoders/

> [card] [VAE (INT8)](https://huggingface.co/PrunaAI/p-h3-image-comfy/resolve/main/vae/p-h3-image_vae_int8_convrot.safetensors)
>
> p-h3-image\_vae\_int8\_convrot.safetensors → ComfyUI/models/vae/

> [card] [LoRA (BF16)](https://huggingface.co/PrunaAI/p-h3-image-comfy/resolve/main/loras/p-h3-image_lora_bf16.safetensors)
>
> p-h3-image\_lora\_bf16.safetensors → ComfyUI/models/loras/

Place the files in the following directories:

```
📂 ComfyUI/
├── 📂 models/
│   ├── 📂 diffusion_models/
│   │   └── minimax_h3_fl2va_pruned_int8_convrot.safetensors
│   ├── 📂 text_encoders/
│   │   ├── p-h3-image_text_encoder_int8_convrot.safetensors
│   │   └── p-h3-image_prompt_upsampler_w4a8.safetensors
│   ├── 📂 vae/
│   │   └── p-h3-image_vae_int8_convrot.safetensors
│   └── 📂 loras/
│       └── p-h3-image_lora_bf16.safetensors
```

## P-H3-Image text-to-image workflow

Generate an 8 megapixel image from a one-line request. The template runs the prompt upsampler first, then the 8-step schedule.

![P-H3-Image text-to-image workflow preview](https://raw.githubusercontent.com/Comfy-Org/workflow_templates/main/templates/image_p_h3_t2i-1.webp)

> [card] [Download Workflow](https://github.com/Comfy-Org/workflow_templates/blob/main/templates/image_p_h3_t2i.json)
>
> Download JSON or search "P-H3-Image: Text to Image" in Template Library

Write the request after `Request:` in the prompt box, and keep the `Aspect ratio:` line in sync with the Resolution Selector. The selector is set to 8 megapixels with a multiple of 32, which gives these canvases:

| Selector ratio | Size at 8 MP, multiple 32 |
| :- | :- |
| 1:1 (Square) | 2912 x 2912 |
| 4:3 (Standard) | 3360 x 2496 |
| 3:2 (Photo) | 3552 x 2368 |
| 16:9 (Widescreen) | 3872 x 2176 |
| 3:4 (Portrait Standard) | 2496 x 3360 |
| 2:3 (Portrait Photo) | 2368 x 3552 |
| 9:16 (Portrait Widescreen) | 2176 x 3872 |

* **Sampling**: 8 steps are the model's own schedule. More steps do not add detail, and there is no CFG or negative prompt to tune
* **Seed**: set to `randomize` for new images and back to `fixed` to reproduce the shipped example
* **Upsampled prompt**: the Preview Any node shows the rewritten prompt. It is worth reading before you change the request

## P-H3-Image image edit workflow

Edit a photo with a short instruction, using up to nine images in total.

![P-H3-Image image edit workflow preview](https://raw.githubusercontent.com/Comfy-Org/workflow_templates/main/templates/image_p_h3_image_edit-1.webp)

> [card] [Download Workflow](https://github.com/Comfy-Org/workflow_templates/blob/main/templates/image_p_h3_image_edit.json)
>
> Download JSON or search "P-H3-Image: Image Edit" in Template Library

> [card] [Input Image: image\_p\_h3\_image\_edit\_atrium\_day.png](https://raw.githubusercontent.com/Comfy-Org/workflow_templates/main/input/image_p_h3_image_edit_atrium_day.png)
>
> Source image for the workflow, or use your own photo.

Load the image you want to change into the `Load Image` node and describe the result after `Request:`. The output follows the shape of that image, so the width and height inputs on the conditioning node stay at 0.

* **Source size**: the edit is rendered at the size of the first image, scaled up to at least 4 megapixels
* **More references**: connect additional images to add `<Picture 2>`, `<Picture 3>` and further references to the prompt
* **What to keep**: name what must not change. Without that, the model tends to redraw the whole scene

## Prompting tips

1. **Say what the image is**: Open with one sentence that names the real object, for example "a photograph by an experienced street photographer" or "a two-color risograph print". This sets the look more reliably than style words
2. **Describe one scene**: Give a viewpoint, one main subject caught in a moment, a few supporting elements, and light with a source and a direction
3. **Quote every string of text**: Text without its exact words turns into pseudo-text. Put each string in quotes, keep it short, say where it sits, and end with "no other text"
4. **Leave out hype words**: Words like stunning, epic, cinematic or 8k push the model toward a glossy, oversaturated look

## Limitations

* **Lower resolutions show more artifacts**: Faces, hands and small details break more often at 2 and 4 megapixels than at 8
* **Hands and background people can break**: Small people in the background can come out distorted. Rendering at 8 megapixels helps
* **Text is not fully reliable**: Short quoted strings render well, but dense text such as body copy or long code turns into pseudo-text
* **Prompt sensitive**: Very long prompts make images worse, and very short prompts give weak results without the upsampler


This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.