Generate without exposure.

Private image infrastructure for developers. Run leading open-weight models straight from your terminal — encrypted in transit, processed on ephemeral compute, and deleted after delivery.

Open weights · Uncensored · Zero prompt history · Pay per image

unexposed — zsh
import { generateImage } from "@unexposed/image-gen"; const image = await generateImage({  accessToken: "ux_...AIax",  prompt: "product photo of a watch",  model: "flux2_dev",}); await image.save("./watch.png");
A brutalist astronomical observatory on the icy surface of Europa, generated by Unexposed
rendering…
sealed task: flux2_dev✓ retained: 0 bytes

Open weights

Pinned by digest — never silently upgraded.

Zero prompt history

No hosted prompt history. Outputs stream back after generation.

Pay per image

Charged only on successful generations.

Ephemeral compute

Jobs run on short-lived, isolated workers.

The privacy of local inference. The convenience of cloud compute.

Unexposed gives engineers local-grade control over image models — without operating the GPU stack.

Private by architecture

Encrypted queues, ephemeral compute and no hosted gallery. Every privacy claim maps to a control you can verify — not a slogan.

Raw, uncensored output

No content filter, no silent prompt rewriting, no hidden negatives, no injected house style. The model you pin is the model that runs — complete creative control over lawful work.

Built for automation

CLI and API, batch jobs, cost caps and deterministic seeds. Image generation that drops into pipelines, agents and CI.

No GPU ops

No CUDA, drivers, model downloads or queue tuning. Send a request, receive a file written straight to disk.

unexposed — session
$ npm install @unexposed/image-gen$ node generate-image.mjsSaved ./watch.pngsealed prompt · retained: 0 bytes
Product photograph of a mechanical watch generated by Unexposed

Choose a model. Run the package. Save the image.

  1. Choose a model

    The models page lists the local Hugging Face-backed model IDs, aliases, licenses, and source repositories before you submit a task.

  2. Install the npm package

    Use @unexposed/image-gen from a small Node script with an Access Token, prompt, model ID, and optional source image.

  3. Generate the image

    The package sends the model name and encrypted payload to the Task Manager, streams the result, and saves the image locally.

No moderation layer. Your prompt, your call.

Lawful work runs unfiltered — no content filter, no silent rewriting, no house style imposed on your output. The only boundary is the law, never our taste.

Your content exists only long enough to create your image.

Every privacy claim is paired with an architectural control. The prompt enters an encrypted queue, runs on short-lived compute, and is removed once your image is delivered.

Client

Prompt + source file

Ephemeral queue

Encrypted, content-free metadata

Isolated GPU

Model pinned by digest

Streamed output

Written to your client

Memory cleared

No hosted gallery

No prompt history

Default product behaviour

No content in logs

Documented logging schema

No public output URL

Output streams to the client

No third-party proxy

Models run inside our boundary

We don't claim "private even from us." We claim exactly what the architecture enforces — and we show you the controls behind every line.

A transparent catalogue, not an opaque provider chain.

Every model lists its source repository, license, capabilities, and CLI identifier before you run. The model you pick is the model that runs — no silent substitutions.

All modelsLocalText to imageImage editingApache-2.0
Mechanical watch product photograph generated with FLUX.2 Dev

FLUX.2 Dev

flux2_dev

Text to image and image editing

Comfy-Org/flux2-dev

LocalPrompt detailSource image
View models
Painterly valley illustration generated with Qwen-Image-Edit-2511

Qwen-Image-Edit-2511

qwen

Image editing

Comfy-Org/Qwen-Image-Edit_ComfyUI

LocalApache-2.0Edits
View models
Editorial portrait generated with Krea 2 Turbo

Krea 2 Turbo

krea2_turbo

Text to image

Comfy-Org/Krea-2

LocalFast draftsBF16
View models

Pay for images, not access.

Usage-based and legible. The price is quoted before the run, and you are charged only when an image is delivered.

  • See the exact price before every run.
  • Pay only for images that are successfully delivered.
  • Buy credits with no subscription required.
  • Purchased credits don't expire arbitrarily.
  • Set per-request and account-level spend caps.

Estimate before run

Model
flux-dev
Resolution
1536 × 1024
Images
4
Price
10 Credits / image
Max cost cap
£0.50
Estimated total
£0.40

# charged only on successful delivery

Your prompt. Your model. Only your content.

Create private images with Credits, Access Tokens, and sealed requests. Encrypted in transit, run on ephemeral compute, deleted after delivery.