PaintBox

Made with PaintBox

Quartz Lake: a park photo developed into a 12 x 20 in print

A flat, hazy National Park Service photo of Glacier became a gallery print with a split-tone grade, a graduated mask, an AI-extended sky and a masthead.

The original photo: Quartz Lake in Glacier National Park at dawn, fog over a forested ridge and a flat, hazy sky.
Before
The finished print: the same lake with a warm and cool split-tone, a taller sky, and the masthead QUARTZ LAKE, Glacier National Park, Montana.
After
  • AskedDevelop a flat, hazy park photo into a 12 x 20 inch, 300 ppi travel print with room for a masthead.
  • What the AI didGenerative Expand, which extends a picture past its edges with AI-painted pixels, added 612 px of new morning sky above the frame for the masthead. An earlier try on a cheaper model repainted the whole picture and was rejected.
  • Your callsThe split-tone grade, a hand-dragged graduated mask, where the AI seam disappears, the type, and the print size.
  • Cost300 credits (18¢). The kept expand was 191 credits (11.5¢); a rejected attempt on another model was 109.
  • TimeAbout 35 minutes hands-on, about 15 of them spent working around bugs.
  • SourcePublic domain (PD-USGov-NPS, a work of the U.S. National Park Service)

The editor was signed out for this run, so the expand was sent to Bike4Mind directly, with the same request PaintBox’s jobs worker sends for it. The result was imported back into the PaintBox document and the seam was finished by hand.

The recipe

Every step ran in the production editor unless it says otherwise. Menu paths are as the editor names them.

  1. Open the originalFile > Open…Open the 22-megapixel original, 3673 x 5510.
  2. Recover the sky, open the forestLayer > Adjustment Layer > Highlights/ShadowsHighlights -55, Shadows +18, Whites -20, Blacks -25, to bring back the blown sunrise and lift the trees.
  3. Split-toneAdjustment Layer > Color GradingCold slate in the shadows (hue 208, saturation 24), sunrise gold in the highlights (hue 36, saturation 30).
  4. Contrast and vibranceAdjustment Layer > Brightness/Contrast, VibranceContrast +14, Vibrance +22.
  5. Graduated maskAdjustment Layer > Exposure, Layer > Gradient MaskAn Exposure -0.70 layer with a hand-dragged gradient mask from the bottom edge up into the reflection, like a graduated ND filter.
  6. Extend the sky with AIAIImage > Generative Expand…; the model call itself sent to Bike4Mind directlyTarget 3673 x 6122 (3:5, a 12 x 20 print), anchored bottom centre, asking for more of the same pale morning sky. gpt-image-1.5 ignored the mask, repainted the whole frame with a pink sky, and was rejected. gpt-image-2, with a tightened prompt, took 24 seconds and was kept.
  7. Hide the seam by handFile > Import Image…, Layer > Gradient MaskPlace the AI frame as a smart object and drag a gradient mask so only the new sky shows. The first drag left a faint line; a second, started lower, removed it.
  8. Set the mastheadText tool, Move tool"QUARTZ LAKE" in Serif at 290 px, tracking 220; "GLACIER NATIONAL PARK · MONTANA" in Sans 500 at 84 px; a small photo credit at the foot. All centred numerically.
  9. Resample for printImage > Image Size…3600 x 6000, 12 x 20 inches at 300 ppi. Every layer, mask and text resamples together.
  10. ExportFile > Export > JPEGExport the print JPEG.

Credit ledger

One credit is $0.0006. Hand tools run in the browser and cost nothing.

ActionModelCreditsUSD
Open, develop, graduated masknone, in the browser0$0.000
Generative Expand, two attempts (refused, not charged; fixed since, the default is now gpt-image-2)gpt-image-10$0.000
Generative Expand (rejected on taste)gpt-image-1.5109$0.065
Generative Expand (kept)gpt-image-2191$0.115
Seam mask, type, resample, exportsnone, in the browser0$0.000
Total300$0.180 (18¢)

Source and license

What came out

  • Print JPEG, 3600 x 6000 (12 x 20 in at 300 ppi)
  • Full-resolution master PNG, 3673 x 6122
  • Before and after pair, and a detail crop of the develop

Rough edges we hit

Written down, not smoothed over.

  • The default model at the time, gpt-image-1, was refused by Bike4Mind, so another model had to be picked by hand. Fixed and deployed since: the default is now gpt-image-2.
  • Signed out, Generative Expand grew the canvas but its candidate waited for a sign-in it never offered.
  • Text bounds went stale after a font change, so the subtitle had to be recreated.
  • PSD export hung on this 22 MP document; PNG and JPEG were fine.
  • Only four generic type families, and the print JPEG carries no 300 ppi tag.

Run on 2026-11-06. More recipes · Open the editor · How AI works