Hugging Face has added document text recognition, speech synthesis, and text generation models to its AI model library. Developers building document or voice services can use library workflows from input preparation to output generation. Release notes

1. MiniCPM-OCR added for document image recognition

OpenBMB’s MiniCPM-OCR reads text-heavy images such as scanned documents, screenshots, receipts, and tables. It passes visual information to a language model for text recognition and page conversion to Markdown. Model documentation

The default chat template makes the model output its reasoning about the page first. To receive only recognition results, disable reasoning output when preparing the input. Usage example

Visual downsampling has two modes: 4x and 16x. The default 4x mode retains more visual tokens for documents and screen text. The 16x mode downsamples natural images more aggressively to reduce tokens and speed up inference. On the same example page, 4x used 1260 tokens and 16x used 315. This is a 75% reduction in visual tokens relative to 4x, not a measured 75% reduction in runtime or memory. Pass the setting to both the processor and generation call. Downsampling modes and source code

inputs = processor.apply_chat_template(
    messages, add_generation_prompt=True, tokenize=True,
    return_dict=True, return_tensors="pt",
    processor_kwargs={"downsample_mode": "4x"},
).to(model.device, dtype=model.dtype)

output = model.generate(**inputs, max_new_tokens=512, downsample_mode="4x")
print((inputs["input_ids"] == model.config.image_token_id).sum().item())
# 1260 visual tokens; the same page in `"16x"` mode is 315 instead

Table: Visual token counts by downsampling mode for the same document page

Conditions: MiniCPM-OCR-1.0 documentation example with 1 document page and the downsampling mode set in both the processor and generation call

Unit: Visual tokens

MiniCPM-OCR added for document image recognition
Downsampling modeVisual tokens
4x (default and reference)1260
16x315

Chart: Visual token counts for the same page (baseline: 0 tokens; reference: 1260 tokens in 4x mode)

4x   ████████████████████ 1260
16x  █████                315

Table and chart source

You can also choose whether to upscale small images. In the example using the same receipt, the default upscales to the training size, while keeping the original size only aligns the image to a grid of small patches. Small-image example

Table: Processing grids for a small receipt image by upscaling method

Conditions: MiniCPM-OCR-1.0 processor, original receipt image resized to 224×224 as input, documentation example output

Unit: Number of patches

MiniCPM-OCR added for document image recognition
Upscaling methodGrid side length
Always upscale (default)32
Keep original size16
Decide by text density32

The adaptive method also upscaled this receipt after judging its text to be dense. When handling small screenshots, consider the option to preserve the original resolution as well. Small-image example

2. Speech synthesis starts with recordings and saved voices

Kyutai’s Pocket TTS is a speech synthesis model with 100 million parameters. According to Hugging Face, it generates audio on a CPU in less time than the audio takes to play. Model overview

The model generates compressed audio representations, or latents, 12.5 times per second. The processor reconstructs them into a 24kHz audio waveform. Audio conversion architecture

Voices can be specified by cloning a recording, using precomputed latents, or using a cache of processed voice prompts. Built-in voices are also cached, so they do not need re-encoding each time. Services that read multiple sentences in the same voice can reuse this path. Voice selection

The processor can split long text for processing. The default generation length budget depends on text length, and generation stops when the model detects the end of speech. Usage tips

3. Flint selects a subset of experts for each input

Recursive’s Flint is a mixture-of-experts language model that selects a subset of expert modules for each input. Each expert-selection layer uses 6 of 256 experts plus a shared expert. Model architecture

Most layers attend to the current token and the preceding 512 tokens, while the remaining layers attend to the entire input. Attention scope

The company announcement in the release compares Flint checkpoints stored in BF16 and NVFP4 numerical formats. Checkpoints are files that store model weights for execution. On SWE-bench Pro v2, which evaluates code-fixing ability, BF16 scored 89.7% and NVFP4 88.5%, a gap of 1.2 percentage points relative to BF16. This is an evaluation score gap, not a measured runtime improvement or memory saving. The company compared models running on similar hardware and labeled this evaluation as internally measured. Benchmark source

In the same evaluation, Qwen 3.8 scored 94.9% and Qwen 3.6 scored 73.8%. Both Flint formats scored below Qwen 3.8 and above Qwen 3.6 in this comparison. Comparison figure

Table: SWE-bench Pro v2 scores by model and weight format

Conditions: Company announcement figure comparing models on similar hardware; this evaluation is marked as internally measured (†)

Unit: Score (%, higher is better)

Flint selects a subset of experts for each input
Model and formatScore
Flint BF16 (format comparison reference)89.7
Flint NVFP488.5
Qwen 3.894.9
Qwen 3.673.8

Chart: SWE-bench Pro v2 scores (baseline: 0%; approximate bars over a 0–100% range)

Flint BF16  ██████████████████  89.7%
Flint NVFP4 ██████████████████  88.5%
Qwen 3.8    ███████████████████ 94.9%
Qwen 3.6    ███████████████     73.8%

Table and chart source

Default execution accounts for attention sinks, learned offsets that anchor the attention distribution, and computes scores in 32-bit floating point. SDPA, an attention implementation, cannot handle sinks, so the documentation recommends a separate sink-aware attention kernel for long inputs. Execution notes

4. Device sharding changes and points to review

Tensor parallelism splits model computation across devices and now also shards embeddings, which turn inputs into vectors, by default. A dedicated method supports widths that are not divisible by the parallel size. Custom plans that applied existing column- or row-based methods to embeddings must migrate to the new method. Parallel plan changes

Parallel plans for mixture-of-experts models now also shard experts across devices. This reduces wasted memory by avoiding a full copy of all experts on each device, but custom plans must also incorporate expert sharding. The default parallelism path is more streamlined, but teams that configured it themselves face configuration migration work. Expert sharding changes

When preparing an upgrade environment, also note that the minimum supported Python version has risen to 3.11. Supported version change

5.21.0 expands standard Transformers workflows to OCR, speech synthesis, and mixture-of-experts models, while requiring a review of existing parallelism settings.