Skip to content
Pro Retouch

AI retouching at delivery time, not in a separate editor

Cloudinary-powered preset chains for auto-color, exposure, and skin smoothing apply at the URL level — no batch render queue, no separate editor app, no waiting for jobs to finish. Per-photo isRetouched tracking so your team always knows what's been polished.

URL-time
Retouching at delivery
4+
Preset chains
Per-photo
isRetouched flag
0s
Render queue wait

Retouching baked into the delivery URL — no render queue

Cloudinary transformations apply at the moment the customer requests the photo. Auto-color, exposure correction, and skin smoothing run inside the CDN, not on a separate render server. The customer's browser pulls a polished JPEG; your team didn't wait 20 minutes for a Lightroom batch export to finish.

  • Cloudinary edit chain composed into the signed URL
  • Per-photo edit list stored as editApplied[] string array
  • cloudinaryId_edited tracks the post-edit asset key
  • No batch render queue, no rendered-file storage to babysit
  • Original cloudinaryId always preserved for re-edits
  • Apply, undo, or change presets without re-uploading
Retouching baked into the delivery URL — no render queue feature illustration

Preset chains for the most common edits

Four shipping preset chains cover the photographer's daily 80%: auto-color for white-balance fixes, exposure for over- or under-shot frames, skin-smoothing for portrait work, and batch-portrait for a session-wide polish. Custom adjustments compose on top of any preset chain.

  • auto-color — white balance + saturation correction
  • exposure — over/under-exposure correction
  • skin-smoothing — portrait-grade softening
  • batch-portrait — session-wide preset chain
  • Custom adjustments stack on top of any preset
  • Adjustments stored declaratively, not re-rendered
Preset chains for the most common edits feature illustration

Authenticated admin API with org scope verification

/api/admin/retouch is gated by NextAuth and verifies the photo belongs to caller's org before applying any edit. Request the edits you want, scope is checked, transformation chain composed, isRetouched flag flipped, edit list persisted. No drive-by retouch attacks across organizations.

  • POST /api/admin/retouch — applies edits, persists state
  • Org scope verified before any edit
  • Edits applied atomically inside a Prisma transaction
  • Photo.isRetouched flipped to true on first edit
  • editApplied[] array tracks every preset that ran
  • Edit history retained for client-facing 'last polished by' display
Authenticated admin API with org scope verification feature illustration

Per-photo isRetouched flag for production workflow

Every Photo carries an isRetouched boolean. Your team's gallery view filters to only the un-retouched shots so nothing slips through unedited. Customer-facing galleries show the polished version automatically; the original stays addressable for re-edits.

  • isRetouched indexed for fast 'needs polish' queries
  • Filter gallery to retouched / un-retouched in admin UI
  • Original cloudinaryId always preserved
  • Re-edit anytime without re-uploading
  • Edit list visible to managers for quality audits
  • Pairs with AI-culling so only un-rejected shots get polish
Per-photo isRetouched flag for production workflow feature illustration

Everything included

No feature gates. No hidden upgrades. Get the full experience from day one.

Cloudinary preset chains

auto-color, exposure, skin-smoothing, batch-portrait shipping presets.

URL-time transformations

Edits compose into the signed URL — no render queue, no rendered-file storage.

isRetouched flag

Per-photo boolean indexed for fast quality-control queries.

editApplied[] array

Persistent log of every preset that ran, for audit and re-application.

cloudinaryId_edited

Tracks post-edit asset key while preserving the original.

Custom adjustments

Stack arbitrary Cloudinary transforms on top of any preset chain.

Authenticated admin API

/api/admin/retouch gated by NextAuth + org scope verification.

Atomic Prisma transaction

Edits applied + flag flipped + log persisted in one DB transaction.

No batch queue

Cloudinary serves edits in-line; nothing to babysit.

Re-edit anytime

Original preserved; pre-existing edits compose with new ones cleanly.

Pairs with AI culling

Only un-rejected photos enter the retouch pipeline.

Quality audit trail

Managers see edit list per photo for production sign-off.

Who it's for

Wedding photographers

Apply skin-smoothing and exposure correction across a 400-photo wedding gallery in seconds. The customer pulls polished images; nothing renders until requested.

Resort photographers shooting under harsh sun

Auto-color preset corrects pool-deck white balance and overcooked oranges. Photographer doesn't open Lightroom for 50 routine fixes per day.

Studios with a quality-control supervisor

Supervisor filters to isRetouched=false in the gallery view. Polish them, flip the flag, supervisor signs off. Production pipeline becomes auditable.

Anyone who's tired of render queues

No batch render server to maintain. No waiting 20 minutes for an export to finish. Edit, save the edit list, the URL serves the polished version on the next request.

Full feature list

Cloudinary URL-time transformations
auto-color preset
exposure preset
skin-smoothing preset
batch-portrait preset chain
Custom adjustments compose on top
editApplied[] persistent log
cloudinaryId_edited tracks post-edit
Per-photo isRetouched flag (indexed)
Filter gallery to needs-polish
Authenticated admin API
Org scope verified per request
Atomic Prisma transaction
Original cloudinaryId preserved
No batch render queue
Re-editable without re-upload
Edit history for QC sign-off
Pairs with AI culling pipeline

Zno's Pro Retouch charges $0.50–$3 per image and runs as a separate render farm. Lightroom presets need a desktop and a render queue. Fotiqo's retouch chain composes into the Cloudinary URL — the polished JPEG appears the moment the customer asks for the photo, with full audit trail of which presets ran.

Compare plans

“Fotiqo has everything I need in one place. I stopped paying for four separate tools and my workflow is so much simpler now.”

Sarah Chen, Wedding Photographer

Ready to get started?

Free to start. No credit card. No monthly fees on the Starter plan.

Try Pro Retouch