Studio Poche

The “Studio Pro” ComfyUI workflow: a phone photo becomes a magazine photo

Role
Workflow design, ComfyUI nodes, image processing, measurements
Tools
  • ComfyUI
  • Qwen-Image-2.1 (GGUF Q4_K_M)
  • LoRA Lightning
  • Qwen3-VL 8B
  • Real-ESRGAN
  • OpenCV
  • NumPy
  • Python
Status
Functional
Before: a real phone photo. After: the Studio Pro master, same car, late-day light.
Before: a real phone photo. After: the Studio Pro master, same car, late-day light.
delivered master, from a 768×540 photo
3600×2400
from photo to master, measured on an M1 Pro 16 GB
201 – 235 s
stages, 26 nodes in a single workflow
7
all local, no API
0 €
The problem
Image generators reinvent the car; plain development keeps it, but without the light of a real shoot.
For whom
Individuals, sellers and garages wanting a magazine-grade photo of their real car, without a studio or editing software.
The outcome
A 7-stage ComfyUI workflow: from a 768×540 phone photo to a 3600×2400 master in 201 to 235 s, car preserved.

Context

A text-to-image model reinvents the car: wheels change, bodywork warps. The first version of Studio Poche kept the car pixel-exact with a restrained look; Studio Pro adds the light of a real shoot.

Studio Pro gives the photo to the model both as a reference and as a starting point, then restores the car’s real detail by frequency separation: light comes from the render, fine detail from the photo.

What I built

  • Lightroom-style development: robust white balance, auto exposure, highlights and shadows, denoising, sharpening.
  • Generative relighting with Qwen-Image-2.1 locally: the photo is both the reference (Qwen3-VL encoder) and the starting latent (0.8 denoise), in 4 steps thanks to the Lightning LoRA.
  • Photoshop-style subject fidelity: masking, aligning the original onto the render, then frequency separation inside the mask.
  • ×4 upscale by tiled Real-ESRGAN with margins (SPUpscale node), then optics, film grading and grain; master, before/after sheet and manifest.

Architecture 7 blocks

  1. 01 · InputPhotoPhone photo, JPEG or PNG
  2. 02 · ToolDevelopmentWhite balance, exposure, denoising
  3. 03 · ModelQwen-Image-2.1Photo as reference and latent, 4 steps
  4. 04 · ToolFidelityMask, alignment, frequency separation
  5. 05 · ModelReal-ESRGAN ×4Tiles with margins, 3:2 format
  6. 06 · ToolOptics and gradingHalation, aberration, film look, grain
  7. 07 · OutputDeliveryMaster, before/after sheet, manifest

Pipeline 7 steps

  1. PhotoAny JPEG or PNG.
  2. DevelopThe “Lightroom” pass.
  3. RelightQwen-Image, photo as reference.
  4. FidelityThe real car’s detail.
  5. UpscaleReal-ESRGAN ×4, 3:2 format.
  6. Grade85 mm optics, film, grain.
  7. DeliverMaster, sheet, manifest.

Decisions the choice, the reason, the alternative ruled out

  1. D1
    Give the photo to the model as both reference and starting latent (0.8 denoise).

    Without a reference, the car turned into another sedan; with it, the bodywork and geometry hold.

    Ruled outA low denoise without reference, tried then dropped.

  2. D2
    Restore the subject’s real detail by frequency separation.

    Light and colour come from the render, fine detail from the real photo: the car stays recognisable.

  3. D3
    Render below original size and leave high definition to Real-ESRGAN.

    Enlarging before Qwen created a repeated texture pattern; the SPUpscale node also avoids the stock node’s stripes on MPS.

  4. D4
    One GPU render at a time.

    Two MPS processes in parallel crashed the Metal driver.

Results

Measurements on 20 Oct 2026 (M1 Pro 16 GB)

ExampleSourceQwen renderMasterTotal time
Peugeot 308, real phone photo768×540672×480, 4 steps3600×2400201–228 s
Hypercar, photo degraded phone-style960×720672×512, 4 steps3600×2400230–235 s

What iterating taught us

FindingFix
Striped upscale on Apple MPS with the stock nodeNew SPUpscale node: tiles with margins (model correct, ×23 faster than CPU)
Repeated texture pattern if the photo is enlarged before QwenRender below original size, high definition comes from Real-ESRGAN
Without a reference, the car turns into another sedanPhoto as reference and 0.8 denoise
Two GPU processes in parallel crash MetalOne render at a time

Deliverables 3

  • Studio Pro workflow in editor and API versions, generated from a single spec.
  • The code of the 9 Studio Poche nodes, installed as a ComfyUI pack.
  • Two complete examples: intermediate stages, 3600×2400 masters, sheets and manifests.

Environment

Hardware and measurement setup

  • Measured on a MacBook Pro M1 Pro 16 GB, one GPU render at a time.
  • Generative part under the Qwen Research licence (non-commercial).

Gallery 9

Smartwatch on a table: product packshot, table hole removed, sharp screen thanks to high-definition fusion. Original photo: 茅野ふたば, CC BY-SA 4.0 (Wikimedia Commons).
Espresso on a terrace: soft morning light, porcelain and crema brought out. Original photo: Benoît Prieur, CC0 (Wikimedia Commons).
Katsu bowl: food-magazine style, detailed crumbs and ginger. Original photo: ウィ貴公子, CC BY-SA 4.0 (Wikimedia Commons).
Camera by the Rhine: golden late-day backlight. Original photo: Anil Öztas, CC BY-SA 4.0 (Wikimedia Commons).
Vintage car on display in a restaurant: warm light, Portra film look, plate blurred. Original photo: Benoît Prieur, CC0 (Wikimedia Commons).
The workflow in ComfyUI: seven groups, from phone photo to master, with previews of every stage.
The 3600×2400 master (downsized here), plate blurred.
Second example: a photo degraded phone-style, then the Studio Pro master.
The first version, without AI: development and optics only, car untouched.

What this project means for you

The same know-how, on your problem.

01

Your photos, magazine version

A phone photo becomes a presentable visual, and your product stays exactly yours.

02

A workflow your team opens

Seven readable groups in ComfyUI, every setting visible and editable.

03

Nothing leaves your premises

100% local processing, nothing sent to an online service.