Model reference · open weights

Flora-Captioner

LLMs nvidia Vision + text 1 build Its own licence terms 521 dl/mo

Flora-Captioner is an open-weight language model from NVIDIA. Flora-Captioner (FP32) weighs 54.7 GB; the smallest configuration that runs it is H100 80 GB.

For self-hosting, compare this build's requirements below with the GPU you plan to rent.

  • Flora-Captioner is a 27.4 billion parameter image-text-to-text model developed by NVIDIA for generating action instructions from robot or human manipulation videos.
  • It is designed for non-commercial research to annotate datasets, specifically serving as the captioning stage in the Flora data engine used for training GR00T-2.
  • The model supports a context length of 262,144 tokens and operates under the NVIDIA OneWay Noncommercial License.

Summary of the nvidia/Flora-Captioner model card, 2026-10-23

What it is

Released byNVIDIA
Released2026-10-01
Parameters27.4B
VRAM54.7 GB for the weights

What it runs on

Memory and cards for Flora-Captioner (FP32)

54.7 GBweights, file size
66 MBcache per 1K tokens
308 MBfixed state per request
2.2 GBruntime overhead, at least
262,144 tokenscontext max
CardRequests at onceContext maxMemory
8K each32K each
RTX 3060 12 GB … L40S 48 GB
6 smaller cards
A100 80 GB258all 256K78.2 GB
H100 80 GB186227K78.1 GB
RTX PRO 6000 Blackwell 96 GB3712all 256K93.8 GB
DGX Spark (GB10) 128 GB unified5318all 256K107 GB
H200 141 GB8930all 256K138 GB
B200 180 GB13345all 256K176 GB
2× L40S 48 GB
tensor parallel
3411all 256K44.0 GB a card
4× RTX 4090 24 GB
tensor parallel
3512all 256K23.4 GB a card
4× RTX 3090 24 GB
tensor parallel
3512all 256K23.4 GB a card
4× RTX 5090 32 GB
tensor parallel
7124all 256K31.0 GB a card
Memory needed at each load
Requests at once8K tokens each32K tokens each
157.8 GB59.4 GB
561.1 GB69.2 GB
863.7 GB76.6 GB
1670.4 GB96.2 GB
3283.9 GB135 GB
64111 GB214 GB

One card, with vLLM's small-card settings.

From the model card

What NVIDIA says about Flora-Captioner

Read the model card

Description:

Flora-captioner-27B generates one action instruction for a supplied target interval in a robot or human manipulation video. It uses neighboring video context to disambiguate the intended local operation. In the Flora data engine, target intervals come from temporal segmentation and stitching; the captioner supplies the text used for balancing the pretraining data distribution. Flora was developed by NVIDIA as the data engine used for training GR00T-2, and is released to help researchers scale up custom robot datasets.

This model is for research and development only.

License/Terms of Use:

Use of this model is governed by the NVIDIA OneWay Noncommercial License (22 March 2022). This model has been post-trained on Qwen/Qwen3.5-27B, revision fc05daec18b0a78c049392ed2e771dde82bdf654. The Qwen base model is licensed under Apache License 2.0. You are responsible for ensuring that your use of NVIDIA provided models complies with all applicable laws.

Deployment Geography:

Global

Use Case:

Researchers, Academics, Open-Source Community: Annotating robot datasets with language; and research into emerging applications such as physical auto-research and human-to-robot transfer. Developers: Prototyping and evaluating data curation, filtering, and monitoring pipelines for robotics foundation model research.

Release Date:

Intended Use

Flora is intended for non-commercial robotics research and development only, including annotating robot and human demonstration videos. Flora is not intended or supported for commercial or production use. Flora outputs are annotations. It is not intended to directly control robots or to serve as the sole safety monitor for a physical system.

References(s):

Model Architecture:

Architecture Type: Transformer

Network Architecture: Other: Qwen3.5 vision-language model (natively multimodal vision encoder with a decoder-only Large Language Model)

This model was developed based on Qwen3.5-27B.

Number of model parameters:

  • Flora-captioner-27B: 2.7 x 10^10

Flora-captioner-27B is trained in two stages. Supervised fine-tuning updates all weights of the language model and visual merger, without Low-Rank Adaptation (LoRA), while keeping the visual patch embedding and visual transformer blocks frozen. The supervised model is then further optimized with reinforcement learning using Group Relative Policy Optimization (GRPO) with a reference-grounded caption-quality reward, with the vision encoder frozen. Sampled video frames are encoded by the vision encoder. Visual tokens from explicitly labeled BEFORE, TARGET, and AFTER blocks are combined with the annotation prompt and passed to the language model decoder. The decoder autoregressively generates one instruction for TARGET; context-only operations are not part of the requested output.

Input(s):

Input Type(s):

  • Video: Ordered Red, Green, Blue (RGB) frames for a TARGET interval, with optional BEFORE and AFTER context, from one camera or three synchronized cameras
  • Text: Prompt identifying the temporal blocks and camera roles and requesting a target-only action instruction; an episode task instruction may also be supplied

Input Format(s):

  • Video: Decoded RGB frames from a video file (e.g., .mp4), with their source-frame timing metadata
  • Text: String

Input Parameters:

  • Video: Four-Dimensional (4D): a sequence of RGB images (frames × height × width × 3), organized into labeled temporal blocks
  • Text: One-Dimensional (1D)

Other Properties Related to Input: The native reference inference profile is:

PropertySetting
Temporal blocksBEFORE, TARGET, AFTER, in this order; unavailable context is omitted
TARGET samplingDuration-adaptive sampling at nominal 8 Hz, with 8–40 frames
Context samplingNominal 8 Hz, with 4–12 frames per available block
Total frame budgetAt most 64 frames across all blocks
Frame preparationPreserve chronological order and the full duration of each block when applying its frame budget; use temporal-pair-compatible frame counts
Spatial preparationPreserve aspect ratio; cap each single-camera frame at 262,144 pixels, or each three-camera mosaic at 524,288 pixels, before the model processor's resize
ProcessorUse the trained Qwen3.5 processor and chat template, with a 32,768-token sequence budget; the native processor uses min_pixels=1024 and max_pixels=589824

8 Hz is the requested sampling rate, not the recording's source frame rate. Duration caps and source-frame availability can change the effective sampling rate. Preserve each block's source clock and selected source-frame indices in the processor's video metadata; disable additional frame sampling with do_sample_frames=False. Short source spans require the reference frame-planning policy rather than invented observations. Missing context can be omitted; source-limited targets must be handled explicitly.

Target intervals and camera layout

The caller supplies a half-open target interval [start_s, end_s) in the source video's clock. BEFORE and AFTER are the nearest available non-overlapping event intervals on either side, not a fixed number of seconds of padding. After temporal stitching, refresh these context intervals from the reconstructed event timeline. Sample all three blocks independently and ret

Quoted from the model card on Hugging Face. The full card is behind the Hugging Face link above.

© 2026 AxForge · EU-hosted AI infrastructure Pricing Docs Trust Privacy Terms