BitDance-Tokenizer (Diffusers)

Diffusers-formatted BitDance tokenizer autoencoders (AE) converted from the upstream BitDance tokenizer checkpoints.

Available Autoencoders

  • ae_d16c32 (z_channels=32, gan_decoder=false)
  • ae_d32c128 (z_channels=128, gan_decoder=true)
  • ae_d32c256 (z_channels=256, gan_decoder=true)

Each subfolder includes:

  • config.json with the autoencoder architecture
  • conversion_metadata.json documenting the source checkpoint and config

Test (load tokenizer only)

This repo is self-contained: it includes bitdance_diffusers (copied from BitDance-14B-64x-diffusers) for the BitDanceAutoencoder class. Run the test to verify loading and encode/decode:

The test loads all three autoencoders and runs a quick encode/decode check with ae_d16c32 (no full image generation).

Loading tokenizer autoencoders

import sys
from pathlib import Path

# Self-contained: add local path so bitdance_diffusers is found
BASE_DIR = Path(__file__).resolve().parent
sys.path.insert(0, str(BASE_DIR))

from bitdance_diffusers import BitDanceAutoencoder

# Load any tokenizer autoencoder (use repo path or local path)
ae = BitDanceAutoencoder.from_pretrained(
    "BiliSakura/BitDance-Tokenizer-diffusers",  # or str(BASE_DIR) for local
    subfolder="ae_d16c32",
)
# ae_d16c32: z_channels=32, patch_size=16
# ae_d32c128: z_channels=128, patch_size=32
# ae_d32c256: z_channels=256, patch_size=32

Using with a BitDance pipeline (full inference)

To swap a tokenizer into a BitDance diffusers pipeline for image generation:

import torch
from diffusers import DiffusionPipeline

# Load a BitDance diffusers pipeline first (provides BitDanceAutoencoder class).
pipe = DiffusionPipeline.from_pretrained(
    "BiliSakura/BitDance-14B-16x-diffusers",
    trust_remote_code=True,
    torch_dtype=torch.bfloat16,
).to("cuda")

# Swap in a tokenizer autoencoder from this repository.
pipe.autoencoder = pipe.autoencoder.__class__.from_pretrained(
    "BiliSakura/BitDance-Tokenizer-diffusers",
    subfolder="ae_d16c32",
).to("cuda")

image = pipe(
    prompt="A watercolor painting of a red fox in a snowy forest.",
    height=1024,
    width=1024,
).images[0]
image.save("bitdance_with_custom_tokenizer.png")

Note: this repository stores tokenizer autoencoder components; use trust_remote_code=True with a BitDance runtime repo when loading custom classes.

Citation

If you use this model, please cite BitDance and Diffusers:

@article{ai2026bitdance,
  title   = {BitDance: Scaling Autoregressive Generative Models with Binary Tokens},
  author  = {Ai, Yuang and Han, Jiaming and Zhuang, Shaobin and Hu, Xuefeng and Yang, Ziyan and Yang, Zhenheng and Huang, Huaibo and Yue, Xiangyu and Chen, Hao},
  journal = {arXiv preprint arXiv:2602.14041},
  year    = {2026}
}

@inproceedings{von-platen-etal-2022-diffusers,
  title     = {Diffusers: State-of-the-art diffusion models},
  author    = {Patrick von Platen and Suraj Patil and Anton Lozhkov and Damar Jablonski and Hernan Bischof and Thomas Wolf},
  booktitle = {GitHub repository},
  year      = {2022},
  url       = {https://github.com/huggingface/diffusers}
}

License

This repository is distributed under the Apache-2.0 license, consistent with the upstream BitDance release.

Downloads last month
-
Inference Providers NEW
This model isn't deployed by any Inference Provider. 🙋 Ask for provider support

Model tree for BiliSakura/BitDance-Tokenizer-diffusers

Finetuned
(1)
this model

Collection including BiliSakura/BitDance-Tokenizer-diffusers

Paper for BiliSakura/BitDance-Tokenizer-diffusers