A standing request asked for a SamplerCustomAdvanced version of the node, so a custom guider and scheduler could be used. The scheduler half already shipped: custom_sigmas takes a SIGMAS input and the schedule is sampled, not just counted. The gap was the guider, and it is the half that matters -- a guider is the only way to reach BasicGuider with no negative and no CFG, DualCFGGuider, or anything another pack provides. This does it with a node that outputs NOISE rather than a second sampler. SamplerCustomAdvanced consumes one, and so does AddNoise. A second sampler node was the obvious shape and would have worked: the segment loop already routes through CFGGuider.sample, because comfy.sample.sample builds a guider and calls it, so accepting one would have been a substitution rather than a new mechanism. It was not worth it. A NOISE object is forty lines against a second wall of shader widgets, five frontend files that name nodes explicitly, and a sampling seam through the pipeline -- and it composes with everything in the custom sampling family instead of only with itself. What it covers is the node's default configuration exactly: one shader stage, painted into the noise a run starts from. That is pinned bit for bit against the Direct node across eps, flow and AV latents, presets, batch_index and progressions, so a seed means the same thing on both. What it cannot do is stages, because a NOISE object is asked for noise once, before any sampling -- the sampler's stages re-enter the shader at segment boundaries partway through. The node says so, and so do the README and the tooltips. Two pieces were lifted out rather than copied: build_shader_params, next to the reader that owns the params dict, and _paint/starting_noise in the pipeline, where the painting loop was already written twice. The Direct node is sixty-odd lines shorter for it. Both extractions were checked against the golden suite before anything was built on them. The equivalence test earned its keep immediately. Presets set stage_progression, and stage_progression shapes a single stage -- it sits at the start of the trajectory and is drawn from there -- so ignoring it made preset: roam mean two different things on the two nodes. It is now an input here, with its own wording because a ramp across stages is not what it does with one. That also showed the Direct node's tooltip has always been wrong to say it needs more than one stage to do anything; the tooltip is corrected and the sampling is untouched, which is how roam and video have always behaved. Also dropped a refusal check copied into starting_noise: unlike run, there is no sampling to protect there, and the generator raises the same error one call down. And _STREAM_SEED_STRIDE turned out to have nothing pinning it anywhere -- the nested golden case paints only the spatial stream, so zeroing the offset changed nothing in the suite. It has a test now, feeding two identical streams so the inputs cannot explain the difference. Verified on H3 through BasicGuider, KSamplerSelect and BasicScheduler into SamplerCustomAdvanced: seven steps, coherent output. example_workflows/MiniMaxH3_CustomSampling_SNK_Source.json is that run, and needs core nodes and this pack and nothing else. Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
972 lines
16 KiB
JSON
972 lines
16 KiB
JSON
{
|
|
"id": "402ef830-c8b4-4925-a5fc-3f001b1f498b",
|
|
"revision": 0,
|
|
"last_node_id": 17,
|
|
"last_link_id": 22,
|
|
"nodes": [
|
|
{
|
|
"id": 1,
|
|
"type": "UNETLoader",
|
|
"pos": [
|
|
-1180,
|
|
120
|
|
],
|
|
"size": [
|
|
420,
|
|
82
|
|
],
|
|
"flags": {},
|
|
"order": 0,
|
|
"mode": 0,
|
|
"inputs": [],
|
|
"outputs": [
|
|
{
|
|
"name": "MODEL",
|
|
"type": "MODEL",
|
|
"links": [
|
|
1,
|
|
2
|
|
],
|
|
"slot_index": 0
|
|
}
|
|
],
|
|
"properties": {
|
|
"cnr_id": "comfy-core",
|
|
"ver": "0.34.0",
|
|
"Node name for S&R": "UNETLoader"
|
|
},
|
|
"widgets_values": [
|
|
"10Eros_Max_h3_TURBO-hybrid_beta5_int8.safetensors",
|
|
"default"
|
|
]
|
|
},
|
|
{
|
|
"id": 2,
|
|
"type": "CLIPLoader",
|
|
"pos": [
|
|
-1180,
|
|
250
|
|
],
|
|
"size": [
|
|
420,
|
|
106
|
|
],
|
|
"flags": {},
|
|
"order": 1,
|
|
"mode": 0,
|
|
"inputs": [],
|
|
"outputs": [
|
|
{
|
|
"name": "CLIP",
|
|
"type": "CLIP",
|
|
"links": [
|
|
3
|
|
],
|
|
"slot_index": 0
|
|
}
|
|
],
|
|
"properties": {
|
|
"cnr_id": "comfy-core",
|
|
"ver": "0.34.0",
|
|
"Node name for S&R": "CLIPLoader"
|
|
},
|
|
"widgets_values": [
|
|
"qwen3vl_32b_minimax_h3_nvfp4_awq.safetensors",
|
|
"minimax",
|
|
"default"
|
|
]
|
|
},
|
|
{
|
|
"id": 3,
|
|
"type": "VAELoader",
|
|
"pos": [
|
|
-1180,
|
|
400
|
|
],
|
|
"size": [
|
|
420,
|
|
58
|
|
],
|
|
"flags": {},
|
|
"order": 2,
|
|
"mode": 0,
|
|
"inputs": [],
|
|
"outputs": [
|
|
{
|
|
"name": "VAE",
|
|
"type": "VAE",
|
|
"links": [
|
|
4,
|
|
17
|
|
],
|
|
"slot_index": 0
|
|
}
|
|
],
|
|
"properties": {
|
|
"cnr_id": "comfy-core",
|
|
"ver": "0.34.0",
|
|
"Node name for S&R": "VAELoader"
|
|
},
|
|
"widgets_values": [
|
|
"minimax_h3_video_vae_int8_convrot.safetensors"
|
|
]
|
|
},
|
|
{
|
|
"id": 4,
|
|
"type": "VAELoader",
|
|
"pos": [
|
|
-1180,
|
|
490
|
|
],
|
|
"size": [
|
|
420,
|
|
58
|
|
],
|
|
"flags": {},
|
|
"order": 3,
|
|
"mode": 0,
|
|
"inputs": [],
|
|
"outputs": [
|
|
{
|
|
"name": "VAE",
|
|
"type": "VAE",
|
|
"links": [
|
|
5,
|
|
19
|
|
],
|
|
"slot_index": 0
|
|
}
|
|
],
|
|
"properties": {
|
|
"cnr_id": "comfy-core",
|
|
"ver": "0.34.0",
|
|
"Node name for S&R": "VAELoader"
|
|
},
|
|
"widgets_values": [
|
|
"minimax_h3_audio_vae_fp32.safetensors"
|
|
]
|
|
},
|
|
{
|
|
"id": 5,
|
|
"type": "LoadImage",
|
|
"pos": [
|
|
-1180,
|
|
590
|
|
],
|
|
"size": [
|
|
420,
|
|
314
|
|
],
|
|
"flags": {},
|
|
"order": 4,
|
|
"mode": 0,
|
|
"inputs": [],
|
|
"outputs": [
|
|
{
|
|
"name": "IMAGE",
|
|
"type": "IMAGE",
|
|
"links": [
|
|
6
|
|
],
|
|
"slot_index": 0
|
|
},
|
|
{
|
|
"name": "MASK",
|
|
"type": "MASK",
|
|
"links": [],
|
|
"slot_index": 1
|
|
}
|
|
],
|
|
"properties": {
|
|
"cnr_id": "comfy-core",
|
|
"ver": "0.34.0",
|
|
"Node name for S&R": "LoadImage"
|
|
},
|
|
"widgets_values": [
|
|
"ComfyUI_02530_.png",
|
|
"image"
|
|
]
|
|
},
|
|
{
|
|
"id": 6,
|
|
"type": "PrimitiveStringMultiline",
|
|
"pos": [
|
|
-1180,
|
|
940
|
|
],
|
|
"size": [
|
|
420,
|
|
200
|
|
],
|
|
"flags": {},
|
|
"order": 5,
|
|
"mode": 0,
|
|
"inputs": [],
|
|
"outputs": [
|
|
{
|
|
"name": "STRING",
|
|
"type": "STRING",
|
|
"links": [
|
|
7
|
|
],
|
|
"slot_index": 0
|
|
}
|
|
],
|
|
"properties": {
|
|
"cnr_id": "comfy-core",
|
|
"ver": "0.34.0",
|
|
"Node name for S&R": "PrimitiveStringMultiline"
|
|
},
|
|
"widgets_values": [
|
|
"<Picture 1> is the actual first frame of the video at 0.00 seconds and belongs to [Shot 1].\n\n[Shot 1] a video store on a wet night is shown as the camera dollies in through the door into the video store.\n\noverall_soundscape: distant wind and the wet dripping sound of rain\n\nnon_diegetic_music: smooth jazz"
|
|
]
|
|
},
|
|
{
|
|
"id": 7,
|
|
"type": "ResolutionSelector",
|
|
"pos": [
|
|
-1180,
|
|
1180
|
|
],
|
|
"size": [
|
|
420,
|
|
106
|
|
],
|
|
"flags": {},
|
|
"order": 6,
|
|
"mode": 0,
|
|
"inputs": [],
|
|
"outputs": [
|
|
{
|
|
"name": "width",
|
|
"type": "INT",
|
|
"links": [
|
|
8
|
|
],
|
|
"slot_index": 0
|
|
},
|
|
{
|
|
"name": "height",
|
|
"type": "INT",
|
|
"links": [
|
|
9
|
|
],
|
|
"slot_index": 1
|
|
}
|
|
],
|
|
"properties": {
|
|
"cnr_id": "comfy-core",
|
|
"ver": "0.34.0",
|
|
"Node name for S&R": "ResolutionSelector"
|
|
},
|
|
"widgets_values": [
|
|
"1:1 (Square)",
|
|
0.2,
|
|
32
|
|
]
|
|
},
|
|
{
|
|
"id": 8,
|
|
"type": "MiniMaxH3ReferenceToVideo",
|
|
"pos": [
|
|
-680,
|
|
400
|
|
],
|
|
"size": [
|
|
400,
|
|
250
|
|
],
|
|
"flags": {},
|
|
"order": 7,
|
|
"mode": 0,
|
|
"inputs": [
|
|
{
|
|
"name": "clip",
|
|
"type": "CLIP",
|
|
"link": 3
|
|
},
|
|
{
|
|
"name": "vae",
|
|
"type": "VAE",
|
|
"shape": 7,
|
|
"link": 4
|
|
},
|
|
{
|
|
"name": "audio_vae",
|
|
"type": "VAE",
|
|
"shape": 7,
|
|
"link": 5
|
|
},
|
|
{
|
|
"name": "ref_images.ref_image_0",
|
|
"type": "IMAGE",
|
|
"shape": 7,
|
|
"link": 6
|
|
},
|
|
{
|
|
"name": "ref_images.ref_image_1",
|
|
"type": "IMAGE",
|
|
"shape": 7,
|
|
"link": null
|
|
},
|
|
{
|
|
"name": "prompt",
|
|
"type": "STRING",
|
|
"widget": {
|
|
"name": "prompt"
|
|
},
|
|
"link": 7
|
|
},
|
|
{
|
|
"name": "width",
|
|
"type": "INT",
|
|
"widget": {
|
|
"name": "width"
|
|
},
|
|
"link": 8
|
|
},
|
|
{
|
|
"name": "height",
|
|
"type": "INT",
|
|
"widget": {
|
|
"name": "height"
|
|
},
|
|
"link": 9
|
|
}
|
|
],
|
|
"outputs": [
|
|
{
|
|
"name": "positive",
|
|
"type": "CONDITIONING",
|
|
"links": [
|
|
10
|
|
],
|
|
"slot_index": 0
|
|
},
|
|
{
|
|
"name": "LATENT",
|
|
"type": "LATENT",
|
|
"links": [
|
|
15
|
|
],
|
|
"slot_index": 1
|
|
}
|
|
],
|
|
"properties": {
|
|
"cnr_id": "comfy-core",
|
|
"ver": "0.34.0",
|
|
"Node name for S&R": "MiniMaxH3ReferenceToVideo"
|
|
},
|
|
"widgets_values": [
|
|
"",
|
|
1344,
|
|
768,
|
|
124,
|
|
"max"
|
|
]
|
|
},
|
|
{
|
|
"id": 9,
|
|
"type": "BasicGuider",
|
|
"pos": [
|
|
-200,
|
|
120
|
|
],
|
|
"size": [
|
|
360,
|
|
46
|
|
],
|
|
"flags": {},
|
|
"order": 8,
|
|
"mode": 0,
|
|
"inputs": [
|
|
{
|
|
"name": "model",
|
|
"type": "MODEL",
|
|
"link": 1
|
|
},
|
|
{
|
|
"name": "conditioning",
|
|
"type": "CONDITIONING",
|
|
"link": 10
|
|
}
|
|
],
|
|
"outputs": [
|
|
{
|
|
"name": "GUIDER",
|
|
"type": "GUIDER",
|
|
"links": [
|
|
12
|
|
],
|
|
"slot_index": 0
|
|
}
|
|
],
|
|
"properties": {
|
|
"cnr_id": "comfy-core",
|
|
"ver": "0.34.0",
|
|
"Node name for S&R": "BasicGuider"
|
|
},
|
|
"widgets_values": []
|
|
},
|
|
{
|
|
"id": 10,
|
|
"type": "KSamplerSelect",
|
|
"pos": [
|
|
-200,
|
|
210
|
|
],
|
|
"size": [
|
|
360,
|
|
58
|
|
],
|
|
"flags": {},
|
|
"order": 9,
|
|
"mode": 0,
|
|
"inputs": [],
|
|
"outputs": [
|
|
{
|
|
"name": "SAMPLER",
|
|
"type": "SAMPLER",
|
|
"links": [
|
|
13
|
|
],
|
|
"slot_index": 0
|
|
}
|
|
],
|
|
"properties": {
|
|
"cnr_id": "comfy-core",
|
|
"ver": "0.34.0",
|
|
"Node name for S&R": "KSamplerSelect"
|
|
},
|
|
"widgets_values": [
|
|
"er_sde"
|
|
]
|
|
},
|
|
{
|
|
"id": 11,
|
|
"type": "BasicScheduler",
|
|
"pos": [
|
|
-200,
|
|
300
|
|
],
|
|
"size": [
|
|
360,
|
|
106
|
|
],
|
|
"flags": {},
|
|
"order": 10,
|
|
"mode": 0,
|
|
"inputs": [
|
|
{
|
|
"name": "model",
|
|
"type": "MODEL",
|
|
"link": 2
|
|
}
|
|
],
|
|
"outputs": [
|
|
{
|
|
"name": "SIGMAS",
|
|
"type": "SIGMAS",
|
|
"links": [
|
|
14
|
|
],
|
|
"slot_index": 0
|
|
}
|
|
],
|
|
"properties": {
|
|
"cnr_id": "comfy-core",
|
|
"ver": "0.34.0",
|
|
"Node name for S&R": "BasicScheduler"
|
|
},
|
|
"widgets_values": [
|
|
"simple",
|
|
7,
|
|
1.0
|
|
]
|
|
},
|
|
{
|
|
"id": 12,
|
|
"type": "ShaderNoiseSource",
|
|
"pos": [
|
|
-200,
|
|
450
|
|
],
|
|
"size": [
|
|
400,
|
|
640
|
|
],
|
|
"flags": {},
|
|
"order": 11,
|
|
"mode": 0,
|
|
"inputs": [],
|
|
"outputs": [
|
|
{
|
|
"name": "noise",
|
|
"type": "NOISE",
|
|
"links": [
|
|
11
|
|
],
|
|
"slot_index": 0
|
|
}
|
|
],
|
|
"properties": {
|
|
"cnr_id": "comfyui-shadernoiseksampler",
|
|
"ver": "1.0.0",
|
|
"Node name for S&R": "ShaderNoiseSource"
|
|
},
|
|
"widgets_values": [
|
|
536471999178269,
|
|
"fixed",
|
|
0.3,
|
|
"multiply",
|
|
"none",
|
|
false,
|
|
"domain_warp",
|
|
"none",
|
|
"none",
|
|
1.0,
|
|
1.0,
|
|
0.5,
|
|
1.0,
|
|
0.5,
|
|
0.8,
|
|
false,
|
|
"custom",
|
|
"uniform",
|
|
false,
|
|
"walk",
|
|
true
|
|
]
|
|
},
|
|
{
|
|
"id": 13,
|
|
"type": "SamplerCustomAdvanced",
|
|
"pos": [
|
|
280,
|
|
120
|
|
],
|
|
"size": [
|
|
360,
|
|
126
|
|
],
|
|
"flags": {},
|
|
"order": 12,
|
|
"mode": 0,
|
|
"inputs": [
|
|
{
|
|
"name": "noise",
|
|
"type": "NOISE",
|
|
"link": 11
|
|
},
|
|
{
|
|
"name": "guider",
|
|
"type": "GUIDER",
|
|
"link": 12
|
|
},
|
|
{
|
|
"name": "sampler",
|
|
"type": "SAMPLER",
|
|
"link": 13
|
|
},
|
|
{
|
|
"name": "sigmas",
|
|
"type": "SIGMAS",
|
|
"link": 14
|
|
},
|
|
{
|
|
"name": "latent_image",
|
|
"type": "LATENT",
|
|
"link": 15
|
|
}
|
|
],
|
|
"outputs": [
|
|
{
|
|
"name": "output",
|
|
"type": "LATENT",
|
|
"links": [
|
|
16,
|
|
18
|
|
],
|
|
"slot_index": 0
|
|
},
|
|
{
|
|
"name": "denoised_output",
|
|
"type": "LATENT",
|
|
"links": [],
|
|
"slot_index": 1
|
|
}
|
|
],
|
|
"properties": {
|
|
"cnr_id": "comfy-core",
|
|
"ver": "0.34.0",
|
|
"Node name for S&R": "SamplerCustomAdvanced"
|
|
},
|
|
"widgets_values": []
|
|
},
|
|
{
|
|
"id": 14,
|
|
"type": "VAEDecode",
|
|
"pos": [
|
|
700,
|
|
120
|
|
],
|
|
"size": [
|
|
340,
|
|
46
|
|
],
|
|
"flags": {},
|
|
"order": 13,
|
|
"mode": 0,
|
|
"inputs": [
|
|
{
|
|
"name": "samples",
|
|
"type": "LATENT",
|
|
"link": 16
|
|
},
|
|
{
|
|
"name": "vae",
|
|
"type": "VAE",
|
|
"link": 17
|
|
}
|
|
],
|
|
"outputs": [
|
|
{
|
|
"name": "IMAGE",
|
|
"type": "IMAGE",
|
|
"links": [
|
|
20
|
|
],
|
|
"slot_index": 0
|
|
}
|
|
],
|
|
"properties": {
|
|
"cnr_id": "comfy-core",
|
|
"ver": "0.34.0",
|
|
"Node name for S&R": "VAEDecode"
|
|
},
|
|
"widgets_values": []
|
|
},
|
|
{
|
|
"id": 15,
|
|
"type": "VAEDecodeAudio",
|
|
"pos": [
|
|
700,
|
|
210
|
|
],
|
|
"size": [
|
|
340,
|
|
46
|
|
],
|
|
"flags": {},
|
|
"order": 14,
|
|
"mode": 0,
|
|
"inputs": [
|
|
{
|
|
"name": "samples",
|
|
"type": "LATENT",
|
|
"link": 18
|
|
},
|
|
{
|
|
"name": "vae",
|
|
"type": "VAE",
|
|
"link": 19
|
|
}
|
|
],
|
|
"outputs": [
|
|
{
|
|
"name": "AUDIO",
|
|
"type": "AUDIO",
|
|
"links": [
|
|
21
|
|
],
|
|
"slot_index": 0
|
|
}
|
|
],
|
|
"properties": {
|
|
"cnr_id": "comfy-core",
|
|
"ver": "0.34.0",
|
|
"Node name for S&R": "VAEDecodeAudio"
|
|
},
|
|
"widgets_values": []
|
|
},
|
|
{
|
|
"id": 16,
|
|
"type": "CreateVideo",
|
|
"pos": [
|
|
700,
|
|
300
|
|
],
|
|
"size": [
|
|
340,
|
|
102
|
|
],
|
|
"flags": {},
|
|
"order": 15,
|
|
"mode": 0,
|
|
"inputs": [
|
|
{
|
|
"name": "images",
|
|
"type": "IMAGE",
|
|
"link": 20
|
|
},
|
|
{
|
|
"name": "audio",
|
|
"type": "AUDIO",
|
|
"shape": 7,
|
|
"link": 21
|
|
}
|
|
],
|
|
"outputs": [
|
|
{
|
|
"name": "VIDEO",
|
|
"type": "VIDEO",
|
|
"links": [
|
|
22
|
|
],
|
|
"slot_index": 0
|
|
}
|
|
],
|
|
"properties": {
|
|
"cnr_id": "comfy-core",
|
|
"ver": "0.34.0",
|
|
"Node name for S&R": "CreateVideo"
|
|
},
|
|
"widgets_values": [
|
|
24.0,
|
|
"auto",
|
|
"sRGB",
|
|
"none"
|
|
]
|
|
},
|
|
{
|
|
"id": 17,
|
|
"type": "SaveVideo",
|
|
"pos": [
|
|
700,
|
|
450
|
|
],
|
|
"size": [
|
|
340,
|
|
400
|
|
],
|
|
"flags": {},
|
|
"order": 16,
|
|
"mode": 0,
|
|
"inputs": [
|
|
{
|
|
"name": "video",
|
|
"type": "VIDEO",
|
|
"link": 22
|
|
}
|
|
],
|
|
"outputs": [
|
|
{
|
|
"name": "video",
|
|
"type": "VIDEO",
|
|
"links": [],
|
|
"slot_index": 0
|
|
}
|
|
],
|
|
"properties": {
|
|
"cnr_id": "comfy-core",
|
|
"ver": "0.34.0",
|
|
"Node name for S&R": "SaveVideo"
|
|
},
|
|
"widgets_values": [
|
|
"video/MiniMaxH3_customsampling_SNK",
|
|
"auto",
|
|
"auto"
|
|
]
|
|
}
|
|
],
|
|
"links": [
|
|
[
|
|
1,
|
|
1,
|
|
0,
|
|
9,
|
|
0,
|
|
"MODEL"
|
|
],
|
|
[
|
|
2,
|
|
1,
|
|
0,
|
|
11,
|
|
0,
|
|
"MODEL"
|
|
],
|
|
[
|
|
3,
|
|
2,
|
|
0,
|
|
8,
|
|
0,
|
|
"CLIP"
|
|
],
|
|
[
|
|
4,
|
|
3,
|
|
0,
|
|
8,
|
|
1,
|
|
"VAE"
|
|
],
|
|
[
|
|
5,
|
|
4,
|
|
0,
|
|
8,
|
|
2,
|
|
"VAE"
|
|
],
|
|
[
|
|
6,
|
|
5,
|
|
0,
|
|
8,
|
|
3,
|
|
"IMAGE"
|
|
],
|
|
[
|
|
7,
|
|
6,
|
|
0,
|
|
8,
|
|
5,
|
|
"STRING"
|
|
],
|
|
[
|
|
8,
|
|
7,
|
|
0,
|
|
8,
|
|
6,
|
|
"INT"
|
|
],
|
|
[
|
|
9,
|
|
7,
|
|
1,
|
|
8,
|
|
7,
|
|
"INT"
|
|
],
|
|
[
|
|
10,
|
|
8,
|
|
0,
|
|
9,
|
|
1,
|
|
"CONDITIONING"
|
|
],
|
|
[
|
|
11,
|
|
12,
|
|
0,
|
|
13,
|
|
0,
|
|
"NOISE"
|
|
],
|
|
[
|
|
12,
|
|
9,
|
|
0,
|
|
13,
|
|
1,
|
|
"GUIDER"
|
|
],
|
|
[
|
|
13,
|
|
10,
|
|
0,
|
|
13,
|
|
2,
|
|
"SAMPLER"
|
|
],
|
|
[
|
|
14,
|
|
11,
|
|
0,
|
|
13,
|
|
3,
|
|
"SIGMAS"
|
|
],
|
|
[
|
|
15,
|
|
8,
|
|
1,
|
|
13,
|
|
4,
|
|
"LATENT"
|
|
],
|
|
[
|
|
16,
|
|
13,
|
|
0,
|
|
14,
|
|
0,
|
|
"LATENT"
|
|
],
|
|
[
|
|
17,
|
|
3,
|
|
0,
|
|
14,
|
|
1,
|
|
"VAE"
|
|
],
|
|
[
|
|
18,
|
|
13,
|
|
0,
|
|
15,
|
|
0,
|
|
"LATENT"
|
|
],
|
|
[
|
|
19,
|
|
4,
|
|
0,
|
|
15,
|
|
1,
|
|
"VAE"
|
|
],
|
|
[
|
|
20,
|
|
14,
|
|
0,
|
|
16,
|
|
0,
|
|
"IMAGE"
|
|
],
|
|
[
|
|
21,
|
|
15,
|
|
0,
|
|
16,
|
|
1,
|
|
"AUDIO"
|
|
],
|
|
[
|
|
22,
|
|
16,
|
|
0,
|
|
17,
|
|
0,
|
|
"VIDEO"
|
|
]
|
|
],
|
|
"groups": [],
|
|
"config": {},
|
|
"extra": {
|
|
"ds": {
|
|
"scale": 0.6,
|
|
"offset": [
|
|
1300,
|
|
60
|
|
]
|
|
}
|
|
},
|
|
"version": 0.4
|
|
} |