Driver FixRecommendedSound, Wi-Fi or graphics acting up? Check drivers firstFind missing or outdated drivers fast.Check DriversOctober DealsAmazon USOctober deal check: compare before you payAmazon US: current deals, useful picks and tech finds.Check DealsWindows FixRecommendedWindows errors stealing your time? Find the fix fastScan stability, cleanup and performance issues.Fix Now×
Skip to content
World desk5 min

Old-Photo Colorizing on Cloudflare Workers: What Worked, What Broke

Jason Guo explains the architecture behind Colorize Old Photos and the lessons he learned about slow inference, photo restoration, provider retention, free-preview limits, and deployment configuration.
Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.

I built Colorize Old Photos to colorize black-and-white pictures and repair scratches, creases, and fading. The main lesson: treat slow image generation as an asynchronous job, treat restoration as a separate task from colorization, and account for every provider that may retain an uploaded or generated image. The implementation details and model observations below are my own report, not independently reproduced tests.

What I built and how the pieces fit

I’m Jason Guo, the maker of Colorize Old Photos. The app offers a free watermarked preview and one-time credit packs for full-resolution downloads; it does not use a subscription. Its reported stack combines a Next.js 16 App Router application deployed to Cloudflare Workers with OpenNext, D1 for accounts, credits, jobs, and rate limits, and R2 for uploads and results. A one-day lifecycle rule removes stored objects from R2. Cloudflare Images creates a watermarked 720-pixel preview. For the AI steps, I used fal.ai’s fal-ai/ddcolor for colorization and fal-ai/nano-banana-2/edit at 2K for restoration. PayPal Orders v2 and a webhook handle payments; Google OAuth and email magic links handle sign-in. Source account

As an Amazon Associate I earn from qualifying purchases.

This is an account of one implementation and its reported behavior. It is not a controlled comparison of models, a general benchmark, or a complete cost analysis.

What’s actually slowing this PC down?

Pick the symptom - the matching free tool is one click away.

Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.

Why model inference became a background job

A model call that can take a long time is a poor fit for a browser request that must remain open. In my experience, a cold DDColor start could take about 90 seconds. That is my approximate observation, not a benchmark or an industry-wide latency figure.

#1 Best Overall
Plustek ePhoto Z300 Photo Scanner - CCD Sensor Scan 4x6 Photos in 2 sec
  • The easiest way to scan photos and documents. Supports 3x5, 4x6, 5x7, and 8x10 in sizes photo scanning but also letter and A4 size paper. Optical Resolution is up to 600 dpi ( PS: two setting: 300dpi/ 600dpi).
  • Fast and easy, 2 seconds for one 4x6 photo and 5 seconds for one 8x10 size photo@300dpi. You can easily convert about 1000 photos to digitize files in one afternoon and share with your family or friends.
  • More efficient than a flatbed scanner. Just insert the photos one by one and then scan. This makes ePhoto much more efficient than a flatbed scanner.
  • Powerful Image Enhancement functions included. Quickly enhance and restore old faded images with a click of the mouse.

I made generation a job flow instead: the application stores a job, returns its ID to the client, and the client polls for fal’s status. When the provider reports progress or completion, the application advances the stored job. This keeps the user-facing request from having to stay open for the entire inference run and gives the app a durable place to track the work.

  1. Create and persist the job. Record the requested operation and enough state to reconnect it to the user and resulting media.
  2. Return an identifier promptly. The client receives a job ID rather than waiting for the model output in the original request.
  3. Poll provider status and advance state. Use the provider’s status to move the stored job through its lifecycle and make the result available when it is ready.

The exact polling interval, retry policy, and timeout behavior are not specified in my account, so this should be read as the architecture I used rather than a fully prescribed implementation recipe. Source account

Rank #2
Sale
Epson FastFoto FF-680W High-Speed Duplex Photo and Document Scanner
  • HIGH-SPEED PERSONAL PHOTO SCANNER¹ — Scan thousands of photos as quickly as 1 photo per second at 300 dpi ²; Further increasing your efficiency, this Epson picture scanner also allows you to batch-scan up to 36 photos at a time
  • PRESERVE YOUR PRICELESS PHOTOS — Photo scanner for transforming old pictures to digital fast; Restore, organize, protect, and share your special photos; Scan Polaroid photos, panoramas, postcards, and photos up to 8 x 10 in
  • SHARE STORES FOR FUTURE GENERATIONS — After scanning your photos with this Epson FastFoto scanner, use the Epson FastFoto app³ to add voice and text over your photos, or create slideshows right from your smartphone
  • PRECISE PICTURE IMAGING SYSTEM — When you use this wireless, high-speed scanner you can bring new life to old photos with the help of auto enhancement, color restoration, red-eye reduction, de-skew, crop, and rotate
  • SINGLE-STEP TECHNOLOGY — With this double sided scanner you can capture both the image and any handwritten notes on the back of a photo in a single scan; Duplex scanner's functionality helps you preserve what matters

Colorizing and repairing damage needed different workflows

Adding plausible color and removing physical-looking damage are not the same operation. I tested a damaged public-domain Library of Congress photo. In that reported test, CodeFormer plus DDColor added color but did not repair scratches or creases, and CodeFormer smoothed faces. I therefore used DDColor for colorize-only requests and an image-editing model for restoration. That is my observation on this example, not a universal model ranking.

Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.
Workflow Intended task Reported effect on damage and faces Duration and retention considerations
Colorize only: fal-ai/ddcolor Add plausible color to a black-and-white image. My reported CodeFormer-plus-DDColor test did not remove scratches or creases, and CodeFormer smoothed faces; I used DDColor alone for colorize-only requests. A cold DDColor start could take about 90 seconds in my observation, so I handled it as a job. I added an expiry preference to each fal submit request to address the provider’s generated-media copy.
Colorize plus restoration: fal-ai/nano-banana-2/edit at 2K Colorize while also addressing visible damage such as scratches, creases, and fading. I selected an image-editing model for restoration after the reported test showed colorization alone did not repair the visible damage. My account does not provide a controlled quality comparison for this model. My account does not state a separate duration comparison. The same provider-retention check matters for generated media.

These workflows reflect the needs of the image, not a declared overall winner. My account does not establish a controlled quality comparison or complete price comparison between them. Source account

Rank #3
Canon Canoscan Lide 300 Scanner (PDF, AUTOSCAN, Copy, Send)
  • Scanner type: Document
  • Connectivity technology: USB
  • With Auto Scan Mode, the scanner automatically detects what you're scanning
  • Digitize documents and images

Deletion promises must include provider copies

My app used a one-day R2 lifecycle rule, but that alone did not cover a copy of generated media held by fal. I added X-Fal-Object-Lifecycle-Preference with a 3600-second expiry to each submit request. I report verifying that the file then stopped being served. In my words: “If you promise deletion, check your providers’ copies too.”

The practical point is to map retention across the entire media path, not just the storage bucket you control. Check uploaded originals, intermediate files, generated outputs, previews, and any copies held by inference or image-processing providers. The one-day R2 rule and fal expiry preference applied to my setup; they do not establish the retention behavior of other services or configurations. Source account

Rank #4
Sale
Epson Perfection V19 II Flatbed Photo Scanner 4800 dpi Optical Resolution
  • Amazing image clarity and detail — 4800 dpi optical resolution (1), ideal for photo enlargements
  • Epson ScanSmart software included (4) — easily scan photos, artwork, illustrations, books, documents and more
  • One-touch scanning (2) — scan in fewer steps with easy-to-use buttons (2)
  • Restore color to faded photos — with one click, Easy Photo Fix technology makes it simple
  • Scan books and photo albums — high-rise, removable lid
Independent reader supportYour contribution helps us test, update, and keep practical guides available for everyone.Support on Ko-Fi

Free previews need explicit abuse and spend controls

A free preview still triggers paid or resource-intensive processing. I used several controls together rather than relying on a watermark alone:

Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.
  • A daily budget cap in USD.
  • Fixed-window request limits in D1 keyed by IP address, subnet, and device.
  • Turnstile.
  • Upload moderation.

These are the controls I reported using; my account does not give numerical rate-limit thresholds or a full incident analysis. Budget limits constrain exposure to runaway inference spend, while request limits and moderation address different paths to abuse. Source account

Best Value
AMBIR Photo Scanner with Photo Cleaning Kit Bundle – Scan Photos in Seconds, Auto Crop & Deskew, 300/600 DPI High Resolution Scanning, Restore & Organize with Software, Mac & PC Compatible
  • Scan Photos in Seconds – Quickly digitize printed photos and preserve your memories for a lifetime.
  • Handles Multiple Photo Sizes – Scan 3"×5", 4"×6", 5"×7", 8"×10", small 1"×1" photos, and panoramic images up to 12".
  • High-Quality Resolution Options – Choose between crisp 300 DPI or ultra-high 600 DPI scanning for archival-quality images.
  • Clean & Protect Delicate Photos – Keep photos pristine with the photo cleaning kit that includes a bellow-based blower, microfiber cloth and anti-static soft brush. Protect fragile prints and safely scan with the protective carrier sheet.
  • Import Your Existing Digital Photos – Upload images from Apple Photos, Google Photos, digital cameras, memory drives, and more to keep everything together in Picture Studio by AMBIR.

Two setup details worth handling before launch

Convert HEIC before sending it through the image pipeline

In my setup, Cloudflare Images could not decode HEIC. Since iPhone photos may arrive in that format, I converted them client-side before upload. This is a report about the configuration I used, not a claim that every image service or future version has the same limitation. Source account

Make build-time variables available to Workers Builds

I found that NEXT_PUBLIC_* values had to be configured as build variables in Workers Builds. I also set keep_vars: true so wrangler deploy would preserve variables configured only in the dashboard. These settings mattered because build-time public values and deployment-time configuration do not necessarily travel through the same path. Source account

What this account does and does not establish

The deployment, latency estimate, and image observations here come from my account as the app’s maker. They are not independently verified, and the reported Library of Congress image test is not a benchmark across models or photographs. The source page displays “Posted on Oct 1” but does not state a publication year, so no year is attached to these observations. Source account

Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.

Quick Recap

Bestseller No. 3
Canon Canoscan Lide 300 Scanner (PDF, AUTOSCAN, Copy, Send)
Canon Canoscan Lide 300 Scanner (PDF, AUTOSCAN, Copy, Send)
Scanner type: Document; Connectivity technology: USB; With Auto Scan Mode, the scanner automatically detects what you're scanning
$75.00
SaleBestseller No. 4
Epson Perfection V19 II Flatbed Photo Scanner 4800 dpi Optical Resolution
Epson Perfection V19 II Flatbed Photo Scanner 4800 dpi Optical Resolution
One-touch scanning (2) — scan in fewer steps with easy-to-use buttons (2); Scan books and photo albums — high-rise, removable lid
$70.99
Bestseller No. 5
AMBIR Photo Scanner with Photo Cleaning Kit Bundle – Scan Photos in Seconds, Auto Crop & Deskew, 300/600 DPI High Resolution Scanning, Restore & Organize with Software, Mac & PC Compatible
AMBIR Photo Scanner with Photo Cleaning Kit Bundle – Scan Photos in Seconds, Auto Crop & Deskew, 300/600 DPI High Resolution Scanning, Restore & Organize with Software, Mac & PC Compatible
Simple USB Connection – Powered and connected with a single USB cable for quick setup.; 2-Year Warranty – Purchase with confidence backed by a 2-year manufacturer warranty.
$149.95

Product prices and availability are accurate as of the date/time indicated and are subject to change. Any price and availability information displayed on Amazon at the time of purchase will apply.

Leave a Reply

Your email address will not be published. Required fields are marked *

Free tools Windows power users keep installed

One-click scans. No signup required.

Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.

More from the Wire

  1. World desk4 min
    How to Spot an AI Voice Scam Before Sending MoneyDon’t rely on how a caller sounds. Pause, call back through a known number, and verify the emergency with another trusted person before sending money.
  2. Mountain View desk4 min
    Google’s SynthID Detector: How to Check AI-Generated Images, Video and AudioGoogle’s SynthID Detector looks for an embedded watermark in supported images, video and audio. Here is what its results do—and do not—show.
  3. Redmond desk20 min
    How to create a link to File or Folder in Windows 11Windows 11 gives you several ways to point to a file or folder without moving or duplicating it. You can create a desktop shortcut,…
Recommended PC Tool
Recommended PC Tool
PC Slower Than It Used to Be?Free scan - under a minute
Crashes, No Sound, or Screen Glitches?Free driver scan

Two free Windows tools

One Free Minute Could Fix That PC

Before you go - each of these free tools takes about a minute and tackles what quietly slows a Windows PC down.

Special offer. View Outbyte info, uninstall instructions, EULA, and Privacy Policy.