Skip to content

Angais/dreamint

Repository files navigation

Dreamint

Dreamint is a browser-based workspace for generating and editing images with OpenAI image models. It focuses on quick prompts, format/quality tweaks, cost visibility, and lightweight history so you can experiment without extra setup.

WARNING: YOU USE THIS AT YOUR OWN RISK. YOU ARE RESPONSIBLE FOR ANY API COSTS, ERRORS, OR MISBEHAVIOR.

What’s included

  • Prompt composer with aspect presets, quality levels (1K/2K/4K), and output format selection (PNG/JPEG/WEBP).
  • Up to eight reference images for edits; drag-and-drop, paste, or file picker.
  • Batch generation (1–4 images) with local gallery, metadata chips, and one-click “Use prompt” restore.
  • Lightbox with keyboard/scroll navigation, download in your selected format, and edit-from-image shortcut.
  • Interrupted request recovery: pending jobs saved locally are marked “Interrupted” after reload/close with Retry/Delete options; placeholders show an interrupted state.
  • Local-first state: prompts/settings in localStorage; gallery and pending items in IndexedDB via localforage. API keys stay in the browser only.

Requirements

  • Node.js 18+
  • OpenAI API key. It is supplied in-app and stays in your browser; it is not stored on the server.

Setup

npm install

Running locally

  1. Start dev server:
npm run dev
  1. Open http://localhost:3000
  2. Add your OpenAI API key in the in-app Settings. It persists in your browser storage only.

Access protection (optional)

  • Set ACCESS_PASSWORD in your deploy environment to require a one-time password on first visit.
  • Successful unlock sets a signed, HttpOnly session cookie (30-day TTL, auto-refresh) and enforces a 5-try lockout (10 minutes) on failures.
  • If ACCESS_PASSWORD is unset, the gate is disabled.

Using the app

  • Choose aspect, quality, and Output Format from the control bar.
  • Add reference images (max 8). If the first image has clear dimensions, the aspect auto-adjusts to match.
  • Click Generate or press Enter in the prompt box. While running, a stopwatch shows elapsed time.
  • If you close or reload mid-run, the pending items reappear as Interrupted with Retry/Delete buttons and non-animated placeholders.
  • Switch between Create and Gallery via the floating pill at the top; it stays visible when scrolling.

Model

  • OpenAI: Uses gpt-image-2 and shows estimated and real token-based cost details in the UI when usage data is available.

Notes and limitations

  • Everything is client-initiated; server jobs are not durable. Closing the page interrupts in-flight requests.
  • Image generation runs fully in the browser with your own API keys; the host just serves the site (and optional password gate).
  • Attachment, gallery, and API key state are stored locally in your browser; clear your browser storage to wipe state.
  • Max four outputs per request; max eight input images (UI cap; model accepts more).

Scripts

  • npm run dev — start Next.js with Turbopack
  • npm run build — production build
  • npm run lint — ESLint

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors