audio memory default ON: cross-shot voice consistency is the point of multishot; sync/voice tradeoff documented in tooltip
Browse files- nodes.py +12 -12
- workflow/JoyEcho_Multishot_Workflow_PUBLIC.json +327 -327
nodes.py
CHANGED
|
@@ -1105,13 +1105,13 @@ class JoyEcho_Generate:
|
|
| 1105 |
"memory_max_size": ("INT", {"default": 7, "min": 0, "max": 20}),
|
| 1106 |
"num_fix_frames": ("INT", {"default": 3, "min": 0, "max": 10}),
|
| 1107 |
"enable_audio_memory": ("BOOLEAN", {
|
| 1108 |
-
"default":
|
| 1109 |
"tooltip": "Feed previous shots' audio latents as cross-shot conditioning. "
|
| 1110 |
-
"
|
| 1111 |
-
"
|
| 1112 |
-
"
|
| 1113 |
-
"
|
| 1114 |
-
"
|
| 1115 |
}),
|
| 1116 |
"audio_memory_window_size": ("INT", {"default": 96, "min": 16, "max": 256}),
|
| 1117 |
"sequential_offload": ("BOOLEAN", {
|
|
@@ -2108,13 +2108,13 @@ class JoyEcho_SingleShotGenerate:
|
|
| 2108 |
"memory_max_size": ("INT", {"default": 7, "min": 0, "max": 20}),
|
| 2109 |
"num_fix_frames": ("INT", {"default": 3, "min": 0, "max": 10}),
|
| 2110 |
"enable_audio_memory": ("BOOLEAN", {
|
| 2111 |
-
"default":
|
| 2112 |
"tooltip": "Feed previous shots' audio latents as cross-shot conditioning. "
|
| 2113 |
-
"
|
| 2114 |
-
"
|
| 2115 |
-
"
|
| 2116 |
-
"
|
| 2117 |
-
"
|
| 2118 |
}),
|
| 2119 |
"audio_memory_window_size": ("INT", {"default": 96, "min": 16, "max": 256}),
|
| 2120 |
"sequential_offload": ("BOOLEAN", {
|
|
|
|
| 1105 |
"memory_max_size": ("INT", {"default": 7, "min": 0, "max": 20}),
|
| 1106 |
"num_fix_frames": ("INT", {"default": 3, "min": 0, "max": 10}),
|
| 1107 |
"enable_audio_memory": ("BOOLEAN", {
|
| 1108 |
+
"default": True,
|
| 1109 |
"tooltip": "Feed previous shots' audio latents as cross-shot conditioning. "
|
| 1110 |
+
"ON keeps the same voice across every shot - the point of "
|
| 1111 |
+
"multishot - at a small lip-sync cost on long dialogue. OFF "
|
| 1112 |
+
"gives the tightest sync but the voice can drift between "
|
| 1113 |
+
"shots; use only for sync-critical single-voice pieces with "
|
| 1114 |
+
"a strong voice description repeated in every shot.",
|
| 1115 |
}),
|
| 1116 |
"audio_memory_window_size": ("INT", {"default": 96, "min": 16, "max": 256}),
|
| 1117 |
"sequential_offload": ("BOOLEAN", {
|
|
|
|
| 2108 |
"memory_max_size": ("INT", {"default": 7, "min": 0, "max": 20}),
|
| 2109 |
"num_fix_frames": ("INT", {"default": 3, "min": 0, "max": 10}),
|
| 2110 |
"enable_audio_memory": ("BOOLEAN", {
|
| 2111 |
+
"default": True,
|
| 2112 |
"tooltip": "Feed previous shots' audio latents as cross-shot conditioning. "
|
| 2113 |
+
"ON keeps the same voice across every shot - the point of "
|
| 2114 |
+
"multishot - at a small lip-sync cost on long dialogue. OFF "
|
| 2115 |
+
"gives the tightest sync but the voice can drift between "
|
| 2116 |
+
"shots; use only for sync-critical single-voice pieces with "
|
| 2117 |
+
"a strong voice description repeated in every shot.",
|
| 2118 |
}),
|
| 2119 |
"audio_memory_window_size": ("INT", {"default": 96, "min": 16, "max": 256}),
|
| 2120 |
"sequential_offload": ("BOOLEAN", {
|
workflow/JoyEcho_Multishot_Workflow_PUBLIC.json
CHANGED
|
@@ -273,112 +273,6 @@
|
|
| 273 |
8
|
| 274 |
]
|
| 275 |
},
|
| 276 |
-
{
|
| 277 |
-
"id": 58,
|
| 278 |
-
"type": "JoyEcho_AutoFinish",
|
| 279 |
-
"pos": [
|
| 280 |
-
4328.590366291457,
|
| 281 |
-
99.91012828201144
|
| 282 |
-
],
|
| 283 |
-
"size": [
|
| 284 |
-
328.24765625,
|
| 285 |
-
178
|
| 286 |
-
],
|
| 287 |
-
"flags": {},
|
| 288 |
-
"order": 13,
|
| 289 |
-
"mode": 0,
|
| 290 |
-
"inputs": [
|
| 291 |
-
{
|
| 292 |
-
"localized_name": "images",
|
| 293 |
-
"name": "images",
|
| 294 |
-
"type": "IMAGE",
|
| 295 |
-
"link": 110
|
| 296 |
-
},
|
| 297 |
-
{
|
| 298 |
-
"localized_name": "enabled",
|
| 299 |
-
"name": "enabled",
|
| 300 |
-
"type": "BOOLEAN",
|
| 301 |
-
"widget": {
|
| 302 |
-
"name": "enabled"
|
| 303 |
-
},
|
| 304 |
-
"link": null
|
| 305 |
-
},
|
| 306 |
-
{
|
| 307 |
-
"localized_name": "master_name",
|
| 308 |
-
"name": "master_name",
|
| 309 |
-
"type": "STRING",
|
| 310 |
-
"widget": {
|
| 311 |
-
"name": "master_name"
|
| 312 |
-
},
|
| 313 |
-
"link": null
|
| 314 |
-
},
|
| 315 |
-
{
|
| 316 |
-
"localized_name": "scale_factor",
|
| 317 |
-
"name": "scale_factor",
|
| 318 |
-
"type": "FLOAT",
|
| 319 |
-
"widget": {
|
| 320 |
-
"name": "scale_factor"
|
| 321 |
-
},
|
| 322 |
-
"link": null
|
| 323 |
-
},
|
| 324 |
-
{
|
| 325 |
-
"localized_name": "quality",
|
| 326 |
-
"name": "quality",
|
| 327 |
-
"type": "COMBO",
|
| 328 |
-
"widget": {
|
| 329 |
-
"name": "quality"
|
| 330 |
-
},
|
| 331 |
-
"link": null
|
| 332 |
-
},
|
| 333 |
-
{
|
| 334 |
-
"localized_name": "batch_size",
|
| 335 |
-
"name": "batch_size",
|
| 336 |
-
"type": "INT",
|
| 337 |
-
"widget": {
|
| 338 |
-
"name": "batch_size"
|
| 339 |
-
},
|
| 340 |
-
"link": null
|
| 341 |
-
},
|
| 342 |
-
{
|
| 343 |
-
"localized_name": "shots_subdir",
|
| 344 |
-
"name": "shots_subdir",
|
| 345 |
-
"shape": 7,
|
| 346 |
-
"type": "STRING",
|
| 347 |
-
"widget": {
|
| 348 |
-
"name": "shots_subdir"
|
| 349 |
-
},
|
| 350 |
-
"link": null
|
| 351 |
-
}
|
| 352 |
-
],
|
| 353 |
-
"outputs": [
|
| 354 |
-
{
|
| 355 |
-
"localized_name": "images",
|
| 356 |
-
"name": "images",
|
| 357 |
-
"type": "IMAGE",
|
| 358 |
-
"links": [
|
| 359 |
-
113
|
| 360 |
-
]
|
| 361 |
-
}
|
| 362 |
-
],
|
| 363 |
-
"properties": {
|
| 364 |
-
"aux_id": "RealRebelAI/ComfyUI_JoyAI_Echo_GGUF_Nodes",
|
| 365 |
-
"ver": "0d9e32fcd2d255a16604368fcaa1875c380c7f3b",
|
| 366 |
-
"Node name for S&R": "JoyEcho_AutoFinish",
|
| 367 |
-
"ue_properties": {
|
| 368 |
-
"widget_ue_connectable": {},
|
| 369 |
-
"input_ue_unconnectable": {},
|
| 370 |
-
"version": "7.8"
|
| 371 |
-
}
|
| 372 |
-
},
|
| 373 |
-
"widgets_values": [
|
| 374 |
-
true,
|
| 375 |
-
" multishot",
|
| 376 |
-
1.25,
|
| 377 |
-
"ULTRA",
|
| 378 |
-
8,
|
| 379 |
-
"joyecho"
|
| 380 |
-
]
|
| 381 |
-
},
|
| 382 |
{
|
| 383 |
"id": 59,
|
| 384 |
"type": "JoyEcho_LLMEnhance",
|
|
@@ -829,7 +723,7 @@
|
|
| 829 |
},
|
| 830 |
"widgets_values": [
|
| 831 |
"by_seed",
|
| 832 |
-
|
| 833 |
"randomize",
|
| 834 |
"joyecho_refs",
|
| 835 |
"no_reference",
|
|
@@ -867,152 +761,40 @@
|
|
| 867 |
"bgcolor": "#653"
|
| 868 |
},
|
| 869 |
{
|
| 870 |
-
"id":
|
| 871 |
-
"type": "
|
| 872 |
"pos": [
|
| 873 |
-
|
| 874 |
-
|
| 875 |
],
|
| 876 |
"size": [
|
| 877 |
-
|
| 878 |
-
|
| 879 |
],
|
| 880 |
"flags": {},
|
| 881 |
-
"order":
|
| 882 |
"mode": 0,
|
| 883 |
"inputs": [
|
| 884 |
{
|
| 885 |
-
"localized_name": "
|
| 886 |
-
"name": "
|
| 887 |
-
"shape": 7,
|
| 888 |
-
"type": "JOYECHO_LORA_STACK",
|
| 889 |
-
"link": 119
|
| 890 |
-
},
|
| 891 |
-
{
|
| 892 |
-
"localized_name": "model_file",
|
| 893 |
-
"name": "model_file",
|
| 894 |
-
"shape": 7,
|
| 895 |
-
"type": "COMBO",
|
| 896 |
-
"widget": {
|
| 897 |
-
"name": "model_file"
|
| 898 |
-
},
|
| 899 |
-
"link": null
|
| 900 |
-
},
|
| 901 |
-
{
|
| 902 |
-
"localized_name": "checkpoint_path",
|
| 903 |
-
"name": "checkpoint_path",
|
| 904 |
-
"shape": 7,
|
| 905 |
-
"type": "STRING",
|
| 906 |
-
"widget": {
|
| 907 |
-
"name": "checkpoint_path"
|
| 908 |
-
},
|
| 909 |
-
"link": null
|
| 910 |
-
},
|
| 911 |
-
{
|
| 912 |
-
"localized_name": "gemma_file",
|
| 913 |
-
"name": "gemma_file",
|
| 914 |
-
"shape": 7,
|
| 915 |
-
"type": "COMBO",
|
| 916 |
-
"widget": {
|
| 917 |
-
"name": "gemma_file"
|
| 918 |
-
},
|
| 919 |
-
"link": null
|
| 920 |
-
},
|
| 921 |
-
{
|
| 922 |
-
"localized_name": "gemma_path",
|
| 923 |
-
"name": "gemma_path",
|
| 924 |
-
"shape": 7,
|
| 925 |
-
"type": "STRING",
|
| 926 |
-
"widget": {
|
| 927 |
-
"name": "gemma_path"
|
| 928 |
-
},
|
| 929 |
-
"link": null
|
| 930 |
-
},
|
| 931 |
-
{
|
| 932 |
-
"localized_name": "lora_file",
|
| 933 |
-
"name": "lora_file",
|
| 934 |
-
"shape": 7,
|
| 935 |
-
"type": "COMBO",
|
| 936 |
-
"widget": {
|
| 937 |
-
"name": "lora_file"
|
| 938 |
-
},
|
| 939 |
-
"link": null
|
| 940 |
-
},
|
| 941 |
-
{
|
| 942 |
-
"localized_name": "lora_path",
|
| 943 |
-
"name": "lora_path",
|
| 944 |
-
"shape": 7,
|
| 945 |
"type": "STRING",
|
| 946 |
-
"
|
| 947 |
-
"name": "lora_path"
|
| 948 |
-
},
|
| 949 |
-
"link": null
|
| 950 |
-
},
|
| 951 |
-
{
|
| 952 |
-
"localized_name": "lora_strength",
|
| 953 |
-
"name": "lora_strength",
|
| 954 |
-
"shape": 7,
|
| 955 |
-
"type": "FLOAT",
|
| 956 |
-
"widget": {
|
| 957 |
-
"name": "lora_strength"
|
| 958 |
-
},
|
| 959 |
-
"link": null
|
| 960 |
-
},
|
| 961 |
-
{
|
| 962 |
-
"localized_name": "fp8_transformer",
|
| 963 |
-
"name": "fp8_transformer",
|
| 964 |
-
"shape": 7,
|
| 965 |
-
"type": "BOOLEAN",
|
| 966 |
-
"widget": {
|
| 967 |
-
"name": "fp8_transformer"
|
| 968 |
-
},
|
| 969 |
-
"link": null
|
| 970 |
-
},
|
| 971 |
-
{
|
| 972 |
-
"localized_name": "fp8_scaled_mm",
|
| 973 |
-
"name": "fp8_scaled_mm",
|
| 974 |
-
"shape": 7,
|
| 975 |
-
"type": "BOOLEAN",
|
| 976 |
-
"widget": {
|
| 977 |
-
"name": "fp8_scaled_mm"
|
| 978 |
-
},
|
| 979 |
-
"link": null
|
| 980 |
-
},
|
| 981 |
-
{
|
| 982 |
-
"localized_name": "encoder_fp8",
|
| 983 |
-
"name": "encoder_fp8",
|
| 984 |
-
"shape": 7,
|
| 985 |
-
"type": "BOOLEAN",
|
| 986 |
-
"widget": {
|
| 987 |
-
"name": "encoder_fp8"
|
| 988 |
-
},
|
| 989 |
-
"link": null
|
| 990 |
-
},
|
| 991 |
-
{
|
| 992 |
-
"localized_name": "low_vram",
|
| 993 |
-
"name": "low_vram",
|
| 994 |
-
"shape": 7,
|
| 995 |
-
"type": "BOOLEAN",
|
| 996 |
-
"widget": {
|
| 997 |
-
"name": "low_vram"
|
| 998 |
-
},
|
| 999 |
-
"link": null
|
| 1000 |
}
|
| 1001 |
],
|
| 1002 |
"outputs": [
|
| 1003 |
{
|
| 1004 |
-
"localized_name": "
|
| 1005 |
-
"name": "
|
| 1006 |
-
"
|
| 1007 |
-
"
|
| 1008 |
-
|
| 1009 |
-
]
|
| 1010 |
}
|
| 1011 |
],
|
| 1012 |
"properties": {
|
| 1013 |
-
"
|
| 1014 |
-
"ver": "
|
| 1015 |
-
"Node name for S&R": "
|
| 1016 |
"ue_properties": {
|
| 1017 |
"widget_ue_connectable": {},
|
| 1018 |
"input_ue_unconnectable": {},
|
|
@@ -1020,63 +802,66 @@
|
|
| 1020 |
}
|
| 1021 |
},
|
| 1022 |
"widgets_values": [
|
| 1023 |
-
"
|
| 1024 |
-
"",
|
| 1025 |
-
"text_encoders: gemma3-12b-BASE-clean-Q8_0.gguf",
|
| 1026 |
-
"",
|
| 1027 |
-
"(use lora_path / none)",
|
| 1028 |
-
"",
|
| 1029 |
-
0,
|
| 1030 |
-
false,
|
| 1031 |
-
false,
|
| 1032 |
-
false,
|
| 1033 |
-
true
|
| 1034 |
]
|
| 1035 |
},
|
| 1036 |
{
|
| 1037 |
-
"id":
|
| 1038 |
-
"type": "
|
| 1039 |
"pos": [
|
| 1040 |
-
|
| 1041 |
-
|
| 1042 |
],
|
| 1043 |
"size": [
|
| 1044 |
-
|
| 1045 |
-
|
| 1046 |
],
|
| 1047 |
"flags": {},
|
| 1048 |
-
"order":
|
| 1049 |
"mode": 0,
|
| 1050 |
-
"inputs": [
|
| 1051 |
-
|
| 1052 |
-
|
| 1053 |
-
|
| 1054 |
-
"
|
| 1055 |
-
"
|
|
|
|
| 1056 |
}
|
|
|
|
|
|
|
|
|
|
| 1057 |
],
|
| 1058 |
-
"
|
| 1059 |
-
|
| 1060 |
-
|
| 1061 |
-
|
| 1062 |
-
|
| 1063 |
-
|
| 1064 |
-
|
| 1065 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1066 |
],
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1067 |
"properties": {
|
| 1068 |
-
"cnr_id": "comfyui-custom-scripts",
|
| 1069 |
-
"ver": "609f3afaa74b2f88ef9ce8d939626065e3247469",
|
| 1070 |
-
"Node name for S&R": "ShowText|pysssss",
|
| 1071 |
"ue_properties": {
|
| 1072 |
"widget_ue_connectable": {},
|
| 1073 |
-
"
|
| 1074 |
-
"
|
| 1075 |
}
|
| 1076 |
},
|
| 1077 |
"widgets_values": [
|
| 1078 |
-
"
|
| 1079 |
-
]
|
|
|
|
|
|
|
| 1080 |
},
|
| 1081 |
{
|
| 1082 |
"id": 11,
|
|
@@ -1090,7 +875,7 @@
|
|
| 1090 |
106
|
| 1091 |
],
|
| 1092 |
"flags": {},
|
| 1093 |
-
"order":
|
| 1094 |
"mode": 0,
|
| 1095 |
"inputs": [
|
| 1096 |
{
|
|
@@ -1124,7 +909,7 @@
|
|
| 1124 |
}
|
| 1125 |
},
|
| 1126 |
"widgets_values": [
|
| 1127 |
-
|
| 1128 |
"increment",
|
| 1129 |
null
|
| 1130 |
]
|
|
@@ -1240,62 +1025,171 @@
|
|
| 1240 |
]
|
| 1241 |
},
|
| 1242 |
{
|
| 1243 |
-
"id":
|
| 1244 |
-
"type": "
|
| 1245 |
"pos": [
|
| 1246 |
-
|
| 1247 |
-
|
| 1248 |
],
|
| 1249 |
"size": [
|
| 1250 |
-
|
| 1251 |
-
|
| 1252 |
],
|
| 1253 |
"flags": {},
|
| 1254 |
-
"order":
|
| 1255 |
"mode": 0,
|
| 1256 |
-
"inputs": [
|
| 1257 |
-
|
| 1258 |
-
|
| 1259 |
-
|
| 1260 |
-
"
|
| 1261 |
-
"
|
| 1262 |
-
"
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1263 |
}
|
| 1264 |
-
},
|
| 1265 |
-
"widgets_values": [
|
| 1266 |
-
"GENERATE - the knobs that matter\n------------------------------------------------\nRESOLUTION & FRAMES (hard rules):\n* width/height must be divisible by 32; num_frames must be 8n+1 (121, 241, 313...).\n* Talking characters: keep speaking shots at medium close-up or tighter, and use ~864+ native height. The VAE packs 32 px into one latent token - in a wide shot the mouth is smaller than one token and lip sync cannot resolve. 544 is a fast-preview size, not a dialogue size.\n\nIDENTITY (the point of this workflow):\n* memory_max_size - how many past shots feed the memory bank (5-7 works well). 0 disables cross-shot identity.\n* enable_audio_memory - holds VOICE identity across shots. Leave ON for a recurring speaker.\n* Repeat the character's identity sentence byte-identical in every shot's prompt - the bank keys on it.\n\nVRAM:\n* sequential_offload ON for 24 GB cards. resident_blocks: 12 on 24 GB, ~24 on 32 GB (higher = faster, more VRAM).\n* decode_tiling auto is fine.\n\nLEAVE AT DEFAULTS: num_fix_frames and audio_memory_window_size are tuned values; changing them degrades sync or identity. v2a_grad_scale is training-only and has NO effect at inference - leave it at default (correction to the v1.2 note).\n* hires_factor 1.0 = off. Prefer the AutoFinish upscaler (next group) over in-loop hires."
|
| 1267 |
-
],
|
| 1268 |
-
"color": "#432",
|
| 1269 |
-
"bgcolor": "#653"
|
| 1270 |
-
},
|
| 1271 |
-
{
|
| 1272 |
-
"id": 60,
|
| 1273 |
-
"type": "Note",
|
| 1274 |
-
"pos": [
|
| 1275 |
-
2780.2351442980976,
|
| 1276 |
-
806.7950609883953
|
| 1277 |
],
|
| 1278 |
-
"
|
| 1279 |
-
|
| 1280 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1281 |
],
|
| 1282 |
-
"flags": {},
|
| 1283 |
-
"order": 5,
|
| 1284 |
-
"mode": 0,
|
| 1285 |
-
"inputs": [],
|
| 1286 |
-
"outputs": [],
|
| 1287 |
"properties": {
|
|
|
|
|
|
|
|
|
|
| 1288 |
"ue_properties": {
|
| 1289 |
"widget_ue_connectable": {},
|
| 1290 |
-
"
|
| 1291 |
-
"
|
| 1292 |
}
|
| 1293 |
},
|
| 1294 |
"widgets_values": [
|
| 1295 |
-
"
|
| 1296 |
-
|
| 1297 |
-
|
| 1298 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1299 |
},
|
| 1300 |
{
|
| 1301 |
"id": 57,
|
|
@@ -1584,17 +1478,17 @@
|
|
| 1584 |
}
|
| 1585 |
},
|
| 1586 |
"widgets_values": [
|
| 1587 |
-
|
| 1588 |
"randomize",
|
| 1589 |
321,
|
| 1590 |
-
|
| 1591 |
-
|
| 1592 |
25,
|
| 1593 |
2,
|
| 1594 |
5,
|
| 1595 |
3,
|
| 1596 |
-
|
| 1597 |
-
|
| 1598 |
true,
|
| 1599 |
"joyecho/shot",
|
| 1600 |
"vhs_glitch",
|
|
@@ -1608,6 +1502,112 @@
|
|
| 1608 |
1,
|
| 1609 |
"subtle (1 step)"
|
| 1610 |
]
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1611 |
}
|
| 1612 |
],
|
| 1613 |
"links": [
|
|
@@ -1805,10 +1805,10 @@
|
|
| 1805 |
"config": {},
|
| 1806 |
"extra": {
|
| 1807 |
"ds": {
|
| 1808 |
-
"scale": 0.
|
| 1809 |
"offset": [
|
| 1810 |
-
-
|
| 1811 |
-
|
| 1812 |
]
|
| 1813 |
},
|
| 1814 |
"frontendVersion": "1.45.21",
|
|
|
|
| 273 |
8
|
| 274 |
]
|
| 275 |
},
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 276 |
{
|
| 277 |
"id": 59,
|
| 278 |
"type": "JoyEcho_LLMEnhance",
|
|
|
|
| 723 |
},
|
| 724 |
"widgets_values": [
|
| 725 |
"by_seed",
|
| 726 |
+
1696602241,
|
| 727 |
"randomize",
|
| 728 |
"joyecho_refs",
|
| 729 |
"no_reference",
|
|
|
|
| 761 |
"bgcolor": "#653"
|
| 762 |
},
|
| 763 |
{
|
| 764 |
+
"id": 42,
|
| 765 |
+
"type": "ShowText|pysssss",
|
| 766 |
"pos": [
|
| 767 |
+
900,
|
| 768 |
+
917
|
| 769 |
],
|
| 770 |
"size": [
|
| 771 |
+
1157.2399195128025,
|
| 772 |
+
1168.0000000000002
|
| 773 |
],
|
| 774 |
"flags": {},
|
| 775 |
+
"order": 11,
|
| 776 |
"mode": 0,
|
| 777 |
"inputs": [
|
| 778 |
{
|
| 779 |
+
"localized_name": "text",
|
| 780 |
+
"name": "text",
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 781 |
"type": "STRING",
|
| 782 |
+
"link": 116
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 783 |
}
|
| 784 |
],
|
| 785 |
"outputs": [
|
| 786 |
{
|
| 787 |
+
"localized_name": "STRING",
|
| 788 |
+
"name": "STRING",
|
| 789 |
+
"shape": 6,
|
| 790 |
+
"type": "STRING",
|
| 791 |
+
"links": null
|
|
|
|
| 792 |
}
|
| 793 |
],
|
| 794 |
"properties": {
|
| 795 |
+
"cnr_id": "comfyui-custom-scripts",
|
| 796 |
+
"ver": "609f3afaa74b2f88ef9ce8d939626065e3247469",
|
| 797 |
+
"Node name for S&R": "ShowText|pysssss",
|
| 798 |
"ue_properties": {
|
| 799 |
"widget_ue_connectable": {},
|
| 800 |
"input_ue_unconnectable": {},
|
|
|
|
| 802 |
}
|
| 803 |
},
|
| 804 |
"widgets_values": [
|
| 805 |
+
"{\n \"prompts\": [\n \"Consumer camcorder video, 1080p, modest dynamic range, saturated color, slight edge softness: a locked static medium close-up at her eye level on the small corner stage of an empty dive bar, hot magenta and blue stage lights raking across her from the rig above, a scuffed drum kit and a taped-up amp behind her, black walls layered with faded gig flyers, her head and shoulders filling most of the frame and her mouth fully visible. Quiet diegetic sound only: the low buzz of the stage lighting rig, a beer cooler humming off in the dark, and her voice close and dry on the camcorder mic. ID_A is a woman in her early twenties with a bleached platinum pixie cut with choppy short bangs, a small silver septum ring, a row of small silver hoops up one ear, sharp winged black eyeliner, wearing a battered black leather jacket covered in enamel band pins and safety pins over a ripped neon-pink band tee. ID_A's voice is a bright, quick young American voice with a playful edge, casual American accent, casual contractions, captured with close camcorder-microphone proximity. ID_A's mouth stays clearly visible in the frame, and the mouth movement stays naturally synchronized with every spoken line. ID_A is the only person speaking in this shot, the source of the live camcorder dialogue. One continuous line with natural breaths and brief pauses; ID_A's first mouth movement begins with the first audible word, and the mouth settles naturally after the final word. At a quick, natural speed, she stands still at the mic stand without touching it, looking into the lens, the lip movement aligning closely with the audio throughout the line. In a bright, quick voice with a playful edge, ID_A says, \\\"Alright, watch close. Five places, one me. Nothing carries this face around but one sentence, repeated like a chorus. That's the whole gig. Count the costume changes - there aren't any.\\\"\",\n \"Consumer camcorder video, 1080p, modest dynamic range, saturated color, slight edge softness: a slow steady push-in to a medium close-up at her eye level in a late-night diner booth, teal and pink neon tubing burning in the window beside her and doubling in soft color across the chrome napkin holder and the red vinyl seat, her head and shoulders filling most of the frame and her mouth fully visible, a thick white coffee mug already on the table in front of her, untouched. Quiet diegetic sound only: the neon transformer buzzing in the window, a milkshake machine whirring somewhere behind the counter, and the vinyl seat creaking once as she settles. ID_A is a woman in her early twenties with a bleached platinum pixie cut with choppy short bangs, a small silver septum ring, a row of small silver hoops up one ear, sharp winged black eyeliner, wearing a battered black leather jacket covered in enamel band pins and safety pins over a ripped neon-pink band tee. ID_A's voice is a bright, quick young American voice with a playful edge, casual American accent, casual contractions, captured with close camcorder-microphone proximity. ID_A's mouth stays clearly visible in the frame, and the mouth movement stays naturally synchronized with every spoken line. ID_A is the only person speaking in this shot, the source of the live camcorder dialogue. One continuous line with natural breaths and brief pauses; ID_A's first mouth movement begins with the first audible word, and the mouth settles naturally after the final word. At a quick, natural speed, she sits still in the booth, looking into the lens, the lip movement aligning closely with the audio throughout the line. In a bright, quick voice with a playful edge, ID_A says, \\\"New room, new light, same everything else. Same jacket, same pins, same voice with the same attitude. If I drift even a little, you'd clock it instantly. So clock it.\\\"\",\n \"Consumer camcorder video, 1080p, modest dynamic range, saturated color, slight edge softness: a locked static medium close-up at her eye level in a fluorescent-lit laundromat, a wall of mustard-yellow washing machines behind her with one drum tumbling mid-cycle, chipped mint-green floor tile, a rolling wire basket parked beside her, her head and shoulders filling most of the frame and her mouth fully visible. Quiet diegetic sound only: the tumbling dryer thumping in rhythm, coins rattling in a metal tray, and the fluorescent fixtures humming overhead. ID_A is a woman in her early twenties with a bleached platinum pixie cut with choppy short bangs, a small silver septum ring, a row of small silver hoops up one ear, sharp winged black eyeliner, wearing a battered black leather jacket covered in enamel band pins and safety pins over a ripped neon-pink band tee. ID_A's voice is a bright, quick young American voice with a playful edge, casual American accent, casual contractions, captured with close camcorder-microphone proximity. ID_A's mouth stays clearly visible in the frame, and the mouth movement stays naturally synchronized with every spoken line. ID_A is the only person speaking in this shot, the source of the live camcorder dialogue. One continuous line with natural breaths and brief pauses; ID_A's first mouth movement begins with the first audible word, and the mouth settles naturally after the final word. At a quick, natural speed, she leans one shoulder against a washer, standing still, looking into the lens, the lip movement aligning closely with the audio throughout the line. In a bright, quick voice with a playful edge, ID_A says, \\\"Third spot. Half a minute in. My voice hasn't moved an inch - same speed, same edge, same accent. The machines are louder than my identity crisis. Which is zero.\\\"\",\n \"Consumer camcorder video, 1080p, modest dynamic range, saturated color, slight edge softness: a slow lateral drift to a medium close-up at her eye level in a cramped record store aisle, wooden crates of vinyl records packed tight on both sides, hand-written orange dividers poking up from the rows, a wall of album sleeves behind her in reds and yellows, warm tube amp light from the listening corner, her head and shoulders filling most of the frame and her mouth fully visible. Quiet diegetic sound only: a record crackling quietly on the shop turntable, sleeves flipping somewhere in another aisle, and the floorboards creaking under her weight shift. ID_A is a woman in her early twenties with a bleached platinum pixie cut with choppy short bangs, a small silver septum ring, a row of small silver hoops up one ear, sharp winged black eyeliner, wearing a battered black leather jacket covered in enamel band pins and safety pins over a ripped neon-pink band tee. ID_A's voice is a bright, quick young American voice with a playful edge, casual American accent, casual contractions, captured with close camcorder-microphone proximity. ID_A's mouth stays clearly visible in the frame, and the mouth movement stays naturally synchronized with every spoken line. ID_A is the only person speaking in this shot, the source of the live camcorder dialogue. One continuous line with natural breaths and brief pauses; ID_A's first mouth movement begins with the first audible word, and the mouth settles naturally after the final word. At a quick, natural speed, she stands still between the crates, hands in her jacket pockets, looking into the lens, the lip movement aligning closely with the audio throughout the line. In a bright, quick voice with a playful edge, ID_A says, \\\"Every one of these shots rendered separately. Different room, different seed, zero shared pixels. One sentence holds me together. Honestly? Most bands can't stay this consistent.\\\"\",\n \"Consumer camcorder video, 1080p, modest dynamic range, saturated color, slight edge softness: a locked static medium close-up at her eye level on a flat gravel rooftop at dusk, the sky behind her banded deep orange to violet, strings of cafe bulbs slung between two vent stacks catching the edge of her jacket pins, the city below reduced to warm scattered windows, her head and shoulders filling most of the frame and her mouth fully visible. Quiet diegetic sound only: wind moving over the parapet, distant traffic far below, and one of the bulb strings ticking against its wire in the breeze. ID_A is a woman in her early twenties with a bleached platinum pixie cut with choppy short bangs, a small silver septum ring, a row of small silver hoops up one ear, sharp winged black eyeliner, wearing a battered black leather jacket covered in enamel band pins and safety pins over a ripped neon-pink band tee. ID_A's voice is a bright, quick young American voice with a playful edge, casual American accent, casual contractions, captured with close camcorder-microphone proximity. ID_A's mouth stays clearly visible in the frame, and the mouth movement stays naturally synchronized with every spoken line. ID_A is the only person speaking in this shot, the source of the live camcorder dialogue. One continuous line with natural breaths and brief pauses; ID_A's first mouth movement begins with the first audible word, and the mouth settles naturally after the final word. At a quick, natural speed, she stands still against the skyline, looking into the lens, the lip movement aligning closely with the audio throughout the line. In a bright, quick voice with a playful edge, ID_A says, \\\"So that's the trick - there isn't one. Same face, same voice, five rooms deep. If I'm a file, I'm at least a catchy one. See you around.\\\"\"\n ]\n}"
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 806 |
]
|
| 807 |
},
|
| 808 |
{
|
| 809 |
+
"id": 61,
|
| 810 |
+
"type": "Note",
|
| 811 |
"pos": [
|
| 812 |
+
3850.584695322545,
|
| 813 |
+
806.7942672160794
|
| 814 |
],
|
| 815 |
"size": [
|
| 816 |
+
424.8819100287956,
|
| 817 |
+
398.47368009603724
|
| 818 |
],
|
| 819 |
"flags": {},
|
| 820 |
+
"order": 3,
|
| 821 |
"mode": 0,
|
| 822 |
+
"inputs": [],
|
| 823 |
+
"outputs": [],
|
| 824 |
+
"properties": {
|
| 825 |
+
"ue_properties": {
|
| 826 |
+
"widget_ue_connectable": {},
|
| 827 |
+
"version": "7.8",
|
| 828 |
+
"input_ue_unconnectable": {}
|
| 829 |
}
|
| 830 |
+
},
|
| 831 |
+
"widgets_values": [
|
| 832 |
+
"GENERATE - the knobs that matter\n------------------------------------------------\nRESOLUTION & FRAMES (hard rules):\n* width/height must be divisible by 32; num_frames must be 8n+1 (121, 241, 313...).\n* Talking characters: keep speaking shots at medium close-up or tighter, and use ~864+ native height. The VAE packs 32 px into one latent token - in a wide shot the mouth is smaller than one token and lip sync cannot resolve. 544 is a fast-preview size, not a dialogue size.\n\nIDENTITY (the point of this workflow):\n* memory_max_size - how many past shots feed the memory bank (5-7 works well). 0 disables cross-shot identity.\n* enable_audio_memory - holds VOICE identity across shots. Leave ON for a recurring speaker.\n* Repeat the character's identity sentence byte-identical in every shot's prompt - the bank keys on it.\n\nVRAM:\n* sequential_offload ON for 24 GB cards. resident_blocks: 12 on 24 GB, ~24 on 32 GB (higher = faster, more VRAM).\n* decode_tiling auto is fine.\n\nLEAVE AT DEFAULTS: num_fix_frames and audio_memory_window_size are tuned values; changing them degrades sync or identity. v2a_grad_scale is training-only and has NO effect at inference - leave it at default (correction to the v1.2 note).\n* hires_factor 1.0 = off. Prefer the AutoFinish upscaler (next group) over in-loop hires."
|
| 833 |
],
|
| 834 |
+
"color": "#432",
|
| 835 |
+
"bgcolor": "#653"
|
| 836 |
+
},
|
| 837 |
+
{
|
| 838 |
+
"id": 60,
|
| 839 |
+
"type": "Note",
|
| 840 |
+
"pos": [
|
| 841 |
+
2780.2351442980976,
|
| 842 |
+
806.7950609883953
|
| 843 |
+
],
|
| 844 |
+
"size": [
|
| 845 |
+
1057.751230034948,
|
| 846 |
+
248.99507986020944
|
| 847 |
],
|
| 848 |
+
"flags": {},
|
| 849 |
+
"order": 4,
|
| 850 |
+
"mode": 0,
|
| 851 |
+
"inputs": [],
|
| 852 |
+
"outputs": [],
|
| 853 |
"properties": {
|
|
|
|
|
|
|
|
|
|
| 854 |
"ue_properties": {
|
| 855 |
"widget_ue_connectable": {},
|
| 856 |
+
"version": "7.8",
|
| 857 |
+
"input_ue_unconnectable": {}
|
| 858 |
}
|
| 859 |
},
|
| 860 |
"widgets_values": [
|
| 861 |
+
"MODEL LOADER - what to set, what to leave\n------------------------------------------------\nSET THESE TWO:\n* model_file - the DiT checkpoint. fp8 build (23 GB) for 24 GB cards; bf16 (43 GB) for 32 GB+ (needs sequential offload).\n* gemma_file - your Gemma-3-12B text encoder, picked from models/text_encoders or models/clip. Single-file .safetensors or .gguf. A GGUF encoder is the light option (fits 24 GB systems easily).\n\nLEAVE ALONE UNLESS YOU KNOW WHY:\n* checkpoint_path - only needed when model_file is a .gguf (GGUF = DiT only; this must then point at a full safetensors to supply the VAEs + vocoder).\n* gemma_path - only for an HF gemma-3-12b-it DIRECTORY (dropdowns list files, not folders).\n* lora_file / lora_path - optional style LoRA. Ignored for GGUF DiTs.\n\nVRAM GUIDE:\n* 24 GB: fp8 model_file + low_vram ON (encoder runs on CPU; the encode is cached per prompt, so it only costs once).\n* 32 GB: bf16 model_file if downloaded; low_vram still recommended (the bf16 encoder alone is ~23 GB).\n* RTX 40/50-series: turn fp8_scaled_mm ON - native fp8 matmul, real speedup, and at moderate resolutions the DiT can run with sequential_offload OFF. Older GPUs: leave it off.\n* encoder_fp8 - halves encoder memory at a slight embedding shift (voice quality is the canary). Try it if RAM-starved."
|
| 862 |
+
],
|
| 863 |
+
"color": "#432",
|
| 864 |
+
"bgcolor": "#653"
|
| 865 |
},
|
| 866 |
{
|
| 867 |
"id": 11,
|
|
|
|
| 875 |
106
|
| 876 |
],
|
| 877 |
"flags": {},
|
| 878 |
+
"order": 5,
|
| 879 |
"mode": 0,
|
| 880 |
"inputs": [
|
| 881 |
{
|
|
|
|
| 909 |
}
|
| 910 |
},
|
| 911 |
"widgets_values": [
|
| 912 |
+
2,
|
| 913 |
"increment",
|
| 914 |
null
|
| 915 |
]
|
|
|
|
| 1025 |
]
|
| 1026 |
},
|
| 1027 |
{
|
| 1028 |
+
"id": 64,
|
| 1029 |
+
"type": "JoyEcho_ModelLoader",
|
| 1030 |
"pos": [
|
| 1031 |
+
3195.206611570208,
|
| 1032 |
+
63.911845730031445
|
| 1033 |
],
|
| 1034 |
"size": [
|
| 1035 |
+
633.88812640109,
|
| 1036 |
+
328
|
| 1037 |
],
|
| 1038 |
"flags": {},
|
| 1039 |
+
"order": 6,
|
| 1040 |
"mode": 0,
|
| 1041 |
+
"inputs": [
|
| 1042 |
+
{
|
| 1043 |
+
"localized_name": "lora_stack",
|
| 1044 |
+
"name": "lora_stack",
|
| 1045 |
+
"shape": 7,
|
| 1046 |
+
"type": "JOYECHO_LORA_STACK",
|
| 1047 |
+
"link": 119
|
| 1048 |
+
},
|
| 1049 |
+
{
|
| 1050 |
+
"localized_name": "model_file",
|
| 1051 |
+
"name": "model_file",
|
| 1052 |
+
"shape": 7,
|
| 1053 |
+
"type": "COMBO",
|
| 1054 |
+
"widget": {
|
| 1055 |
+
"name": "model_file"
|
| 1056 |
+
},
|
| 1057 |
+
"link": null
|
| 1058 |
+
},
|
| 1059 |
+
{
|
| 1060 |
+
"localized_name": "checkpoint_path",
|
| 1061 |
+
"name": "checkpoint_path",
|
| 1062 |
+
"shape": 7,
|
| 1063 |
+
"type": "STRING",
|
| 1064 |
+
"widget": {
|
| 1065 |
+
"name": "checkpoint_path"
|
| 1066 |
+
},
|
| 1067 |
+
"link": null
|
| 1068 |
+
},
|
| 1069 |
+
{
|
| 1070 |
+
"localized_name": "gemma_file",
|
| 1071 |
+
"name": "gemma_file",
|
| 1072 |
+
"shape": 7,
|
| 1073 |
+
"type": "COMBO",
|
| 1074 |
+
"widget": {
|
| 1075 |
+
"name": "gemma_file"
|
| 1076 |
+
},
|
| 1077 |
+
"link": null
|
| 1078 |
+
},
|
| 1079 |
+
{
|
| 1080 |
+
"localized_name": "gemma_path",
|
| 1081 |
+
"name": "gemma_path",
|
| 1082 |
+
"shape": 7,
|
| 1083 |
+
"type": "STRING",
|
| 1084 |
+
"widget": {
|
| 1085 |
+
"name": "gemma_path"
|
| 1086 |
+
},
|
| 1087 |
+
"link": null
|
| 1088 |
+
},
|
| 1089 |
+
{
|
| 1090 |
+
"localized_name": "lora_file",
|
| 1091 |
+
"name": "lora_file",
|
| 1092 |
+
"shape": 7,
|
| 1093 |
+
"type": "COMBO",
|
| 1094 |
+
"widget": {
|
| 1095 |
+
"name": "lora_file"
|
| 1096 |
+
},
|
| 1097 |
+
"link": null
|
| 1098 |
+
},
|
| 1099 |
+
{
|
| 1100 |
+
"localized_name": "lora_path",
|
| 1101 |
+
"name": "lora_path",
|
| 1102 |
+
"shape": 7,
|
| 1103 |
+
"type": "STRING",
|
| 1104 |
+
"widget": {
|
| 1105 |
+
"name": "lora_path"
|
| 1106 |
+
},
|
| 1107 |
+
"link": null
|
| 1108 |
+
},
|
| 1109 |
+
{
|
| 1110 |
+
"localized_name": "lora_strength",
|
| 1111 |
+
"name": "lora_strength",
|
| 1112 |
+
"shape": 7,
|
| 1113 |
+
"type": "FLOAT",
|
| 1114 |
+
"widget": {
|
| 1115 |
+
"name": "lora_strength"
|
| 1116 |
+
},
|
| 1117 |
+
"link": null
|
| 1118 |
+
},
|
| 1119 |
+
{
|
| 1120 |
+
"localized_name": "fp8_transformer",
|
| 1121 |
+
"name": "fp8_transformer",
|
| 1122 |
+
"shape": 7,
|
| 1123 |
+
"type": "BOOLEAN",
|
| 1124 |
+
"widget": {
|
| 1125 |
+
"name": "fp8_transformer"
|
| 1126 |
+
},
|
| 1127 |
+
"link": null
|
| 1128 |
+
},
|
| 1129 |
+
{
|
| 1130 |
+
"localized_name": "fp8_scaled_mm",
|
| 1131 |
+
"name": "fp8_scaled_mm",
|
| 1132 |
+
"shape": 7,
|
| 1133 |
+
"type": "BOOLEAN",
|
| 1134 |
+
"widget": {
|
| 1135 |
+
"name": "fp8_scaled_mm"
|
| 1136 |
+
},
|
| 1137 |
+
"link": null
|
| 1138 |
+
},
|
| 1139 |
+
{
|
| 1140 |
+
"localized_name": "encoder_fp8",
|
| 1141 |
+
"name": "encoder_fp8",
|
| 1142 |
+
"shape": 7,
|
| 1143 |
+
"type": "BOOLEAN",
|
| 1144 |
+
"widget": {
|
| 1145 |
+
"name": "encoder_fp8"
|
| 1146 |
+
},
|
| 1147 |
+
"link": null
|
| 1148 |
+
},
|
| 1149 |
+
{
|
| 1150 |
+
"localized_name": "low_vram",
|
| 1151 |
+
"name": "low_vram",
|
| 1152 |
+
"shape": 7,
|
| 1153 |
+
"type": "BOOLEAN",
|
| 1154 |
+
"widget": {
|
| 1155 |
+
"name": "low_vram"
|
| 1156 |
+
},
|
| 1157 |
+
"link": null
|
| 1158 |
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1159 |
],
|
| 1160 |
+
"outputs": [
|
| 1161 |
+
{
|
| 1162 |
+
"localized_name": "model",
|
| 1163 |
+
"name": "model",
|
| 1164 |
+
"type": "JOYECHO_MODEL",
|
| 1165 |
+
"links": [
|
| 1166 |
+
118
|
| 1167 |
+
]
|
| 1168 |
+
}
|
| 1169 |
],
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1170 |
"properties": {
|
| 1171 |
+
"aux_id": "RealRebelAI/ComfyUI_JoyAI_Echo_GGUF_Nodes",
|
| 1172 |
+
"ver": "0d9e32fcd2d255a16604368fcaa1875c380c7f3b",
|
| 1173 |
+
"Node name for S&R": "JoyEcho_ModelLoader",
|
| 1174 |
"ue_properties": {
|
| 1175 |
"widget_ue_connectable": {},
|
| 1176 |
+
"input_ue_unconnectable": {},
|
| 1177 |
+
"version": "7.8"
|
| 1178 |
}
|
| 1179 |
},
|
| 1180 |
"widgets_values": [
|
| 1181 |
+
"diffusion_models: ltx23_echoVid-ltxAud_surgical_bf16.safetensors",
|
| 1182 |
+
"",
|
| 1183 |
+
"text_encoders: gemma3-12b-BASE-clean-Q8_0.gguf",
|
| 1184 |
+
"",
|
| 1185 |
+
"(use lora_path / none)",
|
| 1186 |
+
"",
|
| 1187 |
+
0,
|
| 1188 |
+
false,
|
| 1189 |
+
true,
|
| 1190 |
+
false,
|
| 1191 |
+
true
|
| 1192 |
+
]
|
| 1193 |
},
|
| 1194 |
{
|
| 1195 |
"id": 57,
|
|
|
|
| 1478 |
}
|
| 1479 |
},
|
| 1480 |
"widgets_values": [
|
| 1481 |
+
211080272,
|
| 1482 |
"randomize",
|
| 1483 |
321,
|
| 1484 |
+
768,
|
| 1485 |
+
1344,
|
| 1486 |
25,
|
| 1487 |
2,
|
| 1488 |
5,
|
| 1489 |
3,
|
| 1490 |
+
true,
|
| 1491 |
+
48,
|
| 1492 |
true,
|
| 1493 |
"joyecho/shot",
|
| 1494 |
"vhs_glitch",
|
|
|
|
| 1502 |
1,
|
| 1503 |
"subtle (1 step)"
|
| 1504 |
]
|
| 1505 |
+
},
|
| 1506 |
+
{
|
| 1507 |
+
"id": 58,
|
| 1508 |
+
"type": "JoyEcho_AutoFinish",
|
| 1509 |
+
"pos": [
|
| 1510 |
+
4328.590366291457,
|
| 1511 |
+
99.91012828201144
|
| 1512 |
+
],
|
| 1513 |
+
"size": [
|
| 1514 |
+
328.24765625,
|
| 1515 |
+
178
|
| 1516 |
+
],
|
| 1517 |
+
"flags": {},
|
| 1518 |
+
"order": 13,
|
| 1519 |
+
"mode": 0,
|
| 1520 |
+
"inputs": [
|
| 1521 |
+
{
|
| 1522 |
+
"localized_name": "images",
|
| 1523 |
+
"name": "images",
|
| 1524 |
+
"type": "IMAGE",
|
| 1525 |
+
"link": 110
|
| 1526 |
+
},
|
| 1527 |
+
{
|
| 1528 |
+
"localized_name": "enabled",
|
| 1529 |
+
"name": "enabled",
|
| 1530 |
+
"type": "BOOLEAN",
|
| 1531 |
+
"widget": {
|
| 1532 |
+
"name": "enabled"
|
| 1533 |
+
},
|
| 1534 |
+
"link": null
|
| 1535 |
+
},
|
| 1536 |
+
{
|
| 1537 |
+
"localized_name": "master_name",
|
| 1538 |
+
"name": "master_name",
|
| 1539 |
+
"type": "STRING",
|
| 1540 |
+
"widget": {
|
| 1541 |
+
"name": "master_name"
|
| 1542 |
+
},
|
| 1543 |
+
"link": null
|
| 1544 |
+
},
|
| 1545 |
+
{
|
| 1546 |
+
"localized_name": "scale_factor",
|
| 1547 |
+
"name": "scale_factor",
|
| 1548 |
+
"type": "FLOAT",
|
| 1549 |
+
"widget": {
|
| 1550 |
+
"name": "scale_factor"
|
| 1551 |
+
},
|
| 1552 |
+
"link": null
|
| 1553 |
+
},
|
| 1554 |
+
{
|
| 1555 |
+
"localized_name": "quality",
|
| 1556 |
+
"name": "quality",
|
| 1557 |
+
"type": "COMBO",
|
| 1558 |
+
"widget": {
|
| 1559 |
+
"name": "quality"
|
| 1560 |
+
},
|
| 1561 |
+
"link": null
|
| 1562 |
+
},
|
| 1563 |
+
{
|
| 1564 |
+
"localized_name": "batch_size",
|
| 1565 |
+
"name": "batch_size",
|
| 1566 |
+
"type": "INT",
|
| 1567 |
+
"widget": {
|
| 1568 |
+
"name": "batch_size"
|
| 1569 |
+
},
|
| 1570 |
+
"link": null
|
| 1571 |
+
},
|
| 1572 |
+
{
|
| 1573 |
+
"localized_name": "shots_subdir",
|
| 1574 |
+
"name": "shots_subdir",
|
| 1575 |
+
"shape": 7,
|
| 1576 |
+
"type": "STRING",
|
| 1577 |
+
"widget": {
|
| 1578 |
+
"name": "shots_subdir"
|
| 1579 |
+
},
|
| 1580 |
+
"link": null
|
| 1581 |
+
}
|
| 1582 |
+
],
|
| 1583 |
+
"outputs": [
|
| 1584 |
+
{
|
| 1585 |
+
"localized_name": "images",
|
| 1586 |
+
"name": "images",
|
| 1587 |
+
"type": "IMAGE",
|
| 1588 |
+
"links": [
|
| 1589 |
+
113
|
| 1590 |
+
]
|
| 1591 |
+
}
|
| 1592 |
+
],
|
| 1593 |
+
"properties": {
|
| 1594 |
+
"aux_id": "RealRebelAI/ComfyUI_JoyAI_Echo_GGUF_Nodes",
|
| 1595 |
+
"ver": "0d9e32fcd2d255a16604368fcaa1875c380c7f3b",
|
| 1596 |
+
"Node name for S&R": "JoyEcho_AutoFinish",
|
| 1597 |
+
"ue_properties": {
|
| 1598 |
+
"widget_ue_connectable": {},
|
| 1599 |
+
"input_ue_unconnectable": {},
|
| 1600 |
+
"version": "7.8"
|
| 1601 |
+
}
|
| 1602 |
+
},
|
| 1603 |
+
"widgets_values": [
|
| 1604 |
+
true,
|
| 1605 |
+
" multishot",
|
| 1606 |
+
1.42,
|
| 1607 |
+
"ULTRA",
|
| 1608 |
+
8,
|
| 1609 |
+
"joyecho"
|
| 1610 |
+
]
|
| 1611 |
}
|
| 1612 |
],
|
| 1613 |
"links": [
|
|
|
|
| 1805 |
"config": {},
|
| 1806 |
"extra": {
|
| 1807 |
"ds": {
|
| 1808 |
+
"scale": 0.8784600000001012,
|
| 1809 |
"offset": [
|
| 1810 |
+
-2169.0519384541776,
|
| 1811 |
+
540.1476020823327
|
| 1812 |
]
|
| 1813 |
},
|
| 1814 |
"frontendVersion": "1.45.21",
|