Meridian / comfyui /meridian_workflow_geometry.json
yycc's picture
Two-adapter release: docs and code
9c57d46 verified
Raw History Blame Contribute Delete
5.13 kB
{
"unet": {
"class_type": "UNETLoader",
"_meta": {
"title": "stock MiniMax-H3 fl2va"
},
"inputs": {
"unet_name": "minimax_h3_fl2va_bf16.safetensors",
"weight_dtype": "default"
}
},
"teach": {
"class_type": "LoraLoaderModelOnly",
"_meta": {
"title": "Meridian teacher (re-camera)"
},
"inputs": {
"model": [
"unet",
0
],
"lora_name": "meridian_teacher_lora.safetensors",
"strength_model": 1.0
}
},
"turbo": {
"class_type": "LoraLoaderModelOnly",
"_meta": {
"title": "Meridian turbo (3-forward DMD)"
},
"inputs": {
"model": [
"teach",
0
],
"lora_name": "meridian_turbo_lora.safetensors",
"strength_model": 1.0
}
},
"shift": {
"class_type": "MiniMaxH3SigmaShift",
"_meta": {
"title": "shift 3 (student); 12 for teacher alone"
},
"inputs": {
"model": [
"turbo",
0
],
"shift_video": 3.0,
"shift_audio": 3.0
}
},
"clip": {
"class_type": "CLIPLoader",
"inputs": {
"clip_name": "qwen3vl_32b_minimax_h3_bf16.safetensors",
"type": "minimax"
}
},
"vae": {
"class_type": "VAELoader",
"inputs": {
"vae_name": "minimax_h3_video_vae_fp16.safetensors"
}
},
"avae": {
"class_type": "VAELoader",
"inputs": {
"vae_name": "minimax_h3_audio_vae_fp32.safetensors"
}
},
"ref": {
"class_type": "MiniMaxH3ReferenceToVideo",
"_meta": {
"title": "refs at the 480 class, target at the 768 class"
},
"inputs": {
"clip": [
"clip",
0
],
"vae": [
"vae",
0
],
"audio_vae": [
"avae",
0
],
"prompt": "subject_definitions:\n<Video 1> is the source video for the editing task.\n<Video 2> is a rough render of the same scene from the new camera: the pixels of <Video 1> re-projected through a point cloud, so wherever it shows content its colours, framing and layout are correct, and its flat mid-grey areas are holes where the source camera saw nothing.\n\nsummary:\n[video editing + viewpoint change] The target video shows exactly the same scene as <Video 1>, at exactly the same moments in time, filmed by the second camera that <Video 2> was rendered from. Every subject, every piece of clothing, the background, the lighting and the whole performance are the ones in <Video 1>; only the camera differs, so the same things are seen from a different angle and at a different distance. The target video is <Video 2> completed: its framing and everything it shows are kept, and its grey holes are filled with what belongs there.\n\nretention_analysis:\n<Video 1> (source video editing): fully_preserved - the subjects, their faces, hair, build and clothing, the background, the props and the lighting are the same objects seen from a new viewpoint, and the motion and its timing are frame for frame the motion of <Video 1>. Nothing is added, removed or restyled.\n<Video 2> (layout reference): fully_preserved - the camera path, the framing and the placement of everything it shows are kept exactly; its grey holes are not content and are filled in so that they agree with <Video 1>, and its speckles and jagged edges are cleaned up.\n\ndetailed_description:\n[Shot 1] One continuous shot of the scene of <Video 1>, framed exactly as <Video 2> is, frame for frame. The subjects perform the motion of <Video 1> with the same timing, in the same place, under the same lighting. The camera moves exactly as the camera of <Video 2> does, and there is no cut.\n\noverall_soundscape:\nNo music and no speech.",
"width": [
"geo",
2
],
"height": [
"geo",
3
],
"length": [
"geo",
4
],
"ref_image_size": "match",
"ref_videos.ref_video_0": [
"geo",
0
],
"ref_videos.ref_video_1": [
"geo",
1
]
}
},
"froz": {
"class_type": "MeridianFrozenPrompt",
"_meta": {
"title": "swap in the frozen prompt embed"
},
"inputs": {
"conditioning": [
"ref",
0
],
"latent": [
"ref",
1
],
"assets_dir": "/path/to/release_recam/assets"
}
},
"ks": {
"class_type": "KSampler",
"_meta": {
"title": "3 forwards on sigma 1.0 / 0.857 / 0.600"
},
"inputs": {
"model": [
"shift",
0
],
"positive": [
"froz",
0
],
"negative": [
"froz",
0
],
"latent_image": [
"ref",
1
],
"seed": 1234,
"steps": 3,
"cfg": 1.0,
"sampler_name": "euler",
"scheduler": "simple",
"denoise": 1.0
}
},
"dec": {
"class_type": "VAEDecode",
"inputs": {
"samples": [
"ks",
0
],
"vae": [
"vae",
0
]
}
},
"mk": {
"class_type": "CreateVideo",
"inputs": {
"images": [
"dec",
0
],
"fps": 24.0
}
},
"save": {
"class_type": "SaveVideo",
"inputs": {
"video": [
"mk",
0
],
"filename_prefix": "meridian/out",
"format": "mp4",
"codec": "h264"
}
},
"geo": {
"class_type": "MeridianGeometry",
"_meta": {
"title": "VGGT-Omega unproject + re-render"
},
"inputs": {
"video": "/path/to/clip.mp4",
"args": "--pivot 0.5,0.55 --boom 0.35 --ease --sweep",
"repo": "/path/to/release_recam",
"python": "python"
}
}
}