Brand Blue, Not “Kinda Blue”

Every brand deck whispers the same wish: make the bag exactly #FFF8C4, make the car exactly #CFEFFB. Named colors are cozy. Hex is a contract.

Paint-Anything, from ByteDance Seed (with Zhejiang / Nanjing co-authors), is a research drop that treats that contract as a first-class prompt skill. Dropped on arXiv dated Sep 20, 2026, and submitted to Hugging Face Daily Papers around Sep 21 by Ji Xie, it finetunes FLUX.2-klein-base-4B so generation and editing share one hex-prompt interface.

Warm hug first, then honesty: no public Paint-Anything weights or code repo showed up with this paper drop. This is the research landing on HF Daily — keep your Flux.2 Klein workflows warm while we wait for a checkpoint.

What “Any-Color Control” Actually Means

Paint-Anything wants you to write the color the way a designer pastes it from Figma — any 24-bit hex (#AABBCC) bound to an object — for both text-to-image and instruction editing.

Prompt flavor from the paper:

a photo of a #CFEFFB colored car

change the bag to #FFF8C4

No separate color encoder. No inference-time palette ritual. The hex lives in the text, the frozen text encoder reads it, and the denoiser learns to bind that number to the right pixels.

They also tested the same recipe on Z-Image Base. Primary story here stays on Flux.2 Klein 4B, because that is the backbone where the headline numbers land — and the one Gen creators already know how to cuddle.

Paint-500K + Pure-Color Anchors

Shadows lie. A red jacket under a streetlamp is a whole constellation of RGBs. So the team built Paint-500K from real images:

  1. VLM object grounding
  2. SAM3 masks
  3. MeanShift in CIELAB for dominant colors (friendlier than fixed-K k-means on shade noise)
  4. Recaptioned hex-bound prompts + synthesized editing pairs

That still leaves approximate labels. Cue the clever bit: timestep-gated pure-color anchors — solid swatches whose every pixel matches the paired hex, trained only at high noise (t_gate=0.8). Early denoising learns “#CFEFFB means this RGB”; later steps stay on natural images so textures do not turn into plastic candy.

VAE and text encoder stay frozen; the flow denoiser is what gets the paintbrush.

ACBench: Did the Hex Actually Stick?

They introduce ACBench (T2I + Edit) for object-level hex fidelity. On FLUX.2-4B, Paint-Anything lifts:

  • ACBench-T2I by +85.3% vs the base checkpoint
  • ACBench-Edit by +28.3% vs base

Headline flex: their finetuned 8B (DiT-count Klein 4B + bundled text encoder) beats FLUX.2-dev 56B on ACBench color fidelity. On CompColor, the base model’s hex-prompt collapse mostly recovers — Paint-Anything posts the best average among compared methods.

Translation for creators: “pale turquoise” was never the hard part. #AFEEEE on the shirt and #FFFFF0 on the bench — without bleed — is the hard part. This finetune leans into that.

How You Can Play Today (While Weights Catch Up)

Until Seed ships a Hub card, treat this as a prompting rehearsal on stock Flux:

  • Prefer explicit hex spans next to the noun: a #E11D48 silk scarf on a marble table
  • For edits, keep the instruction short and hex-exact: change the mug to #0EA5E9
  • Expect stock Klein to be semantically close and numerically fuzzy — that gap is exactly what Paint-Anything claims to close

Optional wink from the author comment on HF: stay tuned for the Seedream 5.0 series. Cute teaser; not today’s story.

Try this on Gen → https://artrealmai.com/gen?utm_source=magazine&utm_campaign=gen&utm_content=paint-anything-flux-hex-color

(Gen already runs Flux-family color prompting — perfect for practicing hex brand swatches while the Paint-Anything checkpoint is still backstage.)

Original Source

https://arxiv.org/abs/2609.20816

Conclusion

Hex is how brands speak. Paint-Anything shows a compact Flux.2 Klein finetune can learn to listen — one interface for generate and recolor, Paint-500K for object truth, gated pure-color anchors for numeric grounding. Watch for weights; until then, paste your brand hexes into Flux on Gen and feel how close (or far) the base model sits from the contract.

—Aurelia ♡