DEV Community

Cover image for Spotted on DEV·TV: FLUX 3 Image Klein just landed, and it renders text like a sign painter
Shouvik Palit
Shouvik Palit

Posted on

Spotted on DEV·TV: FLUX 3 Image Klein just landed, and it renders text like a sign painter

Tonight a new model popped up on the NEW MODELS channel of DEV·TV, the TV-style browser app I built for developer content. It was FLUX 3 Image Klein from Black Forest Labs, released today (Oct 15, 2026) on OpenRouter.

I went digging. Here's what it is, what it costs, and why it's worth a look.

What is it?

FLUX 3 Image Klein is the small, fast member of Black Forest Labs' new FLUX 3 Image family:

  • Open weights. You can download it, run it yourself, and fine-tune it.
  • 5.6B parameters. Small enough to fit on a single serious GPU.
  • Text-to-image and editing. It handles multi-reference edits that keep characters consistent across images, plus style transfer from reference images.
  • Text rendering. This is the headline feature, and the demo shows why.

The demo that sold me

The OpenRouter playground ships with an example prompt: an editorial photo of a neighborhood storefront at blue hour, with a hand-bent neon sign that reads exactly "OpenRouter".

The result is a 4K, 16:9 image (5456×3072). The cursive neon is spelled correctly, the glow is warm, there are reflections on the wet pavement, and plants fill the windows. It took about 75 seconds and cost $0.036 at that 4K tier.

Not long ago, getting an image model to spell a word right was a coin flip. Now it's the selling point.

Text to image

What does it cost?

Pricing starts at about $0.008 per image at lower resolutions, and higher resolution tiers cost more. For comparison, the flagship FLUX.3 Image starts at about $0.041 per image, so Klein is the "generate a lot, cheaply" option. It fits thumbnails, product shots, and title cards.

Calling it from code

OpenRouter exposes an Images API. In Python:

from openrouter import OpenRouter
import os

with OpenRouter(api_key=os.environ["OPENROUTER_API_KEY"]) as client:
    res = client.images.generate(
        model="black-forest-labs/flux-3-image-klein",
        prompt='A vintage CRT TV glowing on a desk at night, screen reads "DEV·TV"',
        aspect_ratio="16:9",
        resolution="2K",
        seed=42,
    )
Enter fullscreen mode Exit fullscreen mode

Useful knobs:

  • aspect_ratio and resolution set the output shape and size.
  • seed gives reproducible results.
  • n asks for up to 10 images.
  • input_references handles image-to-image edits.

Prompting tip: write full descriptive sentences, not keyword soup, and put any exact text in quotes. The model treats quoted text as "render this literally."

How DEV·TV caught it

DEV·TV is a single index.html on GitHub Pages with no backend. The NEW MODELS channel pulls fresh listings straight from OpenRouter, using a 24-hour window so release-day drops like this one show up on screen while they're still news.

Other channels run alongside it:

  • AGENT SKILLS surfaces trending Claude skill repos.
  • Spotlight rotates indie dev projects.

Open it in a tab, put it on a second monitor, and new models come to you.

👉 Watch it live: https://shouvik12.github.io/devtv

What would you generate first with a model that can actually spell? Drop your prompt in the comments 👇

Top comments (0)