---
title: matrixgame3
---

<div class="python-reference">
<a id="fastvideo.models.dits.matrixgame3-classes"></a>
<a id="fastvideo.models.dits.matrixgame3.MatrixGame3ActionModule-functions"></a>
<a id="fastvideo.models.dits.matrixgame3.MatrixGame3CrossAttention-functions"></a>
<a id="fastvideo.models.dits.matrixgame3"></a>

<h2 id="fastvideo.models.dits.matrixgame3.MatrixGame3ActionModule"><code>fastvideo.models.dits.matrixgame3.MatrixGame3ActionModule</code></h2>
<pre class="doc-signature"><code>MatrixGame3ActionModule(mouse_dim_in: int = 2, keyboard_dim_in: int = 6, hidden_size: int = 128, img_hidden_size: int = 1536, keyboard_hidden_dim: int = 1024, mouse_hidden_dim: int = 1024, vae_time_compression_ratio: int = 4, windows_size: int = 3, heads_num: int = 16, patch_size: list | None = None, qk_norm: bool = True, qkv_bias: bool = False, rope_dim_list: list | None = None, rope_theta = 256, mouse_qk_dim_list: list | None = None, enable_mouse = True, enable_keyboard = True, blocks: list | None = None)</code></pre>
<p>action module from https://arxiv.org/pdf/2501.08325</p>

<h3 id="fastvideo.models.dits.matrixgame3.MatrixGame3ActionModule.patchify"><code>fastvideo.models.dits.matrixgame3.MatrixGame3ActionModule.patchify</code></h3>
<pre class="doc-signature"><code>patchify(x, patch_size)</code></pre>
<p>x : (N C T H W)</p>
<h3 id="fastvideo.models.dits.matrixgame3.MatrixGame3ActionModule.unpatchify"><code>fastvideo.models.dits.matrixgame3.MatrixGame3ActionModule.unpatchify</code></h3>
<pre class="doc-signature"><code>unpatchify(x, t, h, w, patch_size)</code></pre>
<p>x: (N, T, patch_size**2 * C)
imgs: (N, H, W, C)</p>
<h3 id="fastvideo.models.dits.matrixgame3.MatrixGame3ActionModule.get_rotary_pos_embed"><code>fastvideo.models.dits.matrixgame3.MatrixGame3ActionModule.get_rotary_pos_embed</code></h3>
<pre class="doc-signature"><code>get_rotary_pos_embed(video_length, height, width, head_dim, rope_dim_list = None)</code></pre>

<h3 id="fastvideo.models.dits.matrixgame3.MatrixGame3ActionModule.forward"><code>fastvideo.models.dits.matrixgame3.MatrixGame3ActionModule.forward</code></h3>
<pre class="doc-signature"><code>forward(x: torch.Tensor, tt: int, th: int, tw: int, mouse_condition: torch.Tensor | None = None, keyboard_condition: torch.Tensor | None = None, mouse_cond_memory: torch.Tensor | None = None, keyboard_cond_memory: torch.Tensor | None = None)</code></pre>
<p>hidden_states: B, tt<em>th</em>tw, C
mouse_condition: B, N_frames, C1
keyboard_condition: B, N_frames, C2</p>
<h2 id="fastvideo.models.dits.matrixgame3.MatrixGame3CrossAttention"><code>fastvideo.models.dits.matrixgame3.MatrixGame3CrossAttention</code></h2>
<pre class="doc-signature"><code>MatrixGame3CrossAttention(dim: int, num_heads: int, window_size = (-1, -1), qk_norm = True, eps = 1e-06, parallel_attention = False, quant_config: QuantizationConfig | None = None, prefix: str = &#x27;&#x27;)</code></pre>

<h3 id="fastvideo.models.dits.matrixgame3.MatrixGame3CrossAttention.forward"><code>fastvideo.models.dits.matrixgame3.MatrixGame3CrossAttention.forward</code></h3>
<pre class="doc-signature"><code>forward(x, context, context_lens = None)</code></pre>
<h4>Parameters</h4>
<dl>
<dt><code>x: Tensor</code></dt><dd><p>Shape [B, L1, C]</p></dd>
<dt><code>context: Tensor</code></dt><dd><p>Shape [B, L2, C] - typically 257 image tokens</p></dd>
<dt><code>context_lens: Tensor</code></dt><dd><p>Shape [B]</p></dd>
</dl>
<h2 id="fastvideo.models.dits.matrixgame3.MatrixGame3TransformerBlock"><code>fastvideo.models.dits.matrixgame3.MatrixGame3TransformerBlock</code></h2>
<pre class="doc-signature"><code>MatrixGame3TransformerBlock(dim: int, ffn_dim: int, num_heads: int, qk_norm: str = &#x27;rms_norm_across_heads&#x27;, cross_attn_norm: bool = False, eps: float = 1e-06, supported_attention_backends: tuple&#91;AttentionBackendEnum, ...&#93; | None = None, prefix: str = &#x27;&#x27;, action_config: dict | None = None, block_id: int | None = None, use_memory: bool = False)</code></pre>


<h3 id="fastvideo.models.dits.matrixgame3.MatrixGame3TransformerBlock.forward"><code>fastvideo.models.dits.matrixgame3.MatrixGame3TransformerBlock.forward</code></h3>
<pre class="doc-signature"><code>forward(hidden_states: torch.Tensor, encoder_hidden_states: torch.Tensor, temb: torch.Tensor, freqs: torch.Tensor, grid_sizes: tuple&#91;int, int, int&#93;, mouse_cond: torch.Tensor | None = None, keyboard_cond: torch.Tensor | None = None, mouse_cond_memory: torch.Tensor | None = None, keyboard_cond_memory: torch.Tensor | None = None, plucker_emb: torch.Tensor | None = None, memory_length: int = 0, memory_latent_idx: list&#91;int&#93; | tuple&#91;int, ...&#93; | torch.Tensor | None = None, predict_latent_idx: tuple&#91;int, int&#93; | list&#91;int&#93; | tuple&#91;int, ...&#93; | torch.Tensor | None = None) -&gt; torch.Tensor</code></pre>

<h2 id="fastvideo.models.dits.matrixgame3.MatrixGame3WanModel"><code>fastvideo.models.dits.matrixgame3.MatrixGame3WanModel</code></h2>
<pre class="doc-signature"><code>MatrixGame3WanModel(config: MatrixGame3WanVideoConfig, hf_config: dict&#91;str, Any&#93;, **kwargs)</code></pre>


<h3 id="fastvideo.models.dits.matrixgame3.MatrixGame3WanModel.forward"><code>fastvideo.models.dits.matrixgame3.MatrixGame3WanModel.forward</code></h3>
<pre class="doc-signature"><code>forward(hidden_states: torch.Tensor, encoder_hidden_states: torch.Tensor | list&#91;torch.Tensor&#93;, timestep: torch.LongTensor, mouse_cond: torch.Tensor | None = None, keyboard_cond: torch.Tensor | None = None, x_memory: torch.Tensor | None = None, timestep_memory: torch.Tensor | None = None, mouse_cond_memory: torch.Tensor | None = None, keyboard_cond_memory: torch.Tensor | None = None, c2ws_plucker_emb: torch.Tensor | None = None, memory_latent_idx: list&#91;int&#93; | tuple&#91;int, ...&#93; | torch.Tensor | None = None, predict_latent_idx: tuple&#91;int, int&#93; | list&#91;int&#93; | tuple&#91;int, ...&#93; | torch.Tensor | None = None, **kwargs) -&gt; torch.Tensor</code></pre>

</div>

<h2>Submodules</h2>
<ul>
<li><a href="/FastVideo/api/fastvideo/models/dits/matrixgame3/action_module">action_module</a></li>
<li><a href="/FastVideo/api/fastvideo/models/dits/matrixgame3/model">model</a></li>
<li><a href="/FastVideo/api/fastvideo/models/dits/matrixgame3/utils">utils</a></li>
</ul>
