Tier 1 · coreEvery feature builds on the same promise — your brand, untouched.
One through-line runs through everything Drishti does: ingest · analyse · brand-lock · generate · verify · ship. The pipeline is the product. The modes are how you call it. The Vault is what it answers to.
- 8-stage verification
- 14 modes · 18 aesthetics
- Brand Vault with 4 locks
- MCP + REST + GraphQL
Eight stages between an upload and a shipped frame.
Every generation that leaves Drishti has been through all eight. Stages 3-5 are where the model writes pixels; stages 1-2 and 6-8 are where Drishti decides whether those pixels are allowed to ship.
- 01
Ingest
Presigned R2 upload, EXIF + GPS stripped, resized to 2048 px, hashed with pHash + SHA-256 so the same photo never bills twice.
- 02
Analyse
Gemini 3 Pro with googleSearch grounding reads the brand DNA — name, hex colors, exact label text, logo description, category — and cites its sources.
- 03
Matte
BiRefNet-HR (or ZIM, for glass and reflective surfaces) extracts a soft alpha matte. No binary masks — edges stay believable.
- 04
Composite
Path A is the default for text- and logo-heavy products: scene-only generation, original cutout pasted back, PCT-Net harmonisation, IC-Light V2 relight.
- 05
Generate
Path B is reserved for simple shapes: direct gen with declared image roles, anchor instruction repeated twice, hex + verbal color anchoring, always 2K.
- 06
Verify
Pixaris orchestrates DINOv2 + SAM-2 + PaddleOCR + ΔE-2000 + a Gemini judge. Score is a weighted blend, not a vibe. P50 verify is 7 seconds.
- 07
Decide
≥75 ships. 60-74 warns. 40-59 auto-retries. <40 falls back to composite or refunds the credit. OCR Levenshtein > 0.5 on text — never ships, ever.
- 08
Ship
C2PA + IPTC AI signature embedded, asset stored, library updated, fidelity card rendered. Thumbs-down feeds Mistake Memory — the verifier remembers your taste.
Not a prompt box. Studio recipes for the work your category actually ships.
Each mode wraps the same verification pipeline with a different question — what does “hero shot” mean for apparel, for spice, for jewellery, for compliance? Drishti answers fourteen of them out of the box.
Tier 1 · core
Tier 1 · coreMarketplace Export
27+ platform presets, pre-flight QC linter, C2PA metadata in one pass.
Try in studio
Tier 1 · coreMulti-Angle Set
Seven to nine angles from a single upload — the Flipkart requirement, solved.
Try in studio
Tier 1 · coreBackground at Volume
Hundred-photo batch background swap. Solves the 300-hour-a-year Etsy problem.
Try in studioAd Creative Batch
Ten to fifteen Meta, Google, and TikTok variants weekly — captioned and sized.
Try in studioBrand-Lock Catalog
The Monday-versus-Thursday drift problem, fixed. 54% conversion impact.
Try in studioColor Match (ΔE)
Fidelity to real-world product color. 30% reduction in returns from photo mismatch.
Try in studioFix-One-Thing
Masked edits, no credit charge under 20% of the canvas. The universal Canva-rage fix.
Try in studioGhost Mannequin
Apparel hero shot — ₹1,200-4,000 per image traditionally, twelve seconds now.
Try in studioIndia-Compliance Overlay
MRP, FSSAI, BIS, origin block. Legal Metrology Rule 6(10A), already implemented.
Try in studioA vault, not a style guide. It says no when something drifts.
The Vault is the part of Drishti that disagrees with the model. Four locks set how much wandering you accept; a completeness score tells you the locks have something real to clamp to; mistake memory makes the verifier remember your taste.
ΔE 20 OK → ΔE 2 enforced as the slider rises
Loose match → exact framing from refs
Rough family → verbatim, font preserved, OCR-gated
Reinterpret → 0.95 IoU silhouette, composite-primary forced
A representative editor. Real one is interactive; this one is here so you can see the shape of the contract.
Four sliders, not four switches
Color, composition, typography, and shape each move 0-100. Each slider tunes the prompt language and the verifier threshold at the same time.
References with declared roles
Five upload slots, each tagged anchor / style / prop / forbidden, weighted 0.0-1.0. The forbidden role tells the model what your brand never does.
OCR that reads देवनागरी
PaddleOCR with a fine-tuned Devanagari head. Your Diwali pack reads correctly. So does your Tamil, Bengali, Gurmukhi, and Kannada label.
Mistake Memory, per-brand
Every thumbs-down is logged with a region polygon and a severity. Future generations carry the last five as a negative prefix until you mark them resolved.
Completeness score
Weighted from colors, typography, refs, voice, category research, and active mistake memory. Under 50 is red. Over 80 is green. The Vault Doctor wizard tells you what's missing.
Override is logged, not hidden
Three bypasses per seat per day, every one logged with a reason. If Approval Workflow is on, the bypass auto-flags the gen for_review.
Random, and good. The quality gate makes the difference.
Drishti’s chaos engine fans your hero out across eighteen vetted aesthetics — weighted to your category, bounded by your Brand Vault. Every concept is verified before it surfaces; anything below 70 fidelity is resampled in-flight, and the credit only burns on the ones that ship.
- Cinematic Noir#1a1614
- Editorial Minimal#e6e3dc
- Vermeer Chiaroscuro#3d2a18
- Pichwai Whisper#9a6a1d
- Ghibli Warmth#d49c66
- Bauhaus Grid#c93b2a
- Art Deco Gold#b08d3a
- Cottagecore Pastoral#a7b58d
- Mughal Miniature#234a8c
- Warli Folk#9a4327
- Cyberpunk Neon#2a0e3a
- Dreamy Pastel#e7c6cf
- Vintage Kodak#caa874
- Surreal Dalí#3a6480
- Renaissance Still Life#4a2e1c
- Streetwear Brutalist#4a4a4a
- Maximalist Pop#c93b8d
- Documentary Natural#7a705e
Every concept passes the §2.5 verifier. Coherence below 70 triggers a single in-flight resample; persistent failure auto-refunds the credit.
Beauty leans Pichwai and Dreamy Pastel. Tech leans Cyberpunk and Bauhaus. Jewellery leans Vermeer and Art Deco. You can override the dial.
Every chaos drop has a Chain — the seed prompt, the aesthetic, the references, the fidelity card. Promote one to production with a single button.
Drive generation from your editor.
Drishti MCP
Claude Desktop, Claude Code, Cursor — point any MCP client at 13-204-237-151.nip.io/api/mcp and your IDE can generate, verify, and ship images on your behalf. Fourteen tools, four resource schemes, three prompt templates. OAuth or static key, your call.
- Streamable HTTP transport with SSE for live generation progress
- Session resumption with a 24h TTL — Claude can pause and resume
- Same verifier as the studio — same fidelity floor, same refunds
- Public REST + GraphQL endpoints for non-MCP workflows
claude mcp add drishti --transport http \
https://13-204-237-151.nip.io/api/mcp \
--header "Authorization: Bearer dr_live_..."curl -X POST https://13-204-237-151.nip.io/api/mcp \
-H "Authorization: Bearer dr_live_..." \
-H "Content-Type: application/json" \
-d '{
"jsonrpc": "2.0",
"method": "tools/call",
"params": {
"name": "generate_image",
"arguments": {
"brand_vault_id": "vault_essence_nocturne",
"mode": "marketplace_export",
"platforms": ["amazon_in", "flipkart", "myntra"]
}
},
"id": 1
}'Full REST reference at /docs/api · official TypeScript SDK at npm i @drishti/sdk · mint a key at /settings/api-keys.
Webhooks
Stream workspace events to your own systems. Slack notifier, BI pipeline, Zapier proxy — we POST signed JSON to your endpoint with retry, and your in-house code can react.
- Five events — generation.shipped / failed / refunded, brand.created / mistake.added
- HMAC SHA-256 signature header with replay-attack tolerance
- Five-attempt exponential backoff (1s → 81s) with per-attempt log
- Self-serve subscription management + secret rotation
curl https://13-204-237-151.nip.io/api/webhooks \
-H "Authorization: Bearer dr_live_..." \
-H "Content-Type: application/json" \
-d '{
"url": "https://your-domain.example/drishti-webhook",
"events": ["generation.shipped", "generation.refunded"]
}'import { verifyWebhookSignature } from "@drishti/sdk/webhooks";
app.post("/drishti-webhook", express.raw({ type: "application/json" }), (req, res) => {
const ok = verifyWebhookSignature(
req.body.toString(),
req.header("X-Drishti-Signature") ?? "",
process.env.DRISHTI_WEBHOOK_SECRET!,
);
if (!ok) return res.status(401).end();
// handle event...
});Built in Mumbai. Priced in rupees. Reads your देवनागरी label.
The other tools were built for a US D2C founder and bolted on a currency switcher. Drishti was built on the other side of the bolt.
INR-first billing
Razorpay subscriptions in rupees, GST on every invoice from rupee one, UPI mandate and netbanking accepted.
Devanagari OCR
PaddleOCR fine-tuned for Hindi labels. We also read Tamil, Bengali, Gurmukhi, Kannada, Telugu, Malayalam, Marathi, and Gujarati packaging.
Festival catalogues
Diwali, Holi, Onam, Pongal, Eid, Christmas, Raksha Bandhan, Karva Chauth — each locked to its regional palette and motif library.
Compliance overlay
MRP, FSSAI, BIS, country-of-origin block, allergens — Legal Metrology Rule 6(10A), already implemented and verified before ship.
Marketplace presets
Amazon.in, Flipkart, Myntra, Meesho, Ajio, Nykaa, Tata CLiQ, Snapdeal — pre-flight QC linters that catch the size and ratio mistakes before you upload.
ap-south-1, by default
All data, all generation, all backups in Mumbai. DPDP-ready data-fiduciary register. DPA on request for Studio+ workspaces.
Indigenous motifs, used quietly
Pichwai, Mughal miniature, Madhubani, Warli — available as whisper backgrounds at 5% opacity. Never as kitsch. Premium tiers only.
Hindi UI
Studio and dashboard fully translated, set in Noto Devanagari. English is the default; the toggle is in the workspace switcher.
Photography that respects what you ship.
Open the studio, drop one product image, and let the pipeline answer the rest.