How to use from the
Use from the
Diffusers library
pip install -U diffusers transformers accelerate
import torch
from diffusers import DiffusionPipeline
from diffusers.utils import load_image

# switch to "mps" for apple devices
pipe = DiffusionPipeline.from_pretrained("openvivo/BluePixel-Turbo", dtype=torch.bfloat16, device_map="cuda")

prompt = "Turn this cat into a dog"
input_image = load_image("https://huggingface.co/datasets/huggingface/documentation-images/resolve/main/diffusers/cat.png")

image = pipe(image=input_image, prompt=prompt).images[0]

BluePixel-Turbo

Native 4K instruction-based image editing in 4 steps.

Project Page Β· Paper Β· Code Β· Dataset

BluePixel-Turbo is the distilled image editing model from BluePixel: Toward Native 4K Agentic Image Editing, developed by vivo. It builds on FLUX.2-klein-9B with a DCAE-F64 autoencoder for efficient native 4K editing.

  • Native 4K output without cascaded super-resolution.
  • 4-step inference through source-anchored target projection (SATP), distilled from a 50-step teacher.
  • Long-tail editing skills learned through ACE-MOPD, followed by reinforcement learning for aesthetics and instruction fidelity.
  • 8.7 seconds per 4K edit on a single Kunlunxin P800 XPU (BF16), as reported on the project page. Latency varies by hardware.

Quick Start

Use the custom Diffusers-based pipeline provided in the code repository:

git clone https://github.com/vivo/BluePixel.git
cd BluePixel
pip install -r requirements.txt
pip install --upgrade diffusers huggingface_hub

Run from the cloned repository in a CUDA environment with BF16 support:

import torch
from PIL import Image
from huggingface_hub import snapshot_download
from vins_infer import load_pipeline

model_dir = snapshot_download("openvivo/BluePixel-Turbo")
pipe = load_pipeline(
    model_dir=model_dir,
    device="cuda:0",
    vae_tiling=False,  # Enable to reduce autoencoder memory usage.
    lora_scale=None,
    shift=0.0,
    mu_mode="empirical",
)

image = Image.open("assets/test_input.jpg").convert("RGB")
result = pipe(
    image=image,
    instruction="Make the sky sunset orange and add warm light.",
    num_inference_steps=4,
    guidance_scale=3.0,
    target_pixels=4096 * 4096,
    generator=torch.Generator(device="cuda:0").manual_seed(42),
).images[0]
result.save("output.png")

The pipeline approximately preserves the input aspect ratio and aligns dimensions to multiples of 64; non-square inputs produce non-square outputs. Use a Diffusers version that includes the FLUX.2 components imported by vins_infer.py.

Model Versions

This repository tracks the latest released checkpoint of BluePixel-Turbo. Earlier revisions are preserved in the commit history of this repository and their model card snapshots remain reachable through the Hugging Face revision browser.

Revision Transformer weights Notes
v1 (previous) ckpt800 SFT checkpoint Initial public release of this repository
v2 (current) ckpt35 (STEP-35) checkpoint Updated transformer weights; text encoder, VAE and tokenizer unchanged

The previous version of this model card is preserved verbatim in README_v1.md.

What changed in v2

Only the transformer weights were retrained and updated:

  • transformer/diffusion_pytorch_model-*.safetensors β€” all 10 shards replaced (new SHA-256 OIDs).
  • transformer/config.json, scheduler/scheduler_config.json, vae/config.json, transformer/diffusion_pytorch_model.safetensors.index.json β€” metadata refresh (diffusers version bump, torch_dtype field, _name_or_path provenance).

The following components are byte-identical to the previous release and were not re-uploaded:

  • text_encoder/model-*.safetensors (5 shards) and text_encoder/*.json
  • vae/diffusion_pytorch_model.safetensors
  • tokenizer/tokenizer.json, tokenizer/tokenizer_config.json, tokenizer/chat_template.jinja

The model architecture is unchanged: the transformer still holds 233 tensors with an identical total_size of 36,314,324,992 bytes, so this is a pure fine-tune weight update with no config or shape migration required.

Note on torch_dtype. The transformer config.json now records "torch_dtype": "bfloat16". The published weights themselves are stored in float32, matching the source checkpoint; the field describes the intended inference dtype.

Benchmarks

Results below are reported for BluePixel on the project page; the page does not assign each quality score specifically to this Turbo checkpoint.

Benchmark Metric / category Result
VINS-4KEval++ Overall 8.62, 2nd of 7 models
VINS-4KEval++ Non-edited-region consistency (NC) 9.06
ImgEdit-Bench Hybrid / Action 4.59 / 4.93, 1st in both
CIE-Bench Total, before β†’ after ACE-MOPD 6.24 β†’ 8.87

The metadata uses descriptive custom metric identifiers for these measures. See the project page for training details and the broader BluePixel Agent framework.

Limitations and License

Intended for image editing with English instructions. Outputs may contain artifacts or unintended changes; review results before use.

Released under Apache-2.0. See LICENSE and NOTICE.

Downloads last month
50
Safetensors
Model size
9B params
Tensor type
F32
Β·
Inference Providers NEW
This model isn't deployed by any Inference Provider. πŸ™‹ Ask for provider support

Model tree for openvivo/BluePixel-Turbo

Finetuned
(57)
this model
Quantizations
1 model

Dataset used to train openvivo/BluePixel-Turbo

Space using openvivo/BluePixel-Turbo 1

Paper for openvivo/BluePixel-Turbo