Features · the full catalogue

Every 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
The pipeline

Eight stages between an upload and a shipped frame.

Median 7 s · hard-cap 15 s

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.

  1. 01

    Ingest

    Presigned R2 upload, EXIF + GPS stripped, resized to 2048 px, hashed with pHash + SHA-256 so the same photo never bills twice.

  2. 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.

  3. 03

    Matte

    BiRefNet-HR (or ZIM, for glass and reflective surfaces) extracts a soft alpha matte. No binary masks — edges stay believable.

  4. 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.

  5. 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.

  6. 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.

  7. 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.

  8. 08

    Ship

    C2PA + IPTC AI signature embedded, asset stored, library updated, fidelity card rendered. Thumbs-down feeds Mistake Memory — the verifier remembers your taste.

≥75 ships60-74 warn-ships<40 auto-refundFidelity = 0.30·DINO + 0.25·OCR + 0.20·ΔE + 0.15·judge + 0.10·IoU
14 modes

Not a prompt box. Studio recipes for the work your category actually ships.

One core engine · fourteen recipes

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.

Variant GeneratorTier 1 · core

Variant Generator

Color, size, finish SKUs from one hero — locked to the same light.

Try in studio
Marketplace ExportTier 1 · core

Marketplace Export

27+ platform presets, pre-flight QC linter, C2PA metadata in one pass.

Try in studio
Multi-Angle SetTier 1 · core

Multi-Angle Set

Seven to nine angles from a single upload — the Flipkart requirement, solved.

Try in studio
Ingredient ExplosionTier 1 · core

Ingredient Explosion

Layered hero showing every ingredient inside, with credible scale.

Try in studio
Tier 1 · core

Background at Volume

Hundred-photo batch background swap. Solves the 300-hour-a-year Etsy problem.

Try in studio
Tier 1 · core

Ad Creative Batch

Ten to fifteen Meta, Google, and TikTok variants weekly — captioned and sized.

Try in studio
Tier 2 · consistency

Brand-Lock Catalog

The Monday-versus-Thursday drift problem, fixed. 54% conversion impact.

Try in studio
Tier 2 · consistency

Color Match (ΔE)

Fidelity to real-world product color. 30% reduction in returns from photo mismatch.

Try in studio
Tier 2 · consistency

Fix-One-Thing

Masked edits, no credit charge under 20% of the canvas. The universal Canva-rage fix.

Try in studio
Tier 3 · upgrade

iPhone-to-Studio

Relight, color-correct, and retouch the DIY photo you already have.

Try in studio
Tier 3 · upgrade

Ghost Mannequin

Apparel hero shot — ₹1,200-4,000 per image traditionally, twelve seconds now.

Try in studio
Tier 3 · upgrade

Cleanup

Erase props, dust, glare, and stray hairs from real shots without re-shooting.

Try in studio
Tier 4 · category

On-Model Apparel

Myntra-mandatory on-model imagery with India-default model diversity.

Try in studio
Tier 4 · category

India-Compliance Overlay

MRP, FSSAI, BIS, origin block. Legal Metrology Rule 6(10A), already implemented.

Try in studio
Brand Vault

A vault, not a style guide. It says no when something drifts.

§L · DRISHTI_DESIGN.md

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.

Vault editor
Essence Nocturne
92 complete
Primary palette
#0d1b2a
#1b263b
#415a77
#778da9
#e0e1dd
Color
80

ΔE 20 OK → ΔE 2 enforced as the slider rises

Composition
60

Loose match → exact framing from refs

Typography
95

Rough family → verbatim, font preserved, OCR-gated

Shape
95

Reinterpret → 0.95 IoU silhouette, composite-primary forced

References · 4 of 5
anchor
style
prop
forbidden
3 active mistakes from the last 30 days
Bottle cap drift · label kerning · highlight blowout

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.

Chaos 2.0

Random, and good. The quality gate makes the difference.

18 aesthetics · concurrency 4

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
Quality gate

Every concept passes the §2.5 verifier. Coherence below 70 triggers a single in-flight resample; persistent failure auto-refunds the credit.

Category weighting

Beauty leans Pichwai and Dreamy Pastel. Tech leans Cyberpunk and Bauhaus. Jewellery leans Vermeer and Art Deco. You can override the dial.

Genealogy

Every chaos drop has a Chain — the seed prompt, the aesthetic, the references, the fidelity card. Promote one to production with a single button.

For developers

Drive generation from your editor.

MCP · REST · GraphQL

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
Studio tier and above
Install — Claude Code
shell
claude mcp add drishti --transport http \
  https://13-204-237-151.nip.io/api/mcp \
  --header "Authorization: Bearer dr_live_..."
Call a tool — curl
bash
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
Configure subscriptions →
Subscribe — REST
bash
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"]
  }'
Verify a payload — @drishti/sdk
typescript
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...
});
India-native, not India-tolerant

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.