{ "id": "h3-ref2va-chain", "revision": 1, "last_node_id": 36, "last_link_id": 19, "nodes": [ { "id": 2, "type": "UNETLoader", "pos": [ 0, 340 ], "size": [ 420, 82 ], "flags": {}, "order": 0, "mode": 0, "inputs": [ { "localized_name": "unet_name", "name": "unet_name", "type": "COMBO", "widget": { "name": "unet_name" }, "link": null }, { "localized_name": "weight_dtype", "name": "weight_dtype", "type": "COMBO", "widget": { "name": "weight_dtype" }, "link": null } ], "outputs": [ { "localized_name": "MODEL", "name": "MODEL", "type": "MODEL", "slot_index": 0, "links": [ 11 ] } ], "title": "DiT (ref2va)", "properties": { "cnr_id": "comfy-core", "ver": "0.34.0", "Node name for S&R": "UNETLoader" }, "widgets_values": [ "minimax_h3_hybrid_fl2va_ref2va_b30-49-int8.safetensors", "default" ] }, { "id": 3, "type": "CLIPLoader", "pos": [ 0, 460 ], "size": [ 420, 106 ], "flags": {}, "order": 1, "mode": 0, "inputs": [ { "localized_name": "clip_name", "name": "clip_name", "type": "COMBO", "widget": { "name": "clip_name" }, "link": null }, { "localized_name": "type", "name": "type", "type": "COMBO", "widget": { "name": "type" }, "link": null }, { "localized_name": "device", "name": "device", "shape": 7, "type": "COMBO", "widget": { "name": "device" }, "link": null } ], "outputs": [ { "localized_name": "CLIP", "name": "CLIP", "type": "CLIP", "slot_index": 0, "links": [ 12 ] } ], "title": "Text encoder", "properties": { "cnr_id": "comfy-core", "ver": "0.34.0", "Node name for S&R": "CLIPLoader" }, "widgets_values": [ "qwen3vl_32b_minimax_h3_int8_convrot.safetensors", "minimax", "default" ] }, { "id": 4, "type": "VAELoader", "pos": [ 0, 600 ], "size": [ 420, 82 ], "flags": {}, "order": 2, "mode": 0, "inputs": [ { "localized_name": "vae_name", "name": "vae_name", "type": "COMBO", "widget": { "name": "vae_name" }, "link": null } ], "outputs": [ { "localized_name": "VAE", "name": "VAE", "type": "VAE", "slot_index": 0, "links": [ 3 ] } ], "title": "Video VAE", "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": 5, "type": "VAELoader", "pos": [ 0, 720 ], "size": [ 420, 82 ], "flags": {}, "order": 3, "mode": 0, "inputs": [ { "localized_name": "vae_name", "name": "vae_name", "type": "COMBO", "widget": { "name": "vae_name" }, "link": null } ], "outputs": [ { "localized_name": "VAE", "name": "VAE", "type": "VAE", "slot_index": 0, "links": [ 4 ] } ], "title": "Audio VAE", "properties": { "cnr_id": "comfy-core", "ver": "0.34.0", "Node name for S&R": "VAELoader" }, "widgets_values": [ "minimax_h3_audio_vae_fp32.safetensors" ] }, { "id": 7, "type": "HandTieClips", "pos": [ 994, 427 ], "size": [ 1452, 1320 ], "flags": {}, "order": 4, "mode": 0, "inputs": [ { "localized_name": "model", "name": "model", "type": "MODEL", "link": 18 }, { "localized_name": "clip", "name": "clip", "type": "CLIP", "link": 19 }, { "localized_name": "vae", "name": "vae", "type": "VAE", "link": 3 }, { "localized_name": "audio_vae", "name": "audio_vae", "type": "VAE", "link": 4 }, { "localized_name": "prompt", "name": "prompt", "type": "STRING", "widget": { "name": "prompt" }, "link": null }, { "localized_name": "chains", "name": "chains", "type": "COMBO", "widget": { "name": "chains" }, "link": null }, { "localized_name": "resolution", "name": "resolution", "type": "COMBO", "widget": { "name": "resolution" }, "link": null }, { "localized_name": "aspect", "name": "aspect", "type": "COMBO", "widget": { "name": "aspect" }, "link": null }, { "localized_name": "duration", "name": "duration", "type": "COMBO", "widget": { "name": "duration" }, "link": null }, { "localized_name": "overlap", "name": "overlap", "type": "COMBO", "widget": { "name": "overlap" }, "link": null }, { "localized_name": "seed", "name": "seed", "type": "INT", "widget": { "name": "seed" }, "link": null }, { "localized_name": "seed_per_shot", "name": "seed_per_shot", "type": "BOOLEAN", "widget": { "name": "seed_per_shot" }, "link": null }, { "localized_name": "steps", "name": "steps", "type": "INT", "widget": { "name": "steps" }, "link": null }, { "localized_name": "sampler_name", "name": "sampler_name", "type": "COMBO", "widget": { "name": "sampler_name" }, "link": null }, { "localized_name": "scheduler", "name": "scheduler", "type": "COMBO", "widget": { "name": "scheduler" }, "link": null }, { "localized_name": "shift_video", "name": "shift_video", "type": "FLOAT", "widget": { "name": "shift_video" }, "link": null }, { "localized_name": "shift_audio", "name": "shift_audio", "type": "FLOAT", "widget": { "name": "shift_audio" }, "link": null }, { "localized_name": "ref_image_size", "name": "ref_image_size", "type": "COMBO", "widget": { "name": "ref_image_size" }, "link": null }, { "localized_name": "hop_script", "name": "hop_script", "shape": 7, "type": "COMBO", "widget": { "name": "hop_script" }, "link": null }, { "localized_name": "pin_to_qwen", "name": "pin_to_qwen", "shape": 7, "type": "COMBO", "widget": { "name": "pin_to_qwen" }, "link": null }, { "localized_name": "shot_plan", "name": "shot_plan", "shape": 7, "type": "STRING", "widget": { "name": "shot_plan" }, "link": null }, { "localized_name": "ref_plan", "name": "ref_plan", "shape": 7, "type": "STRING", "widget": { "name": "ref_plan" }, "link": null }, { "localized_name": "cache_hops", "name": "cache_hops", "shape": 7, "type": "COMBO", "widget": { "name": "cache_hops" }, "link": null }, { "localized_name": "cache_budget_gb", "name": "cache_budget_gb", "shape": 7, "type": "FLOAT", "widget": { "name": "cache_budget_gb" }, "link": null }, { "localized_name": "audio_pin_frames", "name": "audio_pin_frames", "shape": 7, "type": "INT", "widget": { "name": "audio_pin_frames" }, "link": null }, { "localized_name": "pin_renorm", "name": "pin_renorm", "shape": 7, "type": "COMBO", "widget": { "name": "pin_renorm" }, "link": null }, { "localized_name": "pin_noise", "name": "pin_noise", "shape": 7, "type": "FLOAT", "widget": { "name": "pin_noise" }, "link": null }, { "localized_name": "tone_compensate", "name": "tone_compensate", "shape": 7, "type": "COMBO", "widget": { "name": "tone_compensate" }, "link": null }, { "localized_name": "start_image_file", "name": "start_image_file", "shape": 7, "type": "STRING", "widget": { "name": "start_image_file" }, "link": null }, { "localized_name": "reference_video_file", "name": "reference_video_file", "shape": 7, "type": "STRING", "widget": { "name": "reference_video_file" }, "link": null }, { "localized_name": "voice_file", "name": "voice_file", "shape": 7, "type": "STRING", "widget": { "name": "voice_file" }, "link": null } ], "outputs": [ { "localized_name": "images", "name": "images", "type": "IMAGE", "slot_index": 0, "links": [ 5 ] }, { "localized_name": "audio", "name": "audio", "type": "AUDIO", "slot_index": 1, "links": [ 6 ] }, { "localized_name": "info", "name": "info", "type": "STRING", "slot_index": 2, "links": [ 7 ] }, { "localized_name": "contact_sheet", "name": "contact_sheet", "type": "IMAGE", "slot_index": 3, "links": [] } ], "properties": { "Node name for S&R": "H3RefChain", "h3_plan_backup": "{\n \"shots\": [\n {\n \"id\": \"s1\",\n \"beat\": \"Live-action, natural indoor light. The cook stands at the counter in @kitchen, looks up from the chopping board, and speaks one short line to someone off-frame.\",\n \"directives\": {\n \"camera\": \"hold\",\n \"framing\": \"medium\",\n \"pace\": \"steady\",\n \"tail\": \"ongoing\"\n }\n },\n {\n \"id\": \"s2\",\n \"beat\": \"The cook sets the knife down, turns toward the window, and finishes her last word as she looks out.\",\n \"directives\": {\n \"join\": \"continuous\",\n \"camera\": \"push_in\",\n \"framing\": \"close\",\n \"pace\": \"steady\",\n \"tail\": \"ongoing\"\n }\n },\n {\n \"id\": \"s3\",\n \"beat\": \"The cook leans back against the counter with her lips closed, and lets her eyes move slowly across the room. The room is still, with only the low hum of the refrigerator.\",\n \"directives\": {\n \"join\": \"continuous\",\n \"camera\": \"pull_back\",\n \"framing\": \"medium\",\n \"pace\": \"slow\",\n \"tail\": \"settle\"\n }\n }\n ]\n}", "h3_editor_mode": "shots" }, "widgets_values": [ "Live-action, natural indoor light. The person looks exactly as in the reference photographs.\n\nThey sit at a table, look up, and speak one short line. Then they settle, watching the room.", "6", "448p (0.34 MP)", "16:9 landscape", "7 s", "0.9 s", 427058607873049, "fixed", true, 10, "res_multistep", "simple", 12, 3, "match", "next", "last frame", "{\"shots\":[{\"id\":\"s1\",\"beat\":\"@hero_face stands at the counter in @kitchen, a grey apron over a grey t-shirt. She looks up from the chopping board and says, 'You are early. I have barely started.' She turns back to the board and goes on slicing, the knife tapping steadily against the wood.\",\"directives\":{\"camera\":\"hold\",\"framing\":\"medium\",\"pace\":\"steady\",\"tail\":\"ongoing\"}},{\"id\":\"s2\",\"beat\":\"She sets the knife down and walks the length of the counter to the window of @kitchen, looking out at the street. Her steps are soft on the tiles and the refrigerator hums behind her.\",\"directives\":{\"join\":\"continuous\",\"camera\":\"pan_follow\",\"framing\":\"medium\",\"pace\":\"steady\",\"tail\":\"ongoing\"}},{\"id\":\"s3\",\"beat\":\"She turns from the window, crosses @kitchen and pushes through the doorway into the hallway of @hallway beyond, the room falling away behind her. Her footsteps carry off the tiles and onto the soft runner as she keeps walking.\",\"directives\":{\"join\":\"match_cut\",\"camera\":\"pan_follow\",\"framing\":\"wide\",\"pace\":\"brisk\",\"tail\":\"ongoing\"}},{\"id\":\"s4\",\"beat\":\"@hero_face walks down the narrow hallway of @hallway, hung with coats, one hand trailing along the wall, her footsteps muffled on the runner. The hallway walls stand close on either side of her and the coats brush past her shoulder.\",\"directives\":{\"join\":\"continuous\",\"camera\":\"handheld\",\"framing\":\"medium\",\"pace\":\"steady\",\"tail\":\"ongoing\"}},{\"id\":\"s5\",\"beat\":\"She reaches the window at the end of @hallway and rests one hand on the frame, then half turns back over her shoulder and says, 'It is still raining. We will have to do it inside.' She pushes off the frame and starts back down the hall.\",\"directives\":{\"join\":\"continuous\",\"camera\":\"push_in\",\"framing\":\"medium\",\"pace\":\"slow\",\"tail\":\"ongoing\"}},{\"id\":\"s6\",\"beat\":\"She walks back along @hallway and through the doorway to the counter in @kitchen, picking the knife up again and settling back into the rhythm of it. The refrigerator hums and the knife starts on the board.\",\"directives\":{\"join\":\"match_cut\",\"camera\":\"pull_back\",\"framing\":\"wide\",\"pace\":\"steady\",\"tail\":\"hold\"}}]}", "{\"refs\":[{\"tag\":\"hero_face\",\"file\":\"ref_face.jpg\",\"subject\":1,\"retention\":\"fully_preserved\",\"shots\":[1,2,3,4,5,6],\"desc\":\"head-and-shoulders photograph of the cook, even light\"},{\"tag\":\"hero_outfit\",\"file\":\"ref_outfit.jpg\",\"subject\":1,\"retention\":\"partially_copy\",\"shots\":[1],\"desc\":\"full-length photograph of the same cook, grey apron over a grey t-shirt\"},{\"tag\":\"kitchen\",\"file\":\"ref_room.jpg\",\"retention\":\"reference\",\"shots\":[1,2,3,6],\"desc\":\"the kitchen: counter, window, and the light coming through it\"},{\"tag\":\"hallway\",\"file\":\"ref_hall.jpg\",\"retention\":\"reference\",\"shots\":[3,4,5,6],\"desc\":\"the hallway: coats along one wall, a runner underfoot, a window at the far end\"}],\"subjects\":{\"1\":{\"name\":\"the cook\",\"locked\":\"the same face, the same short dark hair, the same silver stud earrings\",\"context\":\"the grey apron stays tied over the grey t-shirt\"}}}", "on", 19, 24, "off", 0, "frame_shift", "", "", "", "Live-action, natural light, one continuous take.", 0, "final", "off", "off", 0.35, -14.0, 0.6, "loop", 1.0, "", 0, 0, 0, 0, 0, 0, 0, "", "MAX", "auto", "hop1", "", 0, 0, "", 0, 0, "", 0, 0, "", 0, 0, "", "off", "off", "off", 0.5, 2, "same", "simple", "base", "freeze", "auto", "linear", "refine", "regular", 0.0, "denoise", "off", "None", 0.5, "None", 1.0, "None", 1.0, "on", 2.0, 0.8, "", "", "minimax_h3_latent_upscaler_3d_bf16.safetensors", "None", 1.0, "None", 1.0, 0, "off", "", "", "off", 0.5, 5, "same", "same", 0, "off", "", "open_h3_regenerate_2k_r256pp_bf16.safetensors", 42, "hop_text", "temp", "0.5" ], "title": "H3 Ref2VA Chain - showcase 6x7s" }, { "id": 16, "type": "HTCChainPreview", "pos": [ 2258.827272727274, -90.16060606060621 ], "size": [ 400, 460 ], "flags": {}, "order": 5, "mode": 0, "inputs": [ { "localized_name": "images", "name": "images", "type": "IMAGE", "link": 5 }, { "localized_name": "audio", "name": "audio", "shape": 7, "type": "AUDIO", "link": 6 }, { "localized_name": "info", "name": "info", "shape": 7, "type": "STRING", "link": 7 } ], "outputs": [ { "localized_name": "images", "name": "images", "type": "IMAGE", "slot_index": 0, "links": [ 8 ] }, { "localized_name": "audio", "name": "audio", "type": "AUDIO", "slot_index": 1, "links": [ 9 ] } ], "properties": { "Node name for S&R": "H3ChainPreview", "h3rcPanelH": 40 }, "widgets_values": [ "" ] }, { "id": 8, "type": "CreateVideo", "pos": [ 2991.7272727272743, 37.33939393939383 ], "size": [ 300, 130 ], "flags": {}, "order": 6, "mode": 0, "inputs": [ { "localized_name": "images", "name": "images", "type": "IMAGE", "link": 8 }, { "localized_name": "audio", "name": "audio", "shape": 7, "type": "AUDIO", "link": 9 }, { "localized_name": "fps", "name": "fps", "type": "FLOAT", "widget": { "name": "fps" }, "link": null }, { "localized_name": "bit_depth", "name": "bit_depth", "shape": 7, "type": "COMBO", "widget": { "name": "bit_depth" }, "link": null }, { "localized_name": "color_space", "name": "color_space", "shape": 7, "type": "COMBO", "widget": { "name": "color_space" }, "link": null } ], "outputs": [ { "localized_name": "VIDEO", "name": "VIDEO", "type": "VIDEO", "slot_index": 0, "links": [ 10 ] } ], "properties": { "cnr_id": "comfy-core", "ver": "0.34.0", "Node name for S&R": "CreateVideo" }, "widgets_values": [ 24, "auto", "sRGB" ] }, { "id": 9, "type": "SaveVideo", "pos": [ 3032.515151515151, 714.542424242424 ], "size": [ 340, 106 ], "flags": {}, "order": 7, "mode": 0, "inputs": [ { "localized_name": "video", "name": "video", "type": "VIDEO", "link": 10 }, { "localized_name": "filename_prefix", "name": "filename_prefix", "type": "STRING", "widget": { "name": "filename_prefix" }, "link": null }, { "localized_name": "format", "name": "format", "type": "COMFY_DYNAMICCOMBO_V3", "widget": { "name": "format" }, "link": null }, { "localized_name": "format.codec", "name": "format.codec", "type": "COMFY_DYNAMICCOMBO_V3", "widget": { "name": "format.codec" }, "link": null }, { "localized_name": "codec", "name": "codec", "shape": 7, "type": "COMFY_DYNAMICCOMBO_V3", "widget": { "name": "codec" }, "link": null } ], "outputs": [ { "localized_name": "video", "name": "video", "type": "VIDEO", "links": [] } ], "title": "SAVE", "properties": { "cnr_id": "comfy-core", "ver": "0.34.0", "Node name for S&R": "SaveVideo" }, "widgets_values": [ "video/HANDTIECLIPS/chain", "auto", "auto", "auto" ] }, { "id": 30, "type": "LTX_lora_loader", "pos": [ 520, 312 ], "size": [ 420, 240 ], "flags": {}, "order": 0, "mode": 0, "inputs": [ { "name": "model", "type": "MODEL", "link": 13 }, { "name": "clip", "type": "CLIP", "link": 12 } ], "outputs": [ { "name": "model", "type": "MODEL", "links": [ 14 ] }, { "name": "clip", "type": "CLIP", "links": [ 19 ] } ], "title": "LoRA Loader Stack (turbo)", "properties": { "htc_speed": "lora", "Node name for S&R": "LTX_lora_loader", "stack_data": "[{\"on\":true,\"lora\":\"minimax_h3_ref2v_turbo_4step_v0.1_comfyui_bf16.safetensors\",\"str\":1,\"v\":1,\"a\":1,\"t\":1}]" }, "widgets_values": [ "minimax", "[{\"on\":true,\"lora\":\"minimax_h3_ref2v_turbo_4step_v0.1_comfyui_bf16.safetensors\",\"str\":1,\"v\":1,\"a\":1,\"t\":1}]", "" ] }, { "id": 31, "type": "H3AdaLNLoRAFix", "pos": [ 520, 582 ], "size": [ 340, 150 ], "flags": {}, "order": 0, "mode": 0, "inputs": [ { "name": "model", "type": "MODEL", "link": 14 } ], "outputs": [ { "name": "MODEL", "type": "MODEL", "links": [ 15 ] } ], "title": "H3 AdaLN LoRA Fix", "properties": { "htc_speed": "adaln", "Node name for S&R": "H3AdaLNLoRAFix" }, "widgets_values": [ "port" ] }, { "id": 32, "type": "MiniMaxLowVRAMAttention", "pos": [ 520, 762 ], "size": [ 330, 58 ], "flags": {}, "order": 0, "mode": 0, "inputs": [ { "name": "model", "type": "MODEL", "link": 15 } ], "outputs": [ { "name": "model", "type": "MODEL", "links": [ 16 ] } ], "title": "MiniMax H3 Low VRAM Attention", "properties": { "htc_speed": "lowvram", "Node name for S&R": "MiniMaxLowVRAMAttention" }, "widgets_values": [ 4 ] }, { "id": 33, "type": "H3SLAAttention", "pos": [ 520, -40 ], "size": [ 340, 322 ], "flags": {}, "order": 0, "mode": 0, "inputs": [ { "name": "model", "type": "MODEL", "link": 11 } ], "outputs": [ { "name": "MODEL", "type": "MODEL", "links": [ 13 ] } ], "title": "H3 SLA Attention", "properties": { "htc_speed": "sla", "Node name for S&R": "H3SLAAttention" }, "widgets_values": [ 0.9, "64", 8192, 0, true, true, "0", "comfy_kitchen", true, true, "Light" ] }, { "id": 34, "type": "ModelPreviewOverrideKJ", "pos": [ 520, 850 ], "size": [ 360, 480 ], "flags": {}, "order": 0, "mode": 0, "inputs": [ { "name": "model", "type": "MODEL", "link": 16 }, { "name": "vae", "type": "VAE", "link": null } ], "outputs": [ { "name": "MODEL", "type": "MODEL", "links": [ 17 ] } ], "title": "Model Preview Override", "properties": { "htc_speed": "preview", "Node name for S&R": "ModelPreviewOverrideKJ" }, "widgets_values": [ 512, 80, true, 100, 8, "taeh3.safetensors", "" ] }, { "id": 35, "type": "HTCH3Cache", "pos": [ 520, 1360 ], "size": [ 340, 200 ], "flags": {}, "order": 0, "mode": 0, "inputs": [ { "name": "model", "type": "MODEL", "link": 17 } ], "outputs": [ { "name": "MODEL", "type": "MODEL", "links": [ 18 ] } ], "title": "H3 Cache", "properties": { "htc_speed": "cache", "Node name for S&R": "HTCH3Cache" }, "widgets_values": [ 0.05, 0.2, 0.8, 1, "auto", false ] }, { "id": 36, "type": "MarkdownNote", "pos": [ -560, -400 ], "size": [ 520, 640 ], "flags": {}, "order": 8, "mode": 0, "inputs": [], "outputs": [], "title": "START HERE", "properties": { "htc_card": "start" }, "widgets_values": [ "## Hand Tie Clips -- showcase\n\nSix hops of 7 s: a kitchen, a walk out through the hallway, and back. A test of identity and joins across rooms.\n\n**Supply three pictures first** -- drop them on the **REFS** rows, or put them in `ComfyUI/input/h3_refs` as `ref_face.jpg` (@hero_face), `ref_outfit.jpg` (@hero_outfit) and `ref_room.jpg` (@kitchen). The run stops and names any that are missing.\n\n**Links** -- [GitHub](https://github.com/sandpies/ComfyUI-Hand-Tie-Clips) \u00b7 [HuggingFace](https://huggingface.co/sandpies/ComfyUI-Hand-Tie-Clips) \u00b7 the full writing guide is `PROMPTING.md` in the pack folder.\n\n**steps is 7**, which needs the turbo LoRA in the loader. Keep **cache_hops on**.\n\n**The MODEL chain stays drawn:** loader \u2192 H3 SLA Attention \u2192 LoRA loader \u2192 H3 AdaLN LoRA Fix \u2192 Low VRAM Attention \u2192 Model Preview Override \u2192 H3 Cache \u2192 this node. CLIP comes from the LoRA loader, not the encoder. Missing a pack? Delete its red node and wire around it.\n\n**Realism boost** (optional, RUN tab) -- put these in `models/loras`: [`minimax_h3_lms_v1.0_r64`](https://huggingface.co/Alissonerdx/Minimax-H3-ComfyUI/blob/main/loras/minimax_h3_lms_v1.0_r64.safetensors) (0.5) and [`h3-realism-people-t2v-i2v-r2v`](https://huggingface.co/fal/MiniMax-H3-Realism-People-LoRA/blob/main/h3-realism-people-t2v-i2v-r2v.safetensors) (1.0). The recipe is 6 base steps (2 + 10).\n" ], "color": "#432", "bgcolor": "#653" } ], "links": [ [ 3, 4, 0, 7, 2, "VAE" ], [ 4, 5, 0, 7, 3, "VAE" ], [ 5, 7, 0, 16, 0, "IMAGE" ], [ 6, 7, 1, 16, 1, "AUDIO" ], [ 7, 7, 2, 16, 2, "STRING" ], [ 8, 16, 0, 8, 0, "IMAGE" ], [ 9, 16, 1, 8, 1, "AUDIO" ], [ 10, 8, 0, 9, 0, "VIDEO" ], [ 11, 2, 0, 33, 0, "MODEL" ], [ 12, 3, 0, 30, 1, "CLIP" ], [ 13, 33, 0, 30, 0, "MODEL" ], [ 14, 30, 0, 31, 0, "MODEL" ], [ 15, 31, 0, 32, 0, "MODEL" ], [ 16, 32, 0, 34, 0, "MODEL" ], [ 17, 34, 0, 35, 0, "MODEL" ], [ 18, 35, 0, 7, 0, "MODEL" ], [ 19, 30, 1, 7, 1, "CLIP" ] ], "groups": [ { "id": 1, "title": "READ ME", "bounding": [ -580, -460, 560, 720 ], "color": "#3f789e", "font_size": 24 } ], "config": {}, "extra": { "ds": { "scale": 0.8264462809917354, "offset": [ 76.11091610712583, -281.1386834420914 ] } }, "version": 0.4 }