iamkaikai commited on
Commit
fb3a495
·
verified ·
1 Parent(s): cb771fa

Initial release: 500K single-frame decoder

Browse files
.DS_Store ADDED
Binary file (6.15 kB). View file
 
.gitattributes CHANGED
@@ -33,3 +33,18 @@ saved_model/**/* filter=lfs diff=lfs merge=lfs -text
33
  *.zip filter=lfs diff=lfs merge=lfs -text
34
  *.zst filter=lfs diff=lfs merge=lfs -text
35
  *tfevents* filter=lfs diff=lfs merge=lfs -text
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
33
  *.zip filter=lfs diff=lfs merge=lfs -text
34
  *.zst filter=lfs diff=lfs merge=lfs -text
35
  *tfevents* filter=lfs diff=lfs merge=lfs -text
36
+ examples/edit/product-material/transition-grid.png filter=lfs diff=lfs merge=lfs -text
37
+ examples/edit/sketch-render/transition-grid.png filter=lfs diff=lfs merge=lfs -text
38
+ examples/edit/sofa-recolor/transition-grid.png filter=lfs diff=lfs merge=lfs -text
39
+ examples/reconstruction/native-h3-single-frame.png filter=lfs diff=lfs merge=lfs -text
40
+ examples/reconstruction/reconstruction-diagram.png filter=lfs diff=lfs merge=lfs -text
41
+ examples/reconstruction/reconstruction-stress.png filter=lfs diff=lfs merge=lfs -text
42
+ examples/t2i/diagram-community.png filter=lfs diff=lfs merge=lfs -text
43
+ examples/t2i/diagram-comparison.png filter=lfs diff=lfs merge=lfs -text
44
+ examples/t2i/diagram-ours.png filter=lfs diff=lfs merge=lfs -text
45
+ examples/t2i/natural-community.png filter=lfs diff=lfs merge=lfs -text
46
+ examples/t2i/natural-comparison.png filter=lfs diff=lfs merge=lfs -text
47
+ examples/t2i/natural-ours.png filter=lfs diff=lfs merge=lfs -text
48
+ examples/t2i/product-community.png filter=lfs diff=lfs merge=lfs -text
49
+ examples/t2i/product-comparison.png filter=lfs diff=lfs merge=lfs -text
50
+ examples/t2i/product-ours.png filter=lfs diff=lfs merge=lfs -text
MODIFICATIONS.md ADDED
@@ -0,0 +1,13 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ # Modifications
2
+
3
+ `minimax_h3_single_frame_decoder_500k.safetensors` is a modified decoder-side
4
+ checkpoint derived from MiniMax H3 and Mamad8/MiniMax-H3-Image-VAE.
5
+
6
+ The H3-compatible encoder and `quant_conv` remained frozen. The full decoder
7
+ and `post_quant_conv` were further trained for 62,500 optimizer updates on
8
+ 500,000 unique still-image reconstruction examples using the curriculum and
9
+ objective documented in `README.md`.
10
+
11
+ This modification targets independent single-frame decoding. It does not claim
12
+ full-sequence video compatibility.
13
+
README.md ADDED
@@ -0,0 +1,345 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ ---
2
+ base_model:
3
+ - MiniMaxAI/MiniMax-H3
4
+ - Mamad8/MiniMax-H3-Image-VAE
5
+ library_name: diffusers
6
+ tags:
7
+ - minimax-h3
8
+ - vae
9
+ - decoder
10
+ - image-reconstruction
11
+ - single-frame
12
+ - experimental
13
+ ---
14
+
15
+ # MiniMax H3 Single-Frame VAE 500K
16
+
17
+ This is an independent, experimental **decoder-only** checkpoint for decoding
18
+ one image from a MiniMax H3 latent slice. It is not a full MiniMax H3 model, it
19
+ does not include an encoder or transformer, and it is not used in production.
20
+
21
+ The decoder started from
22
+ [`Mamad8/MiniMax-H3-Image-VAE`](https://huggingface.co/Mamad8/MiniMax-H3-Image-VAE)
23
+ and was further trained on 500,000 unique image-reconstruction examples using
24
+ the frozen H3-compatible encoder. The full decoder and `post_quant_conv` were
25
+ trainable. Text and captions were not used during decoder training.
26
+
27
+ ## Scope
28
+
29
+ Use this checkpoint when the intended output is one independently decoded
30
+ image. It is most reliable on structured content such as product contours,
31
+ line art, diagrams, documents, and UI-like layouts.
32
+
33
+ Do **not** treat it as a replacement decoder for MiniMax H3 video. Still-image
34
+ training supervised one temporal boundary condition, while the full temporal
35
+ decoder weights were updated. Later frames in a full-sequence decode can show
36
+ grid or block artifacts, flicker, abrupt transitions, and texture drift.
37
+
38
+ ## Examples
39
+
40
+ All decoder comparisons use the same input image or the same frozen generated
41
+ latent for every displayed decoder. The new T2I prompts were fixed before the
42
+ outputs were reviewed.
43
+
44
+ ### Reconstruction
45
+
46
+ ![Diagram reconstruction comparison](examples/reconstruction/reconstruction-diagram.png)
47
+
48
+ The fixed benchmark also includes natural photographs and scene text. Their
49
+ aggregate metrics are reported below, but the source images are not
50
+ redistributed here. A procedurally generated
51
+ [high-frequency stress case](examples/reconstruction/reconstruction-stress.png)
52
+ and a [native H3 single-frame comparison](examples/reconstruction/native-h3-single-frame.png)
53
+ are included.
54
+
55
+ ### H3 text-to-image through a single latent slice
56
+
57
+ The H3 `t2va` workflow generated a full normalized latent sequence. One fixed
58
+ temporal slice was then independently decoded with the community decoder and
59
+ this checkpoint.
60
+
61
+ ![Product T2I comparison](examples/t2i/product-comparison.png)
62
+
63
+ Prompt: “Studio product photograph of a compact futuristic electric espresso
64
+ machine, brushed aluminum and matte black, precise industrial design, centered
65
+ three-quarter view, soft gray seamless background, crisp edges, realistic
66
+ materials, no people, no text.”
67
+
68
+ Additional fixed examples:
69
+
70
+ - [Industrial-design board](examples/t2i/diagram-comparison.png)
71
+ - [Natural photograph](examples/t2i/natural-comparison.png)
72
+
73
+ These examples test the decoder, not a native text-to-image pipeline. H3 still
74
+ constructs and denoises its joint video/audio latent, so this is substantially
75
+ more expensive than a purpose-built image generator.
76
+
77
+ ### First-frame-conditioned image editing
78
+
79
+ The following examples use H3's `fl2va` workflow. The contact sheets show the
80
+ source followed by independently decoded temporal slices. They intentionally
81
+ show the transition instead of selecting only the most flattering frame.
82
+
83
+ ![Sofa recolor transition](examples/edit/sofa-recolor/transition-grid.png)
84
+
85
+ Instruction: “Change only the sofa upholstery from rust red to deep navy blue
86
+ velvet. Preserve the room layout, window, lamp, rug, floor, lighting, and
87
+ camera.”
88
+
89
+ Additional edits:
90
+
91
+ - [Sketch-to-render transition](examples/edit/sketch-render/transition-grid.png)
92
+ - [Product-material transition](examples/edit/product-material/transition-grid.png)
93
+
94
+ This is image-conditioned video used as a static-edit experiment. Early slices
95
+ usually reconstruct the source, later slices apply more of the requested edit,
96
+ and composition, lighting, material, or geometry can drift during the
97
+ transition. A useful result may depend on searching multiple slices. That is a
98
+ fundamental limitation compared with a native image-edit model.
99
+
100
+ ## Fixed reconstruction benchmark
101
+
102
+ The benchmark contains 288 held-out cases spanning photographs, text,
103
+ documents, diagrams, line art, product contours, UI-like content, and synthetic
104
+ high-frequency stress patterns.
105
+
106
+ | Decoder | PSNR dB ↑ | SSIM ↑ | LPIPS-Alex ↓ | DISTS ↓ | Edge F1 ↑ |
107
+ |---|---:|---:|---:|---:|---:|
108
+ | Official MiniMax H3 VAE | 30.3544 | **0.9258** | **0.0323** | **0.0533** | **0.7387** |
109
+ | Mamad8/MiniMax-H3-Image-VAE | 22.7022 | 0.8060 | 0.1671 | 0.2494 | 0.4647 |
110
+ | **This checkpoint** | **31.1185** | 0.9208 | 0.0454 | 0.0883 | 0.7236 |
111
+
112
+ This checkpoint has the highest PSNR in this three-way benchmark, but the
113
+ official H3 decoder remains better on SSIM, LPIPS, DISTS, and Edge F1. The
114
+ result should not be read as universal superiority over the official decoder.
115
+
116
+ ### What the aggregate metrics mean
117
+
118
+ - PSNR emphasizes average pixel accuracy. This checkpoint is `+0.7641` dB
119
+ above official H3 and `+8.4163` dB above the community initialization.
120
+ - SSIM measures structural similarity. Official H3 remains ahead by `0.0050`.
121
+ - LPIPS and DISTS are perceptual-distance metrics. Official H3 remains clearly
122
+ better, especially on photographs and small text.
123
+ - Edge F1 measures alignment of detected edges. This checkpoint is close to
124
+ official in aggregate, but the result varies substantially by domain.
125
+
126
+ Compared with the community initialization, this checkpoint reduces LPIPS by
127
+ about 72.8%, reduces DISTS by about 64.6%, and raises Edge F1 from `0.4647` to
128
+ `0.7236`. Compared with official H3, it trades slightly better average pixel
129
+ accuracy for worse perceptual texture and slightly worse edge alignment.
130
+
131
+ ### Per-domain study
132
+
133
+ Each cell below is `this checkpoint / official H3`. Lower is better for LPIPS
134
+ and DISTS; higher is better for the other metrics.
135
+
136
+ | Domain | Cases | PSNR dB ↑ | SSIM ↑ | LPIPS ↓ | DISTS ↓ | Edge F1 ↑ |
137
+ |---|---:|---:|---:|---:|---:|---:|
138
+ | Broad photographs | 64 | 29.7037 / 30.9661 | 0.8504 / 0.8816 | 0.0873 / 0.0372 | 0.1439 / 0.0413 | 0.7679 / 0.8377 |
139
+ | UI | 32 | 29.1883 / 28.3791 | 0.9571 / 0.9510 | 0.0316 / 0.0251 | 0.0746 / 0.0424 | 0.8530 / 0.8546 |
140
+ | Documents | 32 | 27.3963 / 27.0216 | 0.9460 / 0.9333 | 0.0516 / 0.0366 | 0.0779 / 0.0465 | 0.7632 / 0.7326 |
141
+ | Scene text | 32 | 32.5351 / 33.3653 | 0.9270 / 0.9312 | 0.0435 / 0.0204 | 0.0898 / 0.0304 | 0.8541 / 0.8937 |
142
+ | Line art | 32 | 36.3202 / 34.1489 | 0.9975 / 0.9962 | 0.0058 / 0.0078 | 0.0463 / 0.0357 | 0.6666 / 0.7013 |
143
+ | Diagrams | 32 | 34.0079 / 29.9501 | 0.9928 / 0.9815 | 0.0063 / 0.0256 | 0.0346 / 0.0570 | 0.8656 / 0.8225 |
144
+ | Product contours | 32 | 37.2439 / 34.4608 | 0.9956 / 0.9905 | 0.0058 / 0.0164 | 0.0300 / 0.0421 | 0.6966 / 0.7082 |
145
+ | Synthetic stress patterns | 32 | 23.9673 / 23.9315 | 0.7707 / 0.7850 | 0.0892 / 0.0846 | 0.1536 / 0.1433 | 0.2770 / 0.2598 |
146
+
147
+ The strongest result is on diagrams, where this checkpoint beats official H3
148
+ on all five metrics. It also performs well on product contours, line art,
149
+ documents, and UI. These domains reward clean geometry, flat regions, and
150
+ structured edges, which match the decoder's training signal well.
151
+
152
+ The clearest weakness is natural photography. Pixel values remain close, but
153
+ LPIPS and DISTS show that texture, tone, and fine local structure drift more
154
+ than with official H3. Scene text is another weak area: small lettering and
155
+ thin glyphs may soften, change shape, or become illegible. Dense grids,
156
+ checkerboards, and repeated high-frequency patterns remain phase-sensitive and
157
+ can show moiré or small line shifts.
158
+
159
+ | Intended use | Assessment | Main caveat |
160
+ |---|---|---|
161
+ | Diagrams and structured graphics | Strong | Fine repeated patterns can still shift phase |
162
+ | Product contours and industrial-design forms | Strong | Very thin edges can move by a pixel or soften |
163
+ | UI and documents | Competitive | Small text is less reliable than large layout structure |
164
+ | Line art | Strong pixel fidelity | Edge F1 remains below official H3 |
165
+ | Natural photographs | Limited | Texture and perceptual detail trail official H3 |
166
+ | Exact scene text | Limited | Glyph identity and thin strokes can change |
167
+ | Full H3 video | Unsupported | Still-image training did not supervise temporal consistency |
168
+
169
+ Scaling from the earlier 75K decoder to 500K improved SSIM, LPIPS, DISTS, and
170
+ Edge F1, but it did not close the photograph or scene-text gap. This suggests
171
+ that additional generic reconstruction data alone is unlikely to solve those
172
+ weaknesses. Targeted natural-texture, tiny-text, and phase-aware training would
173
+ be more directly relevant.
174
+
175
+ An exact 74-frame native H3 latent panel also completed with no non-finite or
176
+ geometry failures. Those generated latents have no ground-truth image, so
177
+ decoder-to-decoder distances are disagreement measurements rather than quality
178
+ scores. An AI visual review found the 500K outputs consistently sharper and
179
+ more coherent than the community decoder, but this was not a human preference
180
+ study and does not establish superiority over official H3 on generator
181
+ latents.
182
+
183
+ ### Study boundaries
184
+
185
+ - Reconstruction metrics use 288 fixed held-out cases with known targets.
186
+ - T2I and editing examples are illustrative fixed-seed cases, not a benchmark.
187
+ - Generator-latent comparisons have no ground-truth image.
188
+ - The public study does not include human preference ratings or confidence
189
+ intervals.
190
+ - The 1024 stage ran near the end of a cosine schedule with almost zero learning
191
+ rate, so it does not establish mature 1024-resolution specialization.
192
+
193
+ ## Training
194
+
195
+ | Stage | Unique images | Resolution | Microbatch |
196
+ |---|---:|---:|---:|
197
+ | 0 | 250,000 | 256 | 8 |
198
+ | 1 | 150,000 | 384 | 8 |
199
+ | 2 | 75,000 | 512 | 8 |
200
+ | 3 | 20,000 | 768 | 2 |
201
+ | 4 | 5,000 | 1024 | 1 |
202
+
203
+ - Optimizer updates: 62,500
204
+ - Effective batch size: 8
205
+ - Learning rate: `2e-6`
206
+ - Warmup: 625 updates
207
+ - Schedule: one continuous cosine decay
208
+ - Trainable modules: full decoder and `post_quant_conv`
209
+ - Frozen modules: encoder and `quant_conv`
210
+ - Distillation coefficient: `0.0`
211
+
212
+ The reconstruction objective was:
213
+
214
+ ```text
215
+ 1.0 * Charbonnier reconstruction
216
+ 0.2 * first-order edge reconstruction
217
+ 0.1 * (1 - SSIM)
218
+ 0.05 * log-frequency-magnitude reconstruction
219
+ 0.0113518046 * LPIPS-Alex
220
+ ```
221
+
222
+ The final 5,000-image 1024 stage occurred near the end of the cosine schedule,
223
+ when the learning rate was almost zero. It was neutral to slightly positive,
224
+ but it does not establish meaningful 1024-resolution specialization.
225
+
226
+ ## Training data
227
+
228
+ Of the 500,000 training examples, 475,140 came from disjoint shards of
229
+ [`Spawning/pd12m-full`](https://huggingface.co/datasets/Spawning/pd12m-full).
230
+ The other 24,860 were native-resolution hard cases: 19,860 at 768 and 5,000
231
+ at 1024, balanced across WebSight, DocLayNet, Quick, Draw!, deterministic
232
+ procedural diagrams, and deterministic procedural product contours. No
233
+ training images are included in this repository. Users should review each
234
+ source dataset's current terms and attribution requirements independently.
235
+
236
+ ## Loading
237
+
238
+ Clone the repository and install the pinned dependencies:
239
+
240
+ ```shell
241
+ git clone https://huggingface.co/iamkaikai/MiniMax-H3-Single-Frame-VAE-500K
242
+ cd MiniMax-H3-Single-Frame-VAE-500K
243
+ pip install -r requirements.txt
244
+ ```
245
+
246
+ The following CUDA example loads one normalized H3 generator-latent sequence,
247
+ selects a temporal slice, decodes it independently, and writes a PNG. The
248
+ input safetensors file must contain a tensor named `latents` with shape
249
+ `[batch, channels, time, height, width]` in H3's normalized generator-latent
250
+ space.
251
+
252
+ ```python
253
+ import torch
254
+ from diffusers import AutoencoderKLMiniMaxH3
255
+ from PIL import Image
256
+ from safetensors.torch import load_file
257
+
258
+ from load_decoder import load_single_frame_decoder
259
+
260
+ device = "cuda"
261
+ dtype = torch.float16
262
+
263
+ vae = AutoencoderKLMiniMaxH3.from_pretrained(
264
+ "MiniMaxAI/MiniMax-H3",
265
+ subfolder="vae",
266
+ revision="42ed227ee7df40d41602854ae760620d6eb651fe",
267
+ torch_dtype=dtype,
268
+ ).to(device).eval()
269
+
270
+ load_single_frame_decoder(vae, "minimax_h3_single_frame_decoder_500k.safetensors")
271
+
272
+ # This is the normalized latent emitted by H3 generation, before applying
273
+ # vae.config.latents_std and vae.config.latents_mean.
274
+ normalized = load_file("normalized-latents.safetensors")["latents"]
275
+ latent_index = 0
276
+ z = normalized[:, :, latent_index : latent_index + 1].to(device, dtype=dtype)
277
+
278
+ latent_mean = torch.tensor(
279
+ vae.config.latents_mean, device=device, dtype=dtype
280
+ ).view(1, -1, 1, 1, 1)
281
+ latent_std = torch.tensor(
282
+ vae.config.latents_std, device=device, dtype=dtype
283
+ ).view(1, -1, 1, 1, 1)
284
+ z = z * latent_std + latent_mean
285
+
286
+ # Direct decoder use is intentional for a temporal extent of one.
287
+ with torch.inference_mode(), torch.autocast("cuda", dtype=dtype):
288
+ decoded = vae.decoder(vae.post_quant_conv(z))
289
+
290
+ pixel_mean = torch.tensor(
291
+ [0.485, 0.456, 0.406], device=device
292
+ ).view(1, 3, 1, 1)
293
+ pixel_std = torch.tensor(
294
+ [0.229, 0.224, 0.225], device=device
295
+ ).view(1, 3, 1, 1)
296
+ frame = (decoded[:, :, -1].float() * pixel_std + pixel_mean).clamp(0, 1)
297
+
298
+ rgb = frame[0].mul(255).round().to(torch.uint8).permute(1, 2, 0).cpu().numpy()
299
+ Image.fromarray(rgb, mode="RGB").save("decoded-frame.png")
300
+ ```
301
+
302
+ The file contains 585 tensors with `decoder.` and `post_quant_conv.` prefixes.
303
+ It intentionally contains no encoder weights. `load_single_frame_decoder`
304
+ strictly verifies the 9 GB file's SHA-256 by default, so the first load can take
305
+ several seconds before GPU inference begins.
306
+
307
+ ## Known limitations
308
+
309
+ - Single-frame use only. Full video decoding is unsupported.
310
+ - Natural textures can be smoothed or shifted.
311
+ - Small lettering and thin glyphs can change.
312
+ - Dense lines, checkerboards, and fine grids can show moiré or phase errors.
313
+ - H3 T2I and FL2VA examples still pay the cost of full video/audio latent
314
+ generation.
315
+ - FL2VA edits can require searching temporal slices and can drift in crop,
316
+ lighting, material, geometry, or unrelated content.
317
+ - The public comparisons are a bounded benchmark, not a human preference
318
+ study and not evidence of universal superiority.
319
+
320
+ ## Reproducibility
321
+
322
+ - Training exposures: `500000`
323
+ - Optimizer step: `62500`
324
+ - Training config fingerprint:
325
+ `225279cbb4cd1e2db94b5b2ae15e123a921fefada0782e5c68d35302e4b4d0a9`
326
+ - Original final decoder SHA-256:
327
+ `4a5e4d0041c6fdd15af5292db3e10574e28500b216ad2d1f78b5951f2b8abfe2`
328
+ - Audited release export SHA-256:
329
+ `6c5ff2caa8fade6769f4dd53ee244f77a06652c8cb66b2fedc93f75046d9f001`
330
+ - Community initialization revision:
331
+ `c7b9252c73707dba494cf4d99ca45d3f33f561b3`
332
+ - Official MiniMax H3 revision:
333
+ `42ed227ee7df40d41602854ae760620d6eb651fe`
334
+
335
+ The release export contains the same 585 decoder tensors as the exact final
336
+ resume state. Its file hash differs from the training export because the
337
+ release file includes provenance metadata.
338
+
339
+ ## License
340
+
341
+ This checkpoint is a modified derivative of MiniMax H3 and remains subject to
342
+ the [MiniMax H3 Community License Agreement](LICENSE). The upstream license
343
+ contains territorial and use restrictions. Review it before downloading,
344
+ using, or redistributing this checkpoint. See [NOTICE](NOTICE) and
345
+ [MODIFICATIONS.md](MODIFICATIONS.md).
example-prompts.json ADDED
@@ -0,0 +1,50 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ {
2
+ "schema_version": 1,
3
+ "selection_policy": "Prompts fixed before generation; no best-of-seed search.",
4
+ "t2i": [
5
+ {
6
+ "id": "product",
7
+ "prompt": "Studio product photograph of a compact futuristic electric espresso machine, brushed aluminum and matte black, precise industrial design, centered three-quarter view, soft gray seamless background, crisp edges, realistic materials, no people, no text.",
8
+ "seed": 2026081901,
9
+ "inference_steps": 30,
10
+ "latent_index": 0
11
+ },
12
+ {
13
+ "id": "diagram",
14
+ "prompt": "Clean industrial design concept board showing a modular electric bicycle from side view, one large hero rendering with three small exploded-view callouts, white background, graphite and cobalt accents, precise linework, premium presentation.",
15
+ "seed": 2026081902,
16
+ "inference_steps": 30,
17
+ "latent_index": 0
18
+ },
19
+ {
20
+ "id": "natural",
21
+ "prompt": "Cinematic close-up photograph of a red fox standing in wet green moss after rain, detailed fur and droplets, soft morning light, shallow depth of field, natural colors, 35mm lens.",
22
+ "seed": 2026081903,
23
+ "inference_steps": 30,
24
+ "latent_index": 0
25
+ }
26
+ ],
27
+ "image_editing": [
28
+ {
29
+ "id": "sketch-render",
30
+ "prompt": "Transform the hand-drawn compact desktop coffee maker into a photorealistic premium industrial design render in brushed aluminum and matte black. Preserve the exact silhouette, camera, and layout.",
31
+ "seed": 2026081911,
32
+ "inference_steps": 25,
33
+ "decoded_latent_indices": [0, 9, 18, 27, 36]
34
+ },
35
+ {
36
+ "id": "sofa-recolor",
37
+ "prompt": "Change only the sofa upholstery from rust red to deep navy blue velvet. Preserve the room layout, window, lamp, rug, floor, lighting, and camera.",
38
+ "seed": 2026081912,
39
+ "inference_steps": 25,
40
+ "decoded_latent_indices": [0, 9, 18, 27, 36]
41
+ },
42
+ {
43
+ "id": "product-material",
44
+ "prompt": "Change only the coffee machine body from warm silver to glossy cobalt blue anodized metal. Preserve the geometry, black front panel, controls, shadow, background, and camera.",
45
+ "seed": 2026081913,
46
+ "inference_steps": 25,
47
+ "decoded_latent_indices": [0, 9, 18, 27, 36]
48
+ }
49
+ ]
50
+ }
examples/edit/product-material/contact-sheet.jpg ADDED
examples/edit/product-material/transition-grid.png ADDED

Git LFS Details

  • SHA256: 8f38664ff83fed8e22d58f7cc46ebea8130647b6be884340ebba8bb688763fd0
  • Pointer size: 131 Bytes
  • Size of remote file: 317 kB
examples/edit/sketch-render/contact-sheet.jpg ADDED
examples/edit/sketch-render/transition-grid.png ADDED

Git LFS Details

  • SHA256: 58f23d459bb7596a94788c27d40297a2bf5b22cfb7a6020bba4bc27c589d3131
  • Pointer size: 131 Bytes
  • Size of remote file: 203 kB
examples/edit/sofa-recolor/contact-sheet.jpg ADDED
examples/edit/sofa-recolor/transition-grid.png ADDED

Git LFS Details

  • SHA256: 8be0f1fd04a3602f89849f2ad48e53a4b59098dc43299b785129d1f6628ccf35
  • Pointer size: 131 Bytes
  • Size of remote file: 392 kB
examples/reconstruction/native-h3-single-frame.png ADDED

Git LFS Details

  • SHA256: f196b6e2d86ccdd4937190d087f7582bd0d1226b4225611ea36d728768c58cbe
  • Pointer size: 132 Bytes
  • Size of remote file: 3.11 MB
examples/reconstruction/reconstruction-diagram.png ADDED

Git LFS Details

  • SHA256: 2e16eb24d6688aa09908d7458a599091422295fefb90197977ab42990b243115
  • Pointer size: 132 Bytes
  • Size of remote file: 1.01 MB
examples/reconstruction/reconstruction-stress.png ADDED

Git LFS Details

  • SHA256: ddcb073ab2c95dc66a7055b356c0fa7ad4358b3b721a0418824fae59bdd23a42
  • Pointer size: 132 Bytes
  • Size of remote file: 4 MB
examples/t2i/diagram-community.png ADDED

Git LFS Details

  • SHA256: 1fc1cb201cc64e397d963d668c3ad09bac335ebe7f35e6f74384c14131735232
  • Pointer size: 131 Bytes
  • Size of remote file: 414 kB
examples/t2i/diagram-comparison.png ADDED

Git LFS Details

  • SHA256: 01170a97d39e25dbf93f7c157feb2e3857e0e15ea5cfdca234c3fb1fb6a14927
  • Pointer size: 131 Bytes
  • Size of remote file: 648 kB
examples/t2i/diagram-ours.png ADDED

Git LFS Details

  • SHA256: 54f5fc862dce7ae440aaa802bbcae44c04e27e1cd306a6dc1ce06906ce6410f5
  • Pointer size: 131 Bytes
  • Size of remote file: 244 kB
examples/t2i/natural-community.png ADDED

Git LFS Details

  • SHA256: c2416e00300b5a47a0c17597b3f6e75d60ba843e89e9e8677cde5ec1cb39dde4
  • Pointer size: 131 Bytes
  • Size of remote file: 651 kB
examples/t2i/natural-comparison.png ADDED

Git LFS Details

  • SHA256: 9f6aacba304de88ff05055598fa7bd92f30c1081147fcd5162f3cec18325248b
  • Pointer size: 132 Bytes
  • Size of remote file: 1.25 MB
examples/t2i/natural-ours.png ADDED

Git LFS Details

  • SHA256: 7c837927ea26213a9a40f756c2ff5722294b768534a20f925898463081a85559
  • Pointer size: 131 Bytes
  • Size of remote file: 621 kB
examples/t2i/product-community.png ADDED

Git LFS Details

  • SHA256: ffd3a45aafb66446a191ea4b5800180f9cfc0bc3f75c7b7bbf68e50eae6acb1f
  • Pointer size: 131 Bytes
  • Size of remote file: 410 kB
examples/t2i/product-comparison.png ADDED

Git LFS Details

  • SHA256: 4885f6b2b035b26b41b5fc6f3d641cd73633801c1f83ec7088064233f7425761
  • Pointer size: 131 Bytes
  • Size of remote file: 674 kB
examples/t2i/product-ours.png ADDED

Git LFS Details

  • SHA256: 8dcc562b2c1753c4e52f952666ea20693a05e6b85f2c8a644a3360ca093e3c67
  • Pointer size: 131 Bytes
  • Size of remote file: 297 kB
load_decoder.py ADDED
@@ -0,0 +1,69 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ """Strictly load the 500K single-frame weights into a MiniMax H3 VAE."""
2
+
3
+ from __future__ import annotations
4
+
5
+ import hashlib
6
+ from pathlib import Path
7
+ from typing import Any
8
+
9
+ from safetensors.torch import load_file
10
+
11
+
12
+ EXPECTED_SHA256 = "6c5ff2caa8fade6769f4dd53ee244f77a06652c8cb66b2fedc93f75046d9f001"
13
+ EXPECTED_TENSOR_COUNT = 585
14
+
15
+
16
+ def _sha256(path: Path) -> str:
17
+ digest = hashlib.sha256()
18
+ with path.open("rb") as handle:
19
+ for chunk in iter(lambda: handle.read(1024 * 1024), b""):
20
+ digest.update(chunk)
21
+ return digest.hexdigest()
22
+
23
+
24
+ def _split_state(state: dict[str, Any]) -> tuple[dict[str, Any], dict[str, Any]]:
25
+ decoder = {
26
+ key.removeprefix("decoder."): value
27
+ for key, value in state.items()
28
+ if key.startswith("decoder.")
29
+ }
30
+ post_quant_conv = {
31
+ key.removeprefix("post_quant_conv."): value
32
+ for key, value in state.items()
33
+ if key.startswith("post_quant_conv.")
34
+ }
35
+ unexpected = sorted(
36
+ key
37
+ for key in state
38
+ if not key.startswith("decoder.")
39
+ and not key.startswith("post_quant_conv.")
40
+ )
41
+ if unexpected or not decoder or not post_quant_conv:
42
+ raise RuntimeError(
43
+ "single-frame decoder key contract differs: "
44
+ f"unexpected={unexpected[:5]}, decoder={len(decoder)}, "
45
+ f"post_quant_conv={len(post_quant_conv)}"
46
+ )
47
+ return decoder, post_quant_conv
48
+
49
+
50
+ def load_single_frame_decoder(
51
+ vae: Any,
52
+ checkpoint_path: str | Path,
53
+ *,
54
+ verify_sha256: bool = True,
55
+ ) -> Any:
56
+ """Replace only ``decoder`` and ``post_quant_conv`` on an H3 VAE."""
57
+
58
+ checkpoint = Path(checkpoint_path)
59
+ if verify_sha256 and _sha256(checkpoint) != EXPECTED_SHA256:
60
+ raise RuntimeError("single-frame decoder SHA-256 differs")
61
+ state = load_file(str(checkpoint), device="cpu")
62
+ if len(state) != EXPECTED_TENSOR_COUNT:
63
+ raise RuntimeError(
64
+ f"expected {EXPECTED_TENSOR_COUNT} tensors, found {len(state)}"
65
+ )
66
+ decoder, post_quant_conv = _split_state(state)
67
+ vae.decoder.load_state_dict(decoder, strict=True)
68
+ vae.post_quant_conv.load_state_dict(post_quant_conv, strict=True)
69
+ return vae
minimax_h3_single_frame_decoder_500k.safetensors ADDED
@@ -0,0 +1,3 @@
 
 
 
 
1
+ version https://git-lfs.github.com/spec/v1
2
+ oid sha256:6c5ff2caa8fade6769f4dd53ee244f77a06652c8cb66b2fedc93f75046d9f001
3
+ size 9694193992
release-manifest.json ADDED
@@ -0,0 +1,250 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ {
2
+ "files": [
3
+ {
4
+ "bytes": 1244,
5
+ "path": "ASSET_PROVENANCE.md",
6
+ "sha256": "7705779ec1e701831a17354aec25ac650552e6cac724a950a9db55eedbb2aa6e"
7
+ },
8
+ {
9
+ "bytes": 17604,
10
+ "path": "LICENSE",
11
+ "sha256": "59b99642b95ea21630e311198ddbfffbfe05aadba0c2f5d884cbdf4efcc90f44"
12
+ },
13
+ {
14
+ "bytes": 545,
15
+ "path": "MODIFICATIONS.md",
16
+ "sha256": "aa29c19da66df5f30c571118d3e1b8efce2bf2e97c2f2a2f0fc7452d42cd0c65"
17
+ },
18
+ {
19
+ "bytes": 122,
20
+ "path": "NOTICE",
21
+ "sha256": "0ee234b090f3f3f19484751f051668c145ca9d0c180417f7abef46e8378a923d"
22
+ },
23
+ {
24
+ "bytes": 15253,
25
+ "path": "README.md",
26
+ "sha256": "3bc8f2f5f91069b2610eb17d7388da791411ea984d40842848541cf9985bc4bb"
27
+ },
28
+ {
29
+ "bytes": 2245,
30
+ "path": "example-prompts.json",
31
+ "sha256": "025ab567aa1ccbfd292bb85ac2276fccbac9a06dc25f855432f860ec1cd99e02"
32
+ },
33
+ {
34
+ "bytes": 93081,
35
+ "path": "examples/edit/product-material/contact-sheet.jpg",
36
+ "sha256": "fe84c13209dc305c50592e92fdd08cc320b90f97a058cd7ddf9c1b7c6d65b12a"
37
+ },
38
+ {
39
+ "bytes": 316819,
40
+ "path": "examples/edit/product-material/transition-grid.png",
41
+ "sha256": "8f38664ff83fed8e22d58f7cc46ebea8130647b6be884340ebba8bb688763fd0"
42
+ },
43
+ {
44
+ "bytes": 62004,
45
+ "path": "examples/edit/sketch-render/contact-sheet.jpg",
46
+ "sha256": "6581b9d497752fb9c86e9715f02f34f1f8a7d46c9d22953db049b980f0134029"
47
+ },
48
+ {
49
+ "bytes": 202583,
50
+ "path": "examples/edit/sketch-render/transition-grid.png",
51
+ "sha256": "58f23d459bb7596a94788c27d40297a2bf5b22cfb7a6020bba4bc27c589d3131"
52
+ },
53
+ {
54
+ "bytes": 96059,
55
+ "path": "examples/edit/sofa-recolor/contact-sheet.jpg",
56
+ "sha256": "8e9e7a70ca9776468914df02cd126025b941a5f97b0f27900042631db016dc2d"
57
+ },
58
+ {
59
+ "bytes": 391559,
60
+ "path": "examples/edit/sofa-recolor/transition-grid.png",
61
+ "sha256": "8be0f1fd04a3602f89849f2ad48e53a4b59098dc43299b785129d1f6628ccf35"
62
+ },
63
+ {
64
+ "bytes": 3111329,
65
+ "path": "examples/reconstruction/native-h3-single-frame.png",
66
+ "sha256": "f196b6e2d86ccdd4937190d087f7582bd0d1226b4225611ea36d728768c58cbe"
67
+ },
68
+ {
69
+ "bytes": 1014965,
70
+ "path": "examples/reconstruction/reconstruction-diagram.png",
71
+ "sha256": "2e16eb24d6688aa09908d7458a599091422295fefb90197977ab42990b243115"
72
+ },
73
+ {
74
+ "bytes": 3999517,
75
+ "path": "examples/reconstruction/reconstruction-stress.png",
76
+ "sha256": "ddcb073ab2c95dc66a7055b356c0fa7ad4358b3b721a0418824fae59bdd23a42"
77
+ },
78
+ {
79
+ "bytes": 414247,
80
+ "path": "examples/t2i/diagram-community.png",
81
+ "sha256": "1fc1cb201cc64e397d963d668c3ad09bac335ebe7f35e6f74384c14131735232"
82
+ },
83
+ {
84
+ "bytes": 648473,
85
+ "path": "examples/t2i/diagram-comparison.png",
86
+ "sha256": "01170a97d39e25dbf93f7c157feb2e3857e0e15ea5cfdca234c3fb1fb6a14927"
87
+ },
88
+ {
89
+ "bytes": 243607,
90
+ "path": "examples/t2i/diagram-ours.png",
91
+ "sha256": "54f5fc862dce7ae440aaa802bbcae44c04e27e1cd306a6dc1ce06906ce6410f5"
92
+ },
93
+ {
94
+ "bytes": 650559,
95
+ "path": "examples/t2i/natural-community.png",
96
+ "sha256": "c2416e00300b5a47a0c17597b3f6e75d60ba843e89e9e8677cde5ec1cb39dde4"
97
+ },
98
+ {
99
+ "bytes": 1250127,
100
+ "path": "examples/t2i/natural-comparison.png",
101
+ "sha256": "9f6aacba304de88ff05055598fa7bd92f30c1081147fcd5162f3cec18325248b"
102
+ },
103
+ {
104
+ "bytes": 620719,
105
+ "path": "examples/t2i/natural-ours.png",
106
+ "sha256": "7c837927ea26213a9a40f756c2ff5722294b768534a20f925898463081a85559"
107
+ },
108
+ {
109
+ "bytes": 410060,
110
+ "path": "examples/t2i/product-community.png",
111
+ "sha256": "ffd3a45aafb66446a191ea4b5800180f9cfc0bc3f75c7b7bbf68e50eae6acb1f"
112
+ },
113
+ {
114
+ "bytes": 673826,
115
+ "path": "examples/t2i/product-comparison.png",
116
+ "sha256": "4885f6b2b035b26b41b5fc6f3d641cd73633801c1f83ec7088064233f7425761"
117
+ },
118
+ {
119
+ "bytes": 297480,
120
+ "path": "examples/t2i/product-ours.png",
121
+ "sha256": "8dcc562b2c1753c4e52f952666ea20693a05e6b85f2c8a644a3360ca093e3c67"
122
+ },
123
+ {
124
+ "bytes": 2202,
125
+ "path": "load_decoder.py",
126
+ "sha256": "4638ee384e9abb0254f5e46bfd1212cd8b5f9d923b1560fc0b1da08dd9c861dd"
127
+ },
128
+ {
129
+ "bytes": 9694193992,
130
+ "path": "minimax_h3_single_frame_decoder_500k.safetensors",
131
+ "sha256": "6c5ff2caa8fade6769f4dd53ee244f77a06652c8cb66b2fedc93f75046d9f001"
132
+ },
133
+ {
134
+ "bytes": 155,
135
+ "path": "requirements.txt",
136
+ "sha256": "44a88473c0eda6e40e2489ab9323dd2f8dc5098bf8f8556d6d66ec49d839fb48"
137
+ },
138
+ {
139
+ "bytes": 6319,
140
+ "path": "source-fixtures/interior.png",
141
+ "sha256": "49e7096a1df03068051f99a6522df320d7cb75599eaa42408b69625cc57941a0"
142
+ },
143
+ {
144
+ "bytes": 5470,
145
+ "path": "source-fixtures/product-photo.png",
146
+ "sha256": "6e4aa4be38360d7c4bde2589535966e9f76c6a41f96b02736d33efdd28035808"
147
+ },
148
+ {
149
+ "bytes": 5760,
150
+ "path": "source-fixtures/product-sketch.png",
151
+ "sha256": "475ea1cf6abda5cffd57cedb4c75e95ef6fe250419be01be3799c6e0060b67b4"
152
+ },
153
+ {
154
+ "bytes": 2011,
155
+ "path": "vae/config.json",
156
+ "sha256": "78f67deec3d63aae807f2bfe7154bc1e26f6372cb20b63265fcbae1b62bb5745"
157
+ }
158
+ ],
159
+ "issues": [],
160
+ "publication_status": "blocked_pending_upstream_distribution_clearance",
161
+ "repository_target": "iamkaikai/MiniMax-H3-Single-Frame-VAE-500K",
162
+ "required_examples": [
163
+ {
164
+ "bytes": 1014965,
165
+ "height": 2812,
166
+ "mode": "RGB",
167
+ "path": "examples/reconstruction/reconstruction-diagram.png",
168
+ "sha256": "2e16eb24d6688aa09908d7458a599091422295fefb90197977ab42990b243115",
169
+ "width": 1280
170
+ },
171
+ {
172
+ "bytes": 3999517,
173
+ "height": 2812,
174
+ "mode": "RGB",
175
+ "path": "examples/reconstruction/reconstruction-stress.png",
176
+ "sha256": "ddcb073ab2c95dc66a7055b356c0fa7ad4358b3b721a0418824fae59bdd23a42",
177
+ "width": 1280
178
+ },
179
+ {
180
+ "bytes": 3111329,
181
+ "height": 1996,
182
+ "mode": "RGB",
183
+ "path": "examples/reconstruction/native-h3-single-frame.png",
184
+ "sha256": "f196b6e2d86ccdd4937190d087f7582bd0d1226b4225611ea36d728768c58cbe",
185
+ "width": 1152
186
+ },
187
+ {
188
+ "bytes": 673826,
189
+ "height": 596,
190
+ "mode": "RGB",
191
+ "path": "examples/t2i/product-comparison.png",
192
+ "sha256": "4885f6b2b035b26b41b5fc6f3d641cd73633801c1f83ec7088064233f7425761",
193
+ "width": 1920
194
+ },
195
+ {
196
+ "bytes": 648473,
197
+ "height": 596,
198
+ "mode": "RGB",
199
+ "path": "examples/t2i/diagram-comparison.png",
200
+ "sha256": "01170a97d39e25dbf93f7c157feb2e3857e0e15ea5cfdca234c3fb1fb6a14927",
201
+ "width": 1920
202
+ },
203
+ {
204
+ "bytes": 1250127,
205
+ "height": 596,
206
+ "mode": "RGB",
207
+ "path": "examples/t2i/natural-comparison.png",
208
+ "sha256": "9f6aacba304de88ff05055598fa7bd92f30c1081147fcd5162f3cec18325248b",
209
+ "width": 1920
210
+ },
211
+ {
212
+ "bytes": 202583,
213
+ "height": 632,
214
+ "mode": "RGB",
215
+ "path": "examples/edit/sketch-render/transition-grid.png",
216
+ "sha256": "58f23d459bb7596a94788c27d40297a2bf5b22cfb7a6020bba4bc27c589d3131",
217
+ "width": 1440
218
+ },
219
+ {
220
+ "bytes": 391559,
221
+ "height": 632,
222
+ "mode": "RGB",
223
+ "path": "examples/edit/sofa-recolor/transition-grid.png",
224
+ "sha256": "8be0f1fd04a3602f89849f2ad48e53a4b59098dc43299b785129d1f6628ccf35",
225
+ "width": 1440
226
+ },
227
+ {
228
+ "bytes": 316819,
229
+ "height": 632,
230
+ "mode": "RGB",
231
+ "path": "examples/edit/product-material/transition-grid.png",
232
+ "sha256": "8f38664ff83fed8e22d58f7cc46ebea8130647b6be884340ebba8bb688763fd0",
233
+ "width": 1440
234
+ }
235
+ ],
236
+ "schema_version": 1,
237
+ "status": "passed",
238
+ "weight": {
239
+ "bytes": 9694193992,
240
+ "metadata": {
241
+ "source_config_fingerprint": "225279cbb4cd1e2db94b5b2ae15e123a921fefada0782e5c68d35302e4b4d0a9",
242
+ "source_resume_sha256": "40e94c1bef5a8467b5d41ec7c039212c6246b67b37f61b9ae802f4f48dfb23b4",
243
+ "source_run_name": "minimax_h3_t1_hardwarm_scale500k_curriculum256_384_512_768_1024_20260818_v2",
244
+ "source_step": "62500"
245
+ },
246
+ "path": "minimax_h3_single_frame_decoder_500k.safetensors",
247
+ "sha256": "6c5ff2caa8fade6769f4dd53ee244f77a06652c8cb66b2fedc93f75046d9f001",
248
+ "tensor_count": 585
249
+ }
250
+ }
requirements.txt ADDED
@@ -0,0 +1,7 @@
 
 
 
 
 
 
 
 
1
+ git+https://github.com/huggingface/diffusers.git@9284607295a09f759aadd65ed08f48b35feea6d9
2
+ accelerate
3
+ huggingface_hub
4
+ Pillow
5
+ safetensors
6
+ torch
7
+ transformers
source-fixtures/interior.png ADDED
source-fixtures/product-photo.png ADDED
source-fixtures/product-sketch.png ADDED
vae/config.json ADDED
@@ -0,0 +1,97 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ {
2
+ "_class_name": "AutoencoderKLMiniMaxH3",
3
+ "_diffusers_version": "0.36.0.dev0",
4
+ "in_channels": 3,
5
+ "out_channels": 3,
6
+ "latent_channels": 24,
7
+ "block_out_channels": [
8
+ 128,
9
+ 256,
10
+ 256,
11
+ 512,
12
+ 512,
13
+ 1024
14
+ ],
15
+ "layers_per_block": 2,
16
+ "spatial_downsample_factors": [
17
+ 2,
18
+ 2,
19
+ 2,
20
+ 2,
21
+ 1,
22
+ 1
23
+ ],
24
+ "temporal_downsample_factors": [
25
+ 1,
26
+ 2,
27
+ 2,
28
+ 1,
29
+ 1,
30
+ 1
31
+ ],
32
+ "norm_num_groups": 32,
33
+ "norm_eps": 1e-06,
34
+ "spatial_padding_mode": "reflect",
35
+ "decoder_num_layers": 36,
36
+ "decoder_num_attention_heads": 32,
37
+ "decoder_attention_head_dim": 64,
38
+ "decoder_num_register_tokens": 4,
39
+ "decoder_ffn_mult": 4,
40
+ "decoder_rope_theta": 100.0,
41
+ "decoder_rope_dim_ratio": 0.75,
42
+ "decoder_norm_eps": 1e-05,
43
+ "clip_length": 17,
44
+ "token_drop": 3,
45
+ "latents_mean": [
46
+ 0.858090341091156,
47
+ -0.9606591463088989,
48
+ 1.0661640167236328,
49
+ -0.5090325474739075,
50
+ -0.2727581858634949,
51
+ -1.3675414323806763,
52
+ -0.2553254961967468,
53
+ -0.26907554268836975,
54
+ -0.5376840829849243,
55
+ -0.0464097298681736,
56
+ 0.6657370328903198,
57
+ 0.19690127670764923,
58
+ -0.5460608005523682,
59
+ -0.4035342037677765,
60
+ -0.23683024942874908,
61
+ 0.25928452610969543,
62
+ -0.30133944749832153,
63
+ 0.211341992020607,
64
+ -1.1206848621368408,
65
+ 0.3581933379173279,
66
+ -0.04225143790245056,
67
+ 0.2604829967021942,
68
+ 0.22864092886447906,
69
+ 0.7056031823158264
70
+ ],
71
+ "latents_std": [
72
+ 1.2223774194717407,
73
+ 1.2767263650894165,
74
+ 1.6831774711608887,
75
+ 1.7549455165863037,
76
+ 1.5636216402053833,
77
+ 2.194143533706665,
78
+ 0.9653137922286987,
79
+ 1.0569885969161987,
80
+ 0.841948926448822,
81
+ 0.7729952931404114,
82
+ 1.8955937623977661,
83
+ 0.946841835975647,
84
+ 0.7996809482574463,
85
+ 0.44988900423049927,
86
+ 0.7197399735450745,
87
+ 0.6936293244361877,
88
+ 2.961095094680786,
89
+ 2.7694199085235596,
90
+ 3.0496184825897217,
91
+ 2.1088054180145264,
92
+ 3.276226282119751,
93
+ 3.1627357006073,
94
+ 2.2816812992095947,
95
+ 2.6127843856811523
96
+ ]
97
+ }