[docs]: add Pika H3 Flex to the cookbook

Three source recipes (T2VA, keyframes, Ref2VA) on one model page under
MiniMax H3, with knobs for task, resolution tier, aspect bucket,
duration, NVFP4 decoder and text encoder, offload mode, and GPU count.
The page uses the official Pika-Labs Hugging Face avatar.
This commit is contained in:
Aryan Kumar
2026-10-29 18:51:52 -07:00
parent f7e6c9750f
commit ec00e035db
9 changed files with 391 additions and 4 deletions
+1 -1
View File
@@ -5,7 +5,7 @@ export default function RecipeFamily({ family }: { family: string }) {
const models = modelDirectory.filter(
(model) =>
model.recipes.some((recipe) => recipe.family === family) ||
(family === "minimax_h3" && model.family === "FastH3"),
(family === "minimax_h3" && (model.family === "FastH3" || model.familyPath === "/cookbook/minimax-h3")),
);
return (
<div className="recipe-directory not-prose">
+3
View File
@@ -105,6 +105,8 @@ export interface SourceRecipe {
export const sourceRecipes = sourceCatalog.recipes as SourceRecipe[];
const familyInfo: Record<string, { title: string; path: string; logo: string; category: string }> = {
minimax_h3: { title: "MiniMax H3", path: "minimax-h3", logo: "minimax", category: "Video" },
// A post-trained MiniMax-H3 (Pika adapters on H3 components), listed with the H3 family.
pika_h3_flex: { title: "MiniMax H3", path: "minimax-h3", logo: "pika", category: "Video" },
wan: { title: "Wan", path: "wan", logo: "wan-ai", category: "Video" },
ltx2: { title: "LTX", path: "ltx", logo: "ltx", category: "Video" },
hunyuan: { title: "Hunyuan", path: "hunyuan", logo: "tencent-hunyuan", category: "Video" },
@@ -158,6 +160,7 @@ export const modelDirectory = [...new Set(sourceRecipes.map((recipe) => recipe.m
const providers: Record<string, string> = {
fastvideo: "FastVideo",
minimax: "MiniMax",
pika: "Pika",
"wan-ai": "Wan AI",
ltx: "Lightricks",
"tencent-hunyuan": "Tencent",
+4
View File
@@ -174,6 +174,10 @@
"label": "FastH3 4-Step V1",
"href": "/cookbook/minimax-h3/fasth3-4step"
},
{
"label": "Pika H3 Flex",
"href": "/cookbook/minimax-h3/models/pika-h3-flex-t2va"
},
{
"label": "Recipes and setup",
"href": "/cookbook/minimax-h3"
+31 -2
View File
@@ -223,7 +223,7 @@ test("inherited values, explicit false, zero and null retain their meanings", as
test("catalog discovery opens dedicated model recipes and filters by family and task", async ({ page }) => {
await page.goto("/FastVideo/cookbook");
const cards = page.locator(".recipe-card");
await expect(cards).toHaveCount(37);
await expect(cards).toHaveCount(38);
await expect(cards.first()).toContainText("FastH3 OmniRef");
await page.getByLabel("Model family", { exact: true }).selectOption("Wan");
await page.getByLabel("Search recipes").fill("Wan2.1 I2V");
@@ -277,7 +277,7 @@ test("output tabs support keyboard navigation and precision chips use the backen
await page.getByLabel("Search recipes").fill("does not exist");
await expect(page.getByRole("heading", { name: "No matching recipes" })).toBeVisible();
await page.getByRole("button", { name: "Clear filters" }).click();
await expect(page.locator(".recipe-card")).toHaveCount(37);
await expect(page.locator(".recipe-card")).toHaveCount(38);
});
test("cookbook cards and controls remain readable in dark mode and reflow at 320px", async ({ page }) => {
@@ -395,6 +395,35 @@ test("source-backed controls update the copied command without changing models",
await expect(page.getByLabel("Inference command", { exact: true })).toContainText("--num-gpus '2'");
});
test("Pika H3 Flex knobs select the tier, bucket, duration, task, and NVFP4 decoder", async ({ page }) => {
await page.goto("/FastVideo/cookbook/minimax-h3");
const pika = page.locator(".recipe-card").filter({ hasText: "Pika H3 Flex" });
await expect(pika.locator("img")).toHaveAttribute("src", /\/pika\.webp$/);
await expect(pika).toContainText("Pika");
await pika.click();
await expect(page).toHaveURL(/cookbook\/minimax-h3\/models\/pika-h3-flex-t2va$/);
const command = page.getByLabel("Inference command", { exact: true });
await expect(command).toContainText("FASTVIDEO_ATTENTION_BACKEND=FLASH_ATTN FASTVIDEO_FA4=1");
await chip(page, "Resolution", "480p");
await chip(page, "Aspect ratio", "9:16");
await chip(page, "Duration", "10 s (243 frames)");
await chip(page, "VAE decoder", "NVFP4 36L quality");
await expect(command).toContainText("--resolution '480p'");
await expect(command).toContainText("--aspect '9:16'");
await expect(command).toContainText("--duration '10'");
await expect(command).toContainText("--nvfp4-decoder './fasth3-nvfp4-vae/quality-36L/decoder-nvfp4.safetensors'");
await page
.getByRole("group", { name: "Recipe variant", exact: true })
.getByRole("button", { name: "Pika H3 Flex keyframes", exact: true })
.click();
await expect(command).toContainText("--task fl2va --offload resident");
await chip(page, "Task", "First frame (I2VA)");
await chip(page, "Memory", "Lazy load + offload");
await expect(command).toContainText("--task 'i2va'");
await expect(command).toContainText("--offload 'lazy'");
await expect(page.getByRole("button", { name: "Copy example + command", exact: true })).toBeEnabled();
});
test("Wan I2V requires an image for CLI and SDK examples without changing server defaults", async ({ page }) => {
await page.goto("/FastVideo/cookbook/wan/wan21-i2v");
await chip(page, "Run mode", "CLI");
+324 -1
View File
@@ -1,5 +1,5 @@
{
"version": 19,
"version": 20,
"recipes": [
{
"id": "fastwan21-t2v",
@@ -760,6 +760,329 @@
],
"limitations": ["Pass --reference-audio for an additional audio reference. The checked-in source defaults to four GPUs."]
},
{
"id": "pika-h3-flex-t2va",
"family": "pika_h3_flex",
"stage": "inference",
"task": "Text to video (with audio)",
"label": "Pika H3 Flex",
"summary": "Pika's post-trained MiniMax-H3: synchronized video and stereo audio from text in six forwards, at 480p or 768p, 5-15 s, with optional NVFP4 decoder and text encoder on Blackwell.",
"model": "Pika-Labs/Pika-H3-Flex",
"source": "examples/inference/basic/basic_pika_h3_flex.py",
"command": "FASTVIDEO_ATTENTION_BACKEND=FLASH_ATTN FASTVIDEO_FA4=1 python examples/inference/basic/basic_pika_h3_flex.py --task t2va --offload resident --prompt 'A paper boat drifts down a rainy city street at night; rain patters on the water.'",
"gpu_types": ["NVIDIA"],
"hardware": {
"platform": "cuda",
"gpu_count": 1,
"accelerator": "NVIDIA GB200",
"peak_memory": "About 129 GiB resident (BF16, 768p, 5 s)",
"evidence": "validated",
"evidence_url": "https://github.com/hao-ai-lab/FastVideo/pull/2038"
},
"evidence": "Verified",
"expected_artifact": "MP4 with synchronized stereo audio at outputs/pika_h3_flex/pika_h3_flex_t2va.mp4",
"modes": ["T2VA"],
"knobs": [
{
"key": "resolution",
"label": "Resolution",
"hint": "Pika resolution tier",
"flag": "--resolution",
"options": [{"value": "768p", "label": "768p"}, {"value": "480p", "label": "480p"}],
"default": "768p"
},
{
"key": "aspect",
"label": "Aspect ratio",
"hint": "Bucket within the tier",
"flag": "--aspect",
"options": ["21:9", "16:9", "3:2", "4:3", "5:4", "1:1", "4:5", "3:4", "2:3", "9:16", "9:21"],
"default": "16:9"
},
{
"key": "duration",
"label": "Duration",
"hint": "Rounded up to the 17n+5 frame grid",
"flag": "--duration",
"options": [
{"value": 5, "label": "5 s (124 frames)"},
{"value": 10, "label": "10 s (243 frames)"},
{"value": 15, "label": "15 s (362 frames)"}
],
"default": 5
},
{
"key": "nvfp4_decoder",
"label": "VAE decoder",
"hint": "NVFP4 needs Blackwell",
"flag": "--nvfp4-decoder",
"options": [
{"value": "", "label": "BF16 H3 VAE"},
{"value": "./fasth3-nvfp4-vae/quality-36L/decoder-nvfp4.safetensors", "label": "NVFP4 36L quality"},
{"value": "./fasth3-nvfp4-vae/fast-8L/decoder-nvfp4.safetensors", "label": "NVFP4 8L fast"}
],
"default": ""
},
{
"key": "nvfp4_text_encoder",
"label": "Text encoder",
"hint": "NVFP4 needs Blackwell",
"flag": "--nvfp4-text-encoder",
"options": [
{"value": "", "label": "BF16 Qwen3-VL"},
{"value": "./fasth3-nvfp4-encoder/text_encoder", "label": "NVFP4 Qwen3-VL"}
],
"default": ""
},
{
"key": "offload",
"label": "Memory",
"hint": "Resident is how the GB200 timings were measured",
"flag": "--offload",
"options": [
{"value": "resident", "label": "All resident (fastest)"},
{"value": "lazy", "label": "Lazy load + offload"}
],
"default": "resident"
},
{
"key": "num_gpus",
"label": "GPUs",
"hint": "Sequence-parallel degree",
"flag": "--num-gpus",
"options": [1, 2, 4, 8],
"default": 1
}
],
"limitations": [
"Measured on one GB200 at 768p 16:9, 5 s, warm: official pika-h3-pro CLI 59.7 s; FastVideo BF16 26.2 s; with the NVFP4 quality-36L decoder 18.0 s; with the fast-8L decoder 17.4 s. The 36L decoder measured 40.5 dB PSNR against the BF16 decoder.",
"Peak resident memory was about 129 GiB for the all-BF16 run and 104.6 GiB with the NVFP4 text encoder (25.49 s) at 768p / 5 s on GB200; the official CLI's sampling peak was 71.7 GiB, a different measurement. The NVFP4 text encoder's first request in a fresh process pays a one-time cost of about 183 s.",
"--offload resident keeps every component on the GPU (104.6-108.5 GiB peak with the NVFP4 text encoder, about 129 GiB all-BF16, on GB200). --offload lazy loads components on demand for smaller devices; on GB200 it took 48.06 s for the same T2VA request.",
"FASTVIDEO_ATTENTION_BACKEND=FLASH_ATTN FASTVIDEO_FA4=1 selects FlashAttention-4 on Hopper or Blackwell; FA4 is never enabled just because it is installed. Without FA4, attention uses FA3/FA2 if installed and otherwise falls back to SDPA, which is slow and can run out of memory at 768p.",
"The NVFP4 decoder and text encoder are Blackwell-only. Download them before selecting them: hf download FastVideo/FastH3-NVFP4-VAE-Decoder --include 'quality-36L/decoder-nvfp4.safetensors' 'fast-8L/decoder-nvfp4.safetensors' --local-dir fasth3-nvfp4-vae; hf download FastVideo/FastVideo-FastH3-8-Step-V2-NVFP4-Consumer --include 'text_encoder/*' --local-dir fasth3-nvfp4-encoder. The 8L decoder is a distilled student; validate it on your prompts.",
"The six-forward re-noise ladder is part of the adapter contract; the example exposes no step-count flag."
],
"related": ["pika-h3-flex-keyframes", "pika-h3-flex-ref2va"]
},
{
"id": "pika-h3-flex-keyframes",
"family": "pika_h3_flex",
"stage": "inference",
"task": "First/last frame to video (with audio)",
"label": "Pika H3 Flex keyframes",
"summary": "Animate from a first frame (I2VA), toward a last frame (L2VA), or between both (FL2VA). Pika center-crops each keyframe to the selected bucket.",
"model": "Pika-Labs/Pika-H3-Flex",
"source": "examples/inference/basic/basic_pika_h3_flex.py",
"command": "FASTVIDEO_ATTENTION_BACKEND=FLASH_ATTN FASTVIDEO_FA4=1 python examples/inference/basic/basic_pika_h3_flex.py --task fl2va --offload resident --image assets/images/natural.jpg --last-image assets/images/peninsula.jpg --prompt 'The camera drifts from the misty mountain ridge down to the coastal cliffs above the sea.'",
"gpu_types": ["NVIDIA"],
"hardware": {
"platform": "cuda",
"gpu_count": 1,
"accelerator": "NVIDIA GB200",
"peak_memory": "105.2 GiB FL2VA, 104.9 GiB I2VA (NVFP4 text encoder, 768p, 5 s)",
"evidence": "validated",
"evidence_url": "https://github.com/hao-ai-lab/FastVideo/pull/2038"
},
"evidence": "Verified",
"expected_artifact": "MP4 with synchronized stereo audio at outputs/pika_h3_flex/pika_h3_flex_<task>.mp4",
"modes": ["I2VA", "L2VA", "FL2VA"],
"knobs": [
{
"key": "task",
"label": "Task",
"hint": "Which keyframes condition the clip",
"flag": "--task",
"options": [
{"value": "i2va", "label": "First frame (I2VA)"},
{"value": "l2va", "label": "Last frame (L2VA)"},
{"value": "fl2va", "label": "First and last (FL2VA)"}
],
"default": "fl2va"
},
{
"key": "resolution",
"label": "Resolution",
"hint": "Pika resolution tier",
"flag": "--resolution",
"options": [{"value": "768p", "label": "768p"}, {"value": "480p", "label": "480p"}],
"default": "768p"
},
{
"key": "aspect",
"label": "Aspect ratio",
"hint": "Bucket within the tier",
"flag": "--aspect",
"options": ["21:9", "16:9", "3:2", "4:3", "5:4", "1:1", "4:5", "3:4", "2:3", "9:16", "9:21"],
"default": "16:9"
},
{
"key": "duration",
"label": "Duration",
"hint": "Rounded up to the 17n+5 frame grid",
"flag": "--duration",
"options": [
{"value": 5, "label": "5 s (124 frames)"},
{"value": 10, "label": "10 s (243 frames)"},
{"value": 15, "label": "15 s (362 frames)"}
],
"default": 5
},
{
"key": "nvfp4_decoder",
"label": "VAE decoder",
"hint": "NVFP4 needs Blackwell",
"flag": "--nvfp4-decoder",
"options": [
{"value": "", "label": "BF16 H3 VAE"},
{"value": "./fasth3-nvfp4-vae/quality-36L/decoder-nvfp4.safetensors", "label": "NVFP4 36L quality"},
{"value": "./fasth3-nvfp4-vae/fast-8L/decoder-nvfp4.safetensors", "label": "NVFP4 8L fast"}
],
"default": ""
},
{
"key": "nvfp4_text_encoder",
"label": "Text encoder",
"hint": "NVFP4 needs Blackwell",
"flag": "--nvfp4-text-encoder",
"options": [
{"value": "", "label": "BF16 Qwen3-VL"},
{"value": "./fasth3-nvfp4-encoder/text_encoder", "label": "NVFP4 Qwen3-VL"}
],
"default": ""
},
{
"key": "offload",
"label": "Memory",
"hint": "Resident is how the GB200 timings were measured",
"flag": "--offload",
"options": [
{"value": "resident", "label": "All resident (fastest)"},
{"value": "lazy", "label": "Lazy load + offload"}
],
"default": "resident"
},
{
"key": "num_gpus",
"label": "GPUs",
"hint": "Sequence-parallel degree",
"flag": "--num-gpus",
"options": [1, 2, 4, 8],
"default": 1
}
],
"limitations": [
"Measured on one GB200 at 768p, 5 s, seed 42, NVFP4 text encoder, all resident: FL2VA 28.95 s (first frame 39.6 dB / SSIM 0.971 and last frame 29.1 dB / 0.819 against the inputs); I2VA 27.37 s (first frame 26.5 dB / 0.715). L2VA was not measured separately.",
"The command passes both keyframes; the example uses only the ones the selected task needs. Replace them with your own images.",
"--offload resident keeps every component on the GPU (104.6-108.5 GiB peak with the NVFP4 text encoder, about 129 GiB all-BF16, on GB200). --offload lazy loads components on demand for smaller devices; on GB200 it took 48.06 s for the same T2VA request.",
"FASTVIDEO_ATTENTION_BACKEND=FLASH_ATTN FASTVIDEO_FA4=1 selects FlashAttention-4 on Hopper or Blackwell; FA4 is never enabled just because it is installed. Without FA4, attention uses FA3/FA2 if installed and otherwise falls back to SDPA, which is slow and can run out of memory at 768p.",
"The NVFP4 decoder and text encoder are Blackwell-only. Download them before selecting them: hf download FastVideo/FastH3-NVFP4-VAE-Decoder --include 'quality-36L/decoder-nvfp4.safetensors' 'fast-8L/decoder-nvfp4.safetensors' --local-dir fasth3-nvfp4-vae; hf download FastVideo/FastVideo-FastH3-8-Step-V2-NVFP4-Consumer --include 'text_encoder/*' --local-dir fasth3-nvfp4-encoder. The 8L decoder is a distilled student; validate it on your prompts."
],
"related": ["pika-h3-flex-t2va", "pika-h3-flex-ref2va"]
},
{
"id": "pika-h3-flex-ref2va",
"family": "pika_h3_flex",
"stage": "inference",
"task": "Reference media to video (with audio)",
"label": "Pika H3 Flex references",
"summary": "Generate from ordered image, video, and audio references through Pika's ref2va adapter: up to 9 images, 3 videos, and 3 audio clips.",
"model": "Pika-Labs/Pika-H3-Flex",
"source": "examples/inference/basic/basic_pika_h3_flex.py",
"command": "FASTVIDEO_ATTENTION_BACKEND=FLASH_ATTN FASTVIDEO_FA4=1 python examples/inference/basic/basic_pika_h3_flex.py --task ref2va --offload resident --reference image:assets/images/natural.jpg --reference image:assets/images/bus_terminal.jpg --prompt 'Start on the misty mountain ridge from the first reference, then cut to the night bus terminal from the second.'",
"gpu_types": ["NVIDIA"],
"hardware": {
"platform": "cuda",
"gpu_count": 1,
"accelerator": "NVIDIA GB200",
"peak_memory": "108.5 GiB with two image references (NVFP4 text encoder, 768p, 5 s)",
"evidence": "validated",
"evidence_url": "https://github.com/hao-ai-lab/FastVideo/pull/2038"
},
"evidence": "Verified",
"expected_artifact": "MP4 with synchronized stereo audio at outputs/pika_h3_flex/pika_h3_flex_ref2va.mp4",
"modes": ["Ref2VA"],
"knobs": [
{
"key": "resolution",
"label": "Resolution",
"hint": "Pika resolution tier",
"flag": "--resolution",
"options": [{"value": "768p", "label": "768p"}, {"value": "480p", "label": "480p"}],
"default": "768p"
},
{
"key": "aspect",
"label": "Aspect ratio",
"hint": "Bucket within the tier",
"flag": "--aspect",
"options": ["21:9", "16:9", "3:2", "4:3", "5:4", "1:1", "4:5", "3:4", "2:3", "9:16", "9:21"],
"default": "16:9"
},
{
"key": "duration",
"label": "Duration",
"hint": "Rounded up to the 17n+5 frame grid",
"flag": "--duration",
"options": [
{"value": 5, "label": "5 s (124 frames)"},
{"value": 10, "label": "10 s (243 frames)"},
{"value": 15, "label": "15 s (362 frames)"}
],
"default": 5
},
{
"key": "nvfp4_decoder",
"label": "VAE decoder",
"hint": "NVFP4 needs Blackwell",
"flag": "--nvfp4-decoder",
"options": [
{"value": "", "label": "BF16 H3 VAE"},
{"value": "./fasth3-nvfp4-vae/quality-36L/decoder-nvfp4.safetensors", "label": "NVFP4 36L quality"},
{"value": "./fasth3-nvfp4-vae/fast-8L/decoder-nvfp4.safetensors", "label": "NVFP4 8L fast"}
],
"default": ""
},
{
"key": "nvfp4_text_encoder",
"label": "Text encoder",
"hint": "NVFP4 needs Blackwell",
"flag": "--nvfp4-text-encoder",
"options": [
{"value": "", "label": "BF16 Qwen3-VL"},
{"value": "./fasth3-nvfp4-encoder/text_encoder", "label": "NVFP4 Qwen3-VL"}
],
"default": ""
},
{
"key": "offload",
"label": "Memory",
"hint": "Resident is how the GB200 timings were measured",
"flag": "--offload",
"options": [
{"value": "resident", "label": "All resident (fastest)"},
{"value": "lazy", "label": "Lazy load + offload"}
],
"default": "resident"
},
{
"key": "num_gpus",
"label": "GPUs",
"hint": "Sequence-parallel degree",
"flag": "--num-gpus",
"options": [1, 2, 4, 8],
"default": 1
}
],
"limitations": [
"Measured on one GB200 at 768p, 5 s, seed 42, NVFP4 text encoder, all resident, two image references: 51.17 s (38.42 s denoise, 64,241 packed tokens); both references appear in the output.",
"Repeat --reference image:PATH, video:PATH, or audio:PATH in order. At least one image or video is required; a video reference needs at least 22 frames at 24 fps.",
"Ref2VA loads transformer_ref and the ref2va adapter, a separate 61.7 GiB trunk download. Reference images are encoded at up to a 1024 (480p) or 2048 (768p) short edge, so conditioning memory is higher than T2VA's.",
"--offload resident keeps every component on the GPU (104.6-108.5 GiB peak with the NVFP4 text encoder, about 129 GiB all-BF16, on GB200). --offload lazy loads components on demand for smaller devices; on GB200 it took 48.06 s for the same T2VA request.",
"FASTVIDEO_ATTENTION_BACKEND=FLASH_ATTN FASTVIDEO_FA4=1 selects FlashAttention-4 on Hopper or Blackwell; FA4 is never enabled just because it is installed. Without FA4, attention uses FA3/FA2 if installed and otherwise falls back to SDPA, which is slow and can run out of memory at 768p.",
"The NVFP4 decoder and text encoder are Blackwell-only. Download them before selecting them: hf download FastVideo/FastH3-NVFP4-VAE-Decoder --include 'quality-36L/decoder-nvfp4.safetensors' 'fast-8L/decoder-nvfp4.safetensors' --local-dir fasth3-nvfp4-vae; hf download FastVideo/FastVideo-FastH3-8-Step-V2-NVFP4-Consumer --include 'text_encoder/*' --local-dir fasth3-nvfp4-encoder. The 8L decoder is a distilled student; validate it on your prompts."
],
"related": ["pika-h3-flex-t2va", "pika-h3-flex-keyframes"]
},
{
"id": "fasth3-lora-preview",
"family": "minimax_h3",
+1
View File
@@ -15,6 +15,7 @@ plain typographic tile instead — that tile is a UI placeholder, not a logo.
| `black-forest-labs.webp` | [Official Black Forest Labs Hugging Face organization avatar](https://huggingface.co/black-forest-labs) | FLUX family card and page header |
| `qwen.webp` | [Official Qwen Hugging Face organization avatar](https://huggingface.co/Qwen) | Qwen-Image-2.1 family card and page header |
| `minimax.webp` | [Official MiniMax Hugging Face organization avatar](https://huggingface.co/MiniMaxAI) | MiniMax H3 family card and page header |
| `pika.webp` | [Official Pika-Labs Hugging Face organization avatar](https://huggingface.co/Pika-Labs) | Pika H3 Flex card and page header |
| `stabilityai.webp` | [Official Stability AI Hugging Face organization avatar](https://huggingface.co/stabilityai) | Stable Diffusion and Stable Audio cards and page headers |
| `fastvideo.webp` | [Official FastVideo Hugging Face organization avatar](https://huggingface.co/FastVideo) | Matrix Game and MMAudio cards (converted weights published by this org) |
Binary file not shown.

After

Width:  |  Height:  |  Size: 1.5 KiB

+26
View File
@@ -72,6 +72,32 @@
</div>
</details>
<details id="pika-h3-flex">
<summary>Pika H3 Flex</summary>
<div >
<p>Pika H3 Flex is Pika's post-trained MiniMax-H3: the H3 components plus a rank-128 adapter that FastVideo applies automatically, sampled with a fixed six-forward re-noise ladder. One recipe page covers T2VA, the keyframe tasks (I2VA, L2VA, FL2VA), and Ref2VA. Its builder selects the resolution tier (480p or 768p), the aspect bucket, the duration (5, 10, or 15 s), and the optional Blackwell NVFP4 decoder and text encoder. The <a href="../../inference/pika_h3_flex/">Pika H3 Flex runbook</a> has the full sampling and geometry contract.</p>
<pre><code>FASTVIDEO_ATTENTION_BACKEND=FLASH_ATTN FASTVIDEO_FA4=1 \
python examples/inference/basic/basic_pika_h3_flex.py --task t2va --offload resident \
--resolution 768p --aspect 16:9 --duration 5 \
--prompt "A paper boat drifts down a rainy city street at night."</code></pre>
<table>
<thead>
<tr>
<th>T2VA on one GB200, 768p 16:9, 5 s, warm, all resident</th>
<th>Time</th>
</tr>
</thead>
<tbody>
<tr><td>Official <code>pika-h3-pro</code> CLI</td><td>59.7 s</td></tr>
<tr><td>FastVideo BF16</td><td>26.2 s</td></tr>
<tr><td>+ NVFP4 <code>quality-36L</code> decoder (40.5 dB PSNR vs BF16 decoder)</td><td>18.0 s</td></tr>
<tr><td>+ NVFP4 <code>fast-8L</code> decoder</td><td>17.4 s</td></tr>
</tbody>
</table>
<p>The BF16 run peaked at about 129 GiB resident on GB200; the official CLI's sampling peak was 71.7 GiB. With the NVFP4 text encoder, I2VA took 27.37 s, FL2VA 28.95 s, and Ref2VA with two image references 51.17 s, at 104.9 to 108.5 GiB peak. The example's default <code>--offload lazy</code> fits smaller devices but reloads components per request (48.06 s for the same T2VA request on GB200). FlashAttention-4 needs <code>FASTVIDEO_FA4=1</code> even when it is installed. Without it, attention uses FA3 or FA2 if one is installed and otherwise falls back to SDPA, which is slow and can run out of memory at 768p. GB10 has no FA4, so drop the prefix on DGX Spark.</p>
</div>
</details>
<details id="cookbook-setup">
<summary>Setup</summary>
<div >
+1
View File
@@ -39,6 +39,7 @@ COOKBOOK_FAMILIES = {
"qwen_image21",
"sd35",
"minimax_h3",
"pika_h3_flex",
"stable_audio",
"mmaudio",
"matrixgame",