---
title: lingbot_video
---

<div class="python-reference">
<a id="fastvideo.configs.models.encoders.lingbot_video-classes"></a>
<a id="fastvideo.configs.models.encoders.lingbot_video.LingBotVideoQwen3VLTextArchConfig-functions"></a>
<a id="fastvideo.configs.models.encoders.lingbot_video.LingBotVideoQwen3VLTextArchConfig.__post_init__"></a>
<a id="fastvideo.configs.models.encoders.lingbot_video"></a>
<p>Qwen3-VL text-only encoder configuration used by LingBot-Video.</p>
<h2 id="fastvideo.configs.models.encoders.lingbot_video.TextEncoderArchConfig"><code>fastvideo.configs.models.encoders.lingbot_video.TextEncoderArchConfig</code></h2>
<pre class="doc-signature"><code>TextEncoderArchConfig(stacked_params_mapping: list&#91;tuple&#91;str, str, str&#93;&#93; = list(), architectures: list&#91;str&#93; = (lambda: &#91;&#93;)(), _supported_attention_backends: tuple&#91;AttentionBackendEnum, ...&#93; = (AttentionBackendEnum.FLASH_ATTN, AttentionBackendEnum.TORCH_SDPA), output_hidden_states: bool = False, use_return_dict: bool = True, vocab_size: int = 0, hidden_size: int = 0, num_hidden_layers: int = 0, num_attention_heads: int = 0, pad_token_id: int = 0, eos_token_id: int = 0, text_len: int = 0, hidden_state_skip_layer: int = 0, decoder_start_token_id: int = 0, output_past: bool = True, scalable_attention: bool = True, tie_word_embeddings: bool = False, tokenizer_kwargs: dict&#91;str, Any&#93; = dict(), _fsdp_shard_conditions: list = (lambda: &#91;&#93;)(), require_processor: bool = False)</code></pre>


<h2 id="fastvideo.configs.models.encoders.lingbot_video.Qwen3TextArchConfig"><code>fastvideo.configs.models.encoders.lingbot_video.Qwen3TextArchConfig</code></h2>
<pre class="doc-signature"><code>Qwen3TextArchConfig(stacked_params_mapping: list&#91;tuple&#91;str, str, str | int&#93;&#93; = (lambda: &#91;(&#x27;.qkv_proj&#x27;, &#x27;.q_proj&#x27;, &#x27;q&#x27;), (&#x27;.qkv_proj&#x27;, &#x27;.k_proj&#x27;, &#x27;k&#x27;), (&#x27;.qkv_proj&#x27;, &#x27;.v_proj&#x27;, &#x27;v&#x27;), (&#x27;.gate_up_proj&#x27;, &#x27;.gate_proj&#x27;, 0), (&#x27;.gate_up_proj&#x27;, &#x27;.up_proj&#x27;, 1)&#93;)(), architectures: list&#91;str&#93; = (lambda: &#91;&#93;)(), _supported_attention_backends: tuple&#91;AttentionBackendEnum, ...&#93; = (AttentionBackendEnum.FLASH_ATTN, AttentionBackendEnum.TORCH_SDPA), output_hidden_states: bool = True, use_return_dict: bool = True, vocab_size: int = 151936, hidden_size: int = 2560, num_hidden_layers: int = 36, num_attention_heads: int = 32, pad_token_id: int = 151643, eos_token_id: int = 151645, text_len: int = 512, hidden_state_skip_layer: int = 0, decoder_start_token_id: int = 0, output_past: bool = True, scalable_attention: bool = True, tie_word_embeddings: bool = True, tokenizer_kwargs: dict&#91;str, Any&#93; = dict(), _fsdp_shard_conditions: list = (lambda: &#91;_is_transformer_layer, _is_embeddings, _is_final_norm&#93;)(), require_processor: bool = False, intermediate_size: int = 9728, num_key_value_heads: int = 8, hidden_act: str = &#x27;silu&#x27;, max_position_embeddings: int = 40960, initializer_range: float = 0.02, rms_norm_eps: float = 1e-06, use_cache: bool = True, bos_token_id: int = 151643, rope_theta: float = 1000000.0, rope_scaling: dict | None = None, attention_bias: bool = False, attention_dropout: float = 0.0, mlp_bias: bool = False, head_dim: int = 128)</code></pre>
<p>Architecture config for Qwen3 text encoder.</p>
<p>Qwen3 is similar to LLaMA but with QK-Norm (RMSNorm on Q and K before attention).
Used by Flux2 Klein.</p>

<h2 id="fastvideo.configs.models.encoders.lingbot_video.Qwen3TextConfig"><code>fastvideo.configs.models.encoders.lingbot_video.Qwen3TextConfig</code></h2>
<pre class="doc-signature"><code>Qwen3TextConfig(arch_config: TextEncoderArchConfig = Qwen3TextArchConfig(), prefix: str = &#x27;qwen3&#x27;, quant_config: QuantizationConfig | None = None, lora_config: Any | None = None, is_chat_model: bool = True, treat_empty_as_dot: bool = False, *, _resolved_attention_backend: AttentionBackendEnum | None = None, chat_template_enable_thinking: bool = False)</code></pre>
<p>Top-level config for Qwen3 text encoder.</p>

<h2 id="fastvideo.configs.models.encoders.lingbot_video.LingBotVideoQwen3VLTextArchConfig"><code>fastvideo.configs.models.encoders.lingbot_video.LingBotVideoQwen3VLTextArchConfig</code></h2>
<pre class="doc-signature"><code>LingBotVideoQwen3VLTextArchConfig(stacked_params_mapping: list&#91;tuple&#91;str, str, str | int&#93;&#93; = (lambda: &#91;(&#x27;.qkv_proj&#x27;, &#x27;.q_proj&#x27;, &#x27;q&#x27;), (&#x27;.qkv_proj&#x27;, &#x27;.k_proj&#x27;, &#x27;k&#x27;), (&#x27;.qkv_proj&#x27;, &#x27;.v_proj&#x27;, &#x27;v&#x27;), (&#x27;.gate_up_proj&#x27;, &#x27;.gate_proj&#x27;, 0), (&#x27;.gate_up_proj&#x27;, &#x27;.up_proj&#x27;, 1)&#93;)(), architectures: list&#91;str&#93; = (lambda: &#91;&#x27;LingBotVideoQwen3VLTextModel&#x27;&#93;)(), _supported_attention_backends: tuple&#91;AttentionBackendEnum, ...&#93; = (AttentionBackendEnum.FLASH_ATTN, AttentionBackendEnum.TORCH_SDPA), output_hidden_states: bool = True, use_return_dict: bool = True, vocab_size: int = 151936, hidden_size: int = 2560, num_hidden_layers: int = 36, num_attention_heads: int = 32, pad_token_id: int = 151643, eos_token_id: int = 151645, text_len: int = 37698, hidden_state_skip_layer: int = 0, decoder_start_token_id: int = 0, output_past: bool = True, scalable_attention: bool = True, tie_word_embeddings: bool = True, tokenizer_kwargs: dict&#91;str, Any&#93; = dict(), _fsdp_shard_conditions: list = (lambda: &#91;_is_transformer_layer, _is_embeddings, _is_final_norm&#93;)(), require_processor: bool = True, intermediate_size: int = 9728, num_key_value_heads: int = 8, hidden_act: str = &#x27;silu&#x27;, max_position_embeddings: int = 262144, initializer_range: float = 0.02, rms_norm_eps: float = 1e-06, use_cache: bool = True, bos_token_id: int = 151643, rope_theta: float = 5000000.0, rope_scaling: dict | None = None, attention_bias: bool = False, attention_dropout: float = 0.0, mlp_bias: bool = False, head_dim: int = 128, mrope_interleaved: bool = True, mrope_section: tuple&#91;int, int, int&#93; = (24, 20, 20))</code></pre>
<p>Exact Qwen3-VL language-model architecture released with LingBot-Video.</p>

<details><summary>Source</summary><pre><code>@dataclass
class LingBotVideoQwen3VLTextArchConfig(Qwen3TextArchConfig):
    &quot;&quot;&quot;Exact Qwen3-VL language-model architecture released with LingBot-Video.&quot;&quot;&quot;

    architectures: list&#91;str&#93; = field(default_factory=lambda: &#91;&quot;LingBotVideoQwen3VLTextModel&quot;&#93;)
    vocab_size: int = 151936
    hidden_size: int = 2560
    intermediate_size: int = 9728
    num_hidden_layers: int = 36
    num_attention_heads: int = 32
    num_key_value_heads: int = 8
    max_position_embeddings: int = 262144
    rms_norm_eps: float = 1e-6
    rope_theta: float = 5000000.0
    rope_scaling: dict | None = None
    mrope_interleaved: bool = True
    mrope_section: tuple&#91;int, int, int&#93; = (24, 20, 20)
    bos_token_id: int = 151643
    eos_token_id: int = 151645
    pad_token_id: int = 151643
    text_len: int = 37698
    output_hidden_states: bool = True
    require_processor: bool = True

    def __post_init__(self) -&gt; None:
        &quot;&quot;&quot;Match the official processor call used by LingBotVideoPipeline.&quot;&quot;&quot;
        self.tokenizer_kwargs = &#123;
            &quot;truncation&quot;: True,
            &quot;max_length&quot;: self.text_len,
            &quot;padding&quot;: &quot;longest&quot;,
            &quot;return_tensors&quot;: &quot;pt&quot;,
        &#125;</code></pre></details>
<h2 id="fastvideo.configs.models.encoders.lingbot_video.LingBotVideoQwen3VLTextConfig"><code>fastvideo.configs.models.encoders.lingbot_video.LingBotVideoQwen3VLTextConfig</code></h2>
<pre class="doc-signature"><code>LingBotVideoQwen3VLTextConfig(arch_config: TextEncoderArchConfig = LingBotVideoQwen3VLTextArchConfig(), prefix: str = &#x27;language_model&#x27;, quant_config: QuantizationConfig | None = None, lora_config: Any | None = None, is_chat_model: bool = False, treat_empty_as_dot: bool = False, *, _resolved_attention_backend: AttentionBackendEnum | None = None, chat_template_enable_thinking: bool = False)</code></pre>
<p>FastVideo loader config for the LingBot-Video text-only Qwen3-VL path.</p>

<details><summary>Source</summary><pre><code>@dataclass
class LingBotVideoQwen3VLTextConfig(Qwen3TextConfig):
    &quot;&quot;&quot;FastVideo loader config for the LingBot-Video text-only Qwen3-VL path.&quot;&quot;&quot;

    arch_config: TextEncoderArchConfig = field(default_factory=LingBotVideoQwen3VLTextArchConfig)
    prefix: str = &quot;language_model&quot;
    is_chat_model: bool = False</code></pre></details>
</div>
