Home  /  Image Bank

🎨 2,483 images · 12 / 22 industries · live

Real industry imagery. SDXL fallback. Filecoin-mirrored.

DCS Image Bank is the curated R2 bucket that every Platform build pulls from when a stock photo would be cheaper than a generated one — backed by a three-step SDXL fallback chain. 2,483 images, 12 verticals shipped, expanding to 22, with the full catalogue mirrored to Filecoin.

CC-BY · provenance signed · auditable
SDXL fallback chain

Three steps to a real image

Pre-built bucket first — own-GPU SDXL when the bucket misses — Replicate as the final fallback. AI_IMAGES_ENABLED gates the whole chain.

📁
1. Prebuilt R2 bucket 2,483 curated images across 12 verticals — served from images.dcsai.ai
🖥
2. Own-GPU SDXL Stable Diffusion XL on the DCS RunPod fleet — matches the bucket's style
🌐
3. Replicate fallback Hosted SDXL when own-GPU is saturated — same prompt, different metering

The bucket handles ~80% of requests today; SDXL covers ~18%; Replicate ~2%. Behind the AI_IMAGES_ENABLED flag — per-tenant rollout.

22-vertical coverage · 12 shipped, 10 in production

Honest status per vertical

Each chip shows the live image count and whether the vertical is fully covered or still rolling out.

🍽Restaurant312LIVE
🩺Healthcare244LIVE
🏠Real Estate221LIVE
🛒E-commerce198LIVE
💄Beauty & Salon214LIVE
Law Firm186LIVE
🏋Fitness240LIVE
SaaS156LIVE
🎓Education208LIVE
Travel232LIVE
Café172LIVE
🎉Events100LIVE
🦷Dental0QUEUED
👗Fashion0QUEUED
📊Accounting0QUEUED
🏨Hotels0QUEUED
🚗Car Rental0QUEUED
📢Marketing0QUEUED
🏗Construction0QUEUED
📷Photography0QUEUED
💼Consulting0QUEUED
🔧Automotive0QUEUED

Total today: 2,483 images across 12 industries. Target: 30,000-50,000 images across all 22 by end of 2026.

Filecoin permanence

Every image mirrored. Every license traceable.

The entire bank, the image-bank-manifest.json and every generated SDXL image used in a published site are auto-pinned to Filecoin through Storage. The CID for any image is a stable, verifiable handle — survives DCS, survives Cloudflare, survives the brand.

  • Auto-pin on publish — via Storage's Compute artifact hook
  • image-bank-manifest.json committed to the repo with every release
  • Per-image SHA-256 + CID in the manifest — tamper-evident
  • S3-compatible read URLs at images.dcsai.ai
image-bank-manifest.jsoncommitted · signed
{ "version": "phase-v1", "total": 2483, "industries": 12, "bucket": "dcs-image-bank", "images": [ { "id": "rest-int-014", "path": "restaurant/interior/014.webp", "sha": "a4e7…9f31", "cid": "bafy…7c4a9" }, /* 2,482 more */ ] }
manifest signed · mirrored to Filecoin
image-bank.ts · live

One call. Stock or generated. Same surface.

The Platform pulls from the bank by vertical + tag; falls through to own-GPU SDXL when there's no acceptable match; the response carries the source (bucket / SDXL / Replicate) and a signed receipt.

  • Pull by vertical + section + tag
  • Falls through to SDXL with a matched-style prompt
  • Returns source · CID · receipt on every call
  • Used by Platform builds and Agent runs alike
image-bank.tsAPI
import { imageBank } from "@dcs/image-bank"; const img = await imageBank.get({ vertical: "restaurant", section: "interior", tag: "warm-evening", }); // img.source: "bucket" | "sdxl" | "replicate" // img.url: "https://images.dcsai.ai/…" // img.cid: "bafy…7c4a9" // img.receipt:"r2:9f3c…a17"
matched in bucket · receipt signed
Honest status

What ships, what's queued

Live: 2,483 images on Cloudflare R2 (dcs-image-bank bucket → images.dcsai.ai), 12 verticals covered. Used in production by the Platform's build pipeline. SDXL fallback chain is wired and gated by AI_IMAGES_ENABLED.

Queued: 10 more verticals (Dental, Fashion, Accounting, Hotels, Car Rental, Marketing, Construction, Photography, Consulting, Automotive). 3-staff Grok image workflow lined up for ~2,920 images / ~5 days. industry-image-seeds.ts wiring lands as each vertical drops.

Target: 30,000-50,000 images across all 22 verticals by end of 2026 — honest target, not a guarantee. Compounded by SDXL-on-demand for long-tail prompts.

2,483Images in the bank
12 / 22Verticals covered
3-stepSDXL fallback chain
R2 + FilecoinEdge + permanence
SHA-256Per-image, in the manifest
FAQ

Image Bank questions

Are these real photos or AI-generated?
A curated mix. The pre-built bucket is mostly licensed photography; SDXL fills the gaps for vertical-specific shots. Every image carries a source tag (bucket / sdxl / replicate) on the API response.
What about licensing?
Bucket images are licensed for DCS-built site use; the manifest carries the license string per-image. SDXL-generated images are output of your prompt and owned by your tenant under the terms of use. Sovereign mode runs your own bucket + your own SDXL.
How do I add a vertical?
Two paths: contribute curated images to the bucket via the partner workflow, or supply a seed prompt set to industry-image-seeds.ts and the own-GPU SDXL fleet drafts the first 100. Either way the manifest gets updated and re-pinned.
What's the CID for?
The Filecoin content-addressed identifier. Means anyone can pull the exact bytes from any Filecoin gateway, independent of DCS. The receipt chain binds the CID to the build that used it.
Can I use the bank without DCS Platform?
Yes — the API is callable with an API key (imageBank.get(...)). Per-call metering applies; fair-use limits per plan.
What if I need a specific shot the bank doesn't have?
The own-GPU SDXL covers most of the long tail. If SDXL doesn't get it right, Replicate's fallback can run an alternative model on the same prompt — the response tells you which path won.
How does this compose with Sovereign?
In a Sovereign pod, the bank is your own R2-equivalent bucket, the SDXL fleet is your own GPU, and the Replicate fallback is disabled by default (no egress). The API surface stays the same.
Works with

The four products that pull images

Real imagery, on demand, mirrored.

2,483 today — 30,000-50,000 by end of 2026 — every byte signed and CID-addressed.

Use the bank Coverage status