Nodes/saya-comfy-couple-plus/Saya Image Review · Continue / Restart New Seed
ComfyUI Node

Saya Image Review · Continue / Restart New Seed

The 'like it or roll again' checkpoint that gates your whole pipeline

By alphaziod·Created 3 months ago·Updated about 15 hours ago· 3
Saya Image Review · Continue / Restart New Seed
  • image
  • image
  • candidate_manifest
seed0
positive_prompt
negative_prompt
models_json[]
vaes_json[]
samplers_json{}
checkpoint_rootimage/checkpoints

This node is the human gate at the end of pass 1. In the pack's six-pass automated pipeline, phase 1 is base generation - and before the workflow burns an hour running hires, a refiner, upscales and detailers on an image you hate, somebody has to look at it and decide: continue, or throw it away and roll a new seed. SayaImageGenerationReview is that somebody. It's an output node that saves the phase-1 result to disk and pops a preview in your browser with two buttons - CONTINUE · PASSE 2 and RESTART · NOUVELLE SEED.

The flow is built into the node's frontend behavior, so it works automatically: when the node finishes executing, it writes the image as a phase-1 candidate (image plus a JSON manifest), shows the real preview, and waits. Click Continue and it validates the candidate (promotes it to the approved checkpoint), unloads VRAM, and queues pass 2 a couple of seconds later. Click Restart and it discards the candidate, rolls a fresh random seed into your master seed node, and re-runs pass 1 - deliberately without unloading, so rerolls are fast and you're not reloading the checkpoint each time you reject an image.

The inputs that matter

  • image - your finished phase-1 output, decoded.
  • seed - the seed used, so the manifest records exactly what produced this image.
  • positive_prompt / negative_prompt - the prompts, recorded into the manifest.
  • models_json / vaes_json / samplers_json - JSON describing which checkpoint, VAEs and sampler settings were used. Important to understand: these are record-keeping, not execution. Nothing here controls what runs; the values are written into the manifest so a later phase (or you, debugging later) knows what produced the candidate.
  • checkpoint_root - where the checkpoint files live, relative to ComfyUI's output folder. Default image/checkpoints, which resolves to ComfyUI/output/image/checkpoints/.

Outputs are image (passed through) and candidate_manifest (the JSON manifest, also embedded into the saved PNG's metadata as saya_phase_manifest, and exposed to the frontend as saya_review).

When you'd use it

If you're running the author's full auto pipeline, this is the designated end of phase 1 - place it after your base sampler's VAE decode. If you're not running that pipeline, skip it; a plain SaveImage/PreviewImage plus manual judgment does the same job without the checkpoint ceremony. The value here is entirely the automation: one review point that decides whether five more expensive passes run.

Honest caveats: the review popup is driven by the pack's bundled frontend JS, so if your ComfyUI is running in an unusual frontend or the extension's web/ folder isn't loading, you may not see the buttons - the node still saves the candidate correctly, and you can validate or discard it manually via the HTTP endpoints (/saya/image-phases/validate and /saya/image-phases/redo). The pack is WIP, and phase-1 review is the piece most likely to get UI reshuffles between versions. Also note the UI strings are partly French ("PASSE 1 TERMINÉE") - that's the author's own frontend, not a bug.

Install: ComfyUI Manager search saya-comfy-couple-plus, or git clone https://github.com/alphaziod/saya-comfy-couple-plus into custom_nodes and restart. Only numpy/Pillow as deps; no model downloads.

CategorySaya/Image Phases

Inputs (8)

NameTypeDefaultDescription
imageIMAGE
seedINT00–18446744073709550000
positive_promptSTRING
negative_promptSTRING
models_jsonSTRING[]
vaes_jsonSTRING[]
samplers_jsonSTRING{}
checkpoint_rootSTRINGimage/checkpoints

Outputs (2)

NameTypeDescription
imageIMAGE
candidate_manifestSTRING