DEV3 Technologies home

DEV3 Opalframe – AI Image Generator SaaS with Gemini AI admin tools, Inpainting, Background Removal & Credits (Next.js)

Self-hosted AI image studio on Next.js 16 and MongoDB with Gemini AI admin tools (bring your own key): prompts, styles, inpaint/outpaint, background removal, upscaling, batches, brand kits, credits. Google Translate switcher. Demo data included. No mobile apps.
by DEV3 TechnologiesVerified Author(0) 0 sales 0 viewsUpdated 14 Nov 2026

Video tour. Pick a section below to browse 42 screenshots in 6 sections.

App & phone tours

Tap play to watch each app. Nothing downloads until you do.

  • Mobile web0:28

Opalframe is an image-generation studio that you host yourself, built by DEV3 Technologies on Next.js 16, React 19, TypeScript, Tailwind 4 and MongoDB, with a separate Node worker that renders the queue. Each customer gets a workspace with a credit balance. People write a prompt, pick a style, ratio, seed and count, and get pictures they can remix, vary, repaint with a mask, extend, cut out and upscale. You, the operator, sell plans and credit packs and run the platform from an operator panel. The demo shows fictional workspaces: an outdoor retailer, a candle shop, an agency with client brand kits and a print shop close to its storage limit.

How the AI works, plainly: every picture in this product comes from a built-in simulated renderer. It draws deterministic procedural sample art from the prompt, style, seed and aspect ratio, and marks it "Simulated". It is not a model and the pictures are not photographs. Real providers are bring-your-own-key and off by default: an OpenAI-compatible images API, a Stability-style REST API and a Replicate-style predictions API. They are shipped as adapters that stay "Not configured" and locked until you set a key and enable live calls, and they are tested against recorded fixtures only. No model, key, credit or GPU is included, and provider costs and content policies are yours. A workspace setting can force simulated mode even when a provider is configured.

No live demo: 41 screenshots and two video tours show the marketing site, the studio, the canvas editor, the tools, the library and boards, and the operator panel. This product is a web application: there are no mobile apps.

For people who make images

  • Studio: prompt and negative prompt, twelve style presets, aspect ratios, seed, one to four pictures per job, quality tiers, history rail, and variations. Every setting is stored so a result can be reproduced.
  • Canvas editor: paint a mask for inpainting, or extend the canvas for outpainting, with brush, eraser, undo and zoom on a plain 2D canvas. Edit chains link every result back to its original.
  • Tools: background removal to a transparent PNG and upscale at 2x or 4x, each with a before and after slider.
  • Batch: paste or import a CSV of prompts and get a contact grid with progress, a zip download and a grid PNG.
  • Brand kits: palettes, keywords and a default style per brand, applied to a prompt from the studio.
  • Library and boards: masonry wall with filters by style, model, tag, board and favourites; boards for campaigns and clients; expiring share links with download control, view counts and revoke; prompt templates.

For the operator

  • Credits and plans: credits are reserved when a job starts, settled per finished picture and refunded when a job fails or is cancelled, with a ledger and a reconciliation command. Plans, credit packs and an agency overdraft are included. Payments are simulated until you connect your own gateway (Stripe and Razorpay adapters included).
  • Operator panel: platform overview, workspaces and detail, models and a cost table, style presets, prompt library, moderation queue, blocklists, credits ledger, AI settings with the outbound network policy, and audit log.
  • Moderation: a keyword and blocklist filter with a real-person name list and a review queue with strikes. There is no AI safety classifier unless your provider supplies one.
  • Teams and API: owner, admin, member, billing and viewer roles, API keys, a REST API with OpenAPI and webhooks.
  • Setup wizard, demo data, installer lock, and a documentation page in the download.

Demo data (real numbers from the seed)

4 workspaces, 15 users, 101 pictures, 2,453 history jobs, 12 style presets, 6 models, 9 boards, 6 brand kits, 8 prompt templates, 5 share links, 12 moderation items, 37 invoices and 8,285 credit ledger rows. Loading takes about a minute and a reconciliation command confirms the ledger.

Good to know

  • Starting codebase for an image-generation service, not a finished business. Extended licence needed to sell the service to paying customers.
  • Simulated by default: no real model is included; connect your own provider key to produce real images.
  • No video generation, model training, face swap or GPU hosting. Web only.
  • Needs MongoDB 6+ (replica set, a single node works) and two long-lived Node processes: the web app and the worker. The sharp image library is the one native dependency and ships prebuilt for Linux and macOS.
  • Storage is local or S3-compatible. Back up your APP_SECRET and your storage folder.
  • All people, workspaces and pictures in the demo are fictional.

Gemini AI admin tools

Add your own Gemini key (GEMINI_API_KEY) and about 40 AI actions switch on across the workspace and operator pages: sharpen prompts and prompt ideas, plain-English library search, alt text and captions, edit-chain and activity summaries, usage and ledger anomaly flags, report and invoice explanations, reply and share-message drafts, CSV prompt clean-up, moderation triage and next best actions. Every result is a preview you edit and accept; personal data, secrets and card numbers are removed before a call, and the product ships with no key (buttons say "Add your Gemini key in Settings"). A Google Translate language switcher is in the header and app top bar.

How it's built

Architecture, stack, key decisions and the quality gates DEV3 Opalframe passed before release.

The engineering behind Opalframe: credits reserved per job and settled per picture, a Mongo job queue with leases, a deterministic simulated renderer, and guarded provider adapters, with limits stated.

The problem it solves

An image service sells work whose cost is only known when it ends: some pictures succeed, some fail, a user may cancel, and two browser tabs may spend the same balance at once. Renders are slow, workers die mid-job, share links expose pictures to people without accounts, and a prompt filter has to stop abuse before credits move. Provider calls cost money, so a product that can reach one by accident is a liability.

Architecture and approach

Opalframe is a Next.js 16 application on MongoDB, on a shared DEV3 core for auth, billing and tenancy, with a Node worker that renders jobs. Every workspace-owned model is scoped through a fail-closed plugin.

Credits. When a job is submitted, credits are reserved with an atomic conditional balance update and an idempotency key, one reservation per picture. Each finished picture settles its share and the rest is refunded when a job fails or is cancelled. A reconciliation command checks the balance against the ledger.

Jobs. The worker claims a job atomically, holds a lease and renews it; a reaper returns jobs from workers that stopped. Handlers are idempotent.

Simulated renderer. Pictures are procedural compositions drawn from the prompt, style, seed and aspect ratio, so the same settings give the same picture. Real providers (an OpenAI-compatible images API, a Stability-style API and a Replicate-style API) are adapters that are off by default; each call checks for a key and an explicit allow flag first, is refused under tests, and goes through DNS-pinned requests.

Moderation and files. Prompts are normalised and checked against blocklists before credits move; strikes are counted atomically. Files are served through signed, expiring links.

Quality gates and results

Opalframe 1.0.0 passed type-checking and linting with no errors, 465 app tests and 49 core tests, an 89-route production build with 201.6 KB of gzipped first-load JavaScript and CSS on the sign-in page, empty and demo seeding, an install from the packaged zip, and a headless-browser pass over 48 routes and 24 happy paths with a real worker.

Tech stack

Area Technologies
Application Next.js 16 App Router, Server actions, React 19, Tailwind CSS 4, Canvas mask editor
Engine Node worker process, Mongo job queue with leases, Simulated image renderer, Provider adapters (off by default)
Data MongoDB 6+, Mongoose 9, Atomic credit ledger
Quality Vitest, Race tests on real MongoDB, Headless browser smoke tests

Inside the build

Hero: Generate, edit and organise on-brand images with your own AI provider, over a studio-table photo and sample art from the simulated renderer. Hero — Generate, edit and organise on-brand images with your own AI provider, over a studio-table photo and sample art from the simulated renderer.

Studio: One prompt, four pictures and every setting kept, so a result can be reproduced, remixed or varied. Studio — One prompt, four pictures and every setting kept, so a result can be reproduced, remixed or varied.

Guides & articles

Practical guides and engineering write-ups for DEV3 Opalframe.

Self-hosted AI image generator: 7 things to check before you build or buy

Last updated
Self-hosted AI image generator: 7 things to check before you build or buy: DEV3 Opalframe

A picture studio is only useful if people can steer it, fix it and share it, and if you can bill it without surprises. Here are seven things to check before you pick image-generation software you host yourself, with DEV3 Opalframe as the worked example.

The studio with four finished pictures and the Simulated badge

1. Can you reproduce a result?

Look for stored prompt, style, seed and ratio on every picture. Opalframe keeps them all and offers remix and variations.

Variations of one picture

2. Can you edit, not just generate?

Masks for inpainting and outpainting should be part of the product.

Painting a mask

3. What about cut-outs and upscaling?

Background removal and 2x or 4x upscaling should be one click, with a before and after check.

Background removal compared with the original

4. How are credits counted?

Check that cost is reserved before a job, settled per picture, refunded on failure and never charged twice. Opalframe keeps a ledger and a reconciliation command.

Usage and credits

5. How is the AI wired?

Ask every vendor this one. In Opalframe all pictures come from a simulated renderer until you add your own provider key; providers are off by default and output is badged "Simulated". No model or credits are included.

AI settings showing adapters not configured

6. What stops abuse?

A blocklist filter, a real-person name list and a review queue with strikes. Opalframe has no AI safety classifier unless your provider supplies one.

The moderation queue

7. How do people share?

Expiring links with download control and revoke.

A shared board

Video tour of Opalframe

Limits to weigh

No video generation, model training or face swap, and web only. Check these against your needs.

Frequently asked questions

The complete source code (version 1.0.0) as a download from your account, with the setup and usage guides shown on this page. You can modify the code to suit your product.

Questions about this product (0)

Answers from the DEV3 team and the community.

Ask a question

No questions yet.

Wondering about setup, licensing or customisation? Ask, and the DEV3 team will help.

More from this author

View all

Related in Enterprise SaaS Starters

View all