Confirm your location and accept the MiniMax H3 Community License

This repository is publicly accessible, but you have to accept the conditions to access its files and content.

The MiniMax H3 Community License Agreement grants rights only outside the Excluded Territories: the European Union, the United Kingdom, the Republic of Korea and the United States of America. Use, reproduction, distribution and outputs inside those territories are not licensed.

Log in or Sign Up to review the conditions and access this model content.

Pika H3 Flex (FL2VA) β€” ROCmFPX GGUF

Powered by MiniMax H3.

Pika H3 Flex generates video with synchronized audio from a text prompt and, optionally, a first and/or last frame. These files are its FL2VA model (the Pika FL2VA adapter merged into the MiniMax-H3 FL2VA transformer) quantized to ROCmFPX weight types for stable-diffusion.cpp. Each file is the diffusion transformer only; the text encoder and the two VAEs come from the usual MiniMax-H3 downloads (see Run).

Licence and territory. Pika H3 Flex and MiniMax-H3 are distributed under the MiniMax H3 Community License Agreement (LICENSE, NOTICE). It grants rights only outside the European Union, the United Kingdom, the Republic of Korea and the United States of America. Do not download, use or share these files, or anything generated with them, in those territories. Use must also follow the Acceptable Use Policy in LICENSE.

Not made, sponsored or endorsed by MiniMax, Pika Labs or Mellis, Inc.

These files need stable-diffusion.cpp built on the ROCmFPX fork of ggml with the small patch in this repo (sdcpp-rocmfpx.patch). Stock stable-diffusion.cpp, ComfyUI and Diffusers cannot load them.

Files and measured quality

Each file rendered the same 4 prompts (a fox in snow, a rainy neon street, a woman speaking a line in a cafe, waves on rocks) at 320x192, 5 frames, seed 1, 6 LCM steps, on the CPU. The reference is the same merged model in stock Q8_0 (the BF16 model does not fit in the test machine's memory together with the text encoder). Frames are compared with PSNR / SSIM (higher is better) and LPIPS (lower is better); audio with the mean absolute difference of the log spectrogram (lower is better).

A 6-step video model turns small weight differences into small changes of composition (where the taxi is, the stride of the fox), so these numbers measure how far each file drifts from the reference rather than how good its video looks. Every file below produced clean, prompt-following video and audio in this test.

File Size PSNR SSIM LPIPS Audio Render time (test CPU)
Stock Q8_0 (reference, not published) 34.7 GB β€” β€” β€” β€” 2.0 min
Pika-H3-Flex-FL2VA-Q8_0_ROCMFPX.gguf 34.7 GB 22.78 0.766 0.161 0.353 2.1 min
Pika-H3-Flex-FL2VA-Q6_K_ROCMFPX.gguf 30.3 GB 20.78 0.695 0.212 0.596 61 min
Pika-H3-Flex-FL2VA-Q4_0_ROCMFP4.gguf 25.3 GB 17.52 0.565 0.308 0.870 5.9 min
Pika-H3-Flex-FL2VA-Q4_0_ROCMFP4_FAST.gguf 24.6 GB 15.57 0.498 0.351 0.883 6.6 min
Pika-H3-Flex-FL2VA-Q4_0_ROCMI4.gguf 24.6 GB 14.01 0.482 0.370 0.948 20.4 min
Stock Q4_K (baseline, not published) 25.3 GB 15.70 0.528 0.393 1.132 1.9 min

Q4_0_ROCMFP4 is the recommended file: it stays closer to the reference than stock Q4_K on every measure at the same size. Q8_0_ROCMFPX is the closest to the reference overall.

The 6-bit file is named Pika-H3-Flex-FL2VA-Q6_K_ROCMFPX.gguf so that Hugging Face lists it as a 6-bit quant. Its weights are the ROCmFPX Q6_0_ROCMFPX type, not a stock Q6_K.

Render time is for one test clip on the 20-core ARM CPU of the test machine (NVIDIA DGX Spark), where the ROCmFPX types run on their portable CPU code and are slower than the stock types (the 6-bit type has no fast ARM path at all). On AMD GPUs they run on dedicated kernels. These files have not been tested on AMD hardware yet; reports are welcome. Peak memory of a whole test render (transformer, Q4_K_M text encoder and both VAEs) was 44–45 GB with the 4-bit files and 53–54 GB with the 8-bit files. About 14 GB of every file is the adaLN layers, which stay in stock Q8_0 (see below).

How these were made

  1. The FP32 FL2VA adapter of Pika-Labs/Pika-H3-Flex (revision 3ff1664, rank and alpha 128) was merged into its Diffusers MiniMax-H3 FL2VA transformer in FP32 and rounded once to BF16. The transformer is bit-identical to the MiniMax-H3 FL2VA base that Comfy-Org publishes, which was checked tensor by tensor.
  2. The weights were rearranged into the original MiniMax-H3 layout that stable-diffusion.cpp loads (fused query/key/value projection, swapped halves of the first feed-forward layer, renamed input and output layers). This mapping was also checked tensor by tensor against Comfy-Org's minimax_h3_fl2va_bf16.safetensors.
  3. Tensor scales. ROCmFPX block scales have a lower limit, and most MiniMax-H3 weights are small enough to hit it. Each attention and feed-forward matrix is therefore multiplied by a power of two (chosen per matrix and per type) before it is quantized, and the inverse is stored as <name>.weight_scale. stable-diffusion.cpp already multiplies a linear layer's output by weight_scale, so no runtime code change is needed for this. Same scheme as LLAMA_ROCMFPX_TENSOR_SCALE=1 in the ROCmFPX fork of llama.cpp.
  4. sd-cli -M convert --type <type>. The adaLN layers (which turn the timestep into the per-layer modulation) and the text projection stay in stock Q8_0 in every file; the small input/output projections, the time embedder and all norms stay in F32. Only the attention and feed-forward matrices take the ROCmFPX type.
  5. Test renders on the CPU (ARM, NVIDIA DGX Spark).

Run

git clone https://github.com/HarshaVardhan3002/ROCmFPX
git clone https://github.com/leejet/stable-diffusion.cpp && cd stable-diffusion.cpp
git checkout b13a482 && git submodule update --init --recursive
git apply ../sdcpp-rocmfpx.patch
cmake -B build -DCMAKE_BUILD_TYPE=Release -DSD_USE_UPSTREAM_GGML=ON -DSD_GGML_SOURCE_DIR=$PWD/../ROCmFPX/ggml -DGGML_VULKAN=ON
cmake --build build -j --target sd-cli

Text encoder and VAEs (unchanged MiniMax-H3 components): qwen3vl_32b_minimax_h3-Q4_K_M.gguf and, from Comfy-Org/MiniMax-H3, minimax_h3_video_vae_fp16.safetensors and minimax_h3_audio_vae_fp32.safetensors.

build/bin/sd-cli -M vid_gen --diffusion-model Pika-H3-Flex-FL2VA-Q4_0_ROCMFP4.gguf \
  --llm qwen3vl_32b_minimax_h3-Q4_K_M.gguf --vae minimax_h3_video_vae_fp16.safetensors \
  --audio-vae minimax_h3_audio_vae_fp32.safetensors --cfg-scale 1.0 --sampling-method lcm --steps 6 \
  -W 864 -H 480 --video-frames 124 -o out.webm \
  -p "A red fox trots across a snowy meadow at sunrise, steam rising from its breath. Soft wind and crunching snow."

Add -i first.png for first-frame conditioning, or -i first.png --end-img last.png for first and last frames. See stable-diffusion.cpp's MiniMax-H3 guide.

Pika's own runtime samples with a fixed six-step schedule (timesteps 1000/750/500/250/100/40/0, video shift 12, audio shift 3, fresh noise between steps). Six LCM steps in stable-diffusion.cpp, used for the tests above, re-noise between steps the same way, but the step positions follow stable-diffusion.cpp's scheduler and are not guaranteed to match Pika's schedule exactly, so results can differ from Pika's runtime.

Downloads last month
-
GGUF
Model size
33B params
Architecture
Hardware compatibility
Log In to add your hardware

4-bit

6-bit

8-bit

Inference Providers NEW
This model isn't deployed by any Inference Provider. πŸ™‹ Ask for provider support

Model tree for Harsha001/Pika-H3-Flex-ROCmFPX

Quantized
(1)
this model