Files
Çağan Kiraz 10d9805f70 feat: add deblur, video edit and video upscale nodes
Bring the package in line with the current BFL API reference:
flux-tools/deblur-v1, video-edit-v1 and video-upscale-v1 had no
node. The video nodes reuse BaseFlux3Video via a URL_PATH attribute.

Existing nodes gain API fields: qhd/uhd on Flux 3 Video,
disable_pup on Flux 2 Max/Pro/Pro Preview, safety_tolerance and
disable_pup on Outpaint. New widgets are appended so saved
workflows keep their values.

Fixes found while testing on ComfyUI 0.37.0:
- V2V offered 16-20 s; BFL caps continuation at 15 s
- draft with a non-hd resolution was rejected; send hd
- Flux 2 width/height defaulted to 0 below min 64, so every
  fresh Flux 2 node failed validation
- the finetune example needed ShowText|pysssss; use core
  Preview as Text and drop the unused group-node template

Terminal polling statuses now log BFL's details (Moderation
Reasons). Example workflows gain Deblur, Video Edit and Video
Upscale groups.
2026-09-26 19:06:02 +03:00

1 line
20 KiB
JSON

{"id":"03f92a06-021d-4d91-900c-e57f072eb9fb","revision":0,"last_node_id":28,"last_link_id":25,"nodes":[{"id":14,"type":"Flux3Keyframes_BFL","pos":[-170.33630956478825,587.2847651629255],"size":[270,454],"flags":{},"order":0,"mode":4,"inputs":[{"localized_name":"start_image","name":"start_image","shape":7,"type":"STRING","link":null},{"localized_name":"image_2","name":"image_2","shape":7,"type":"STRING","link":null},{"localized_name":"image_3","name":"image_3","shape":7,"type":"STRING","link":null},{"localized_name":"image_4","name":"image_4","shape":7,"type":"STRING","link":null},{"localized_name":"image_5","name":"image_5","shape":7,"type":"STRING","link":null},{"localized_name":"image_6","name":"image_6","shape":7,"type":"STRING","link":null},{"localized_name":"image_7","name":"image_7","shape":7,"type":"STRING","link":null},{"localized_name":"image_8","name":"image_8","shape":7,"type":"STRING","link":null},{"localized_name":"image_9","name":"image_9","shape":7,"type":"STRING","link":null},{"localized_name":"end_image","name":"end_image","shape":7,"type":"STRING","link":null},{"localized_name":"timing","name":"timing","type":"COMBO","widget":{"name":"timing"},"link":null},{"localized_name":"time_2","name":"time_2","shape":7,"type":"FLOAT","widget":{"name":"time_2"},"link":null},{"localized_name":"time_3","name":"time_3","shape":7,"type":"FLOAT","widget":{"name":"time_3"},"link":null},{"localized_name":"time_4","name":"time_4","shape":7,"type":"FLOAT","widget":{"name":"time_4"},"link":null},{"localized_name":"time_5","name":"time_5","shape":7,"type":"FLOAT","widget":{"name":"time_5"},"link":null},{"localized_name":"time_6","name":"time_6","shape":7,"type":"FLOAT","widget":{"name":"time_6"},"link":null},{"localized_name":"time_7","name":"time_7","shape":7,"type":"FLOAT","widget":{"name":"time_7"},"link":null},{"localized_name":"time_8","name":"time_8","shape":7,"type":"FLOAT","widget":{"name":"time_8"},"link":null},{"localized_name":"time_9","name":"time_9","shape":7,"type":"FLOAT","widget":{"name":"time_9"},"link":null},{"localized_name":"end_time","name":"end_time","shape":7,"type":"FLOAT","widget":{"name":"end_time"},"link":null}],"outputs":[{"localized_name":"keyframes","name":"keyframes","type":"STRING","links":[11]}],"properties":{"cnr_id":"comfyui-flux-bfl-api","ver":"77f695d43e5040e1407d7eb3ae37920951ecd864","Node name for S&R":"Flux3Keyframes_BFL"},"widgets_values":["even",0,0,0,0,0,0,0,0,5]},{"id":17,"type":"VideoToBase64_BFL","pos":[-84.71238854787752,1303.988456596037],"size":[188.581640625,26],"flags":{},"order":5,"mode":4,"inputs":[{"localized_name":"video","name":"video","type":"VIDEO","link":12}],"outputs":[{"localized_name":"STRING","name":"STRING","type":"STRING","links":[13]}],"properties":{"cnr_id":"comfyui-flux-bfl-api","ver":"77f695d43e5040e1407d7eb3ae37920951ecd864","Node name for S&R":"VideoToBase64_BFL"},"widgets_values":[]},{"id":16,"type":"Flux3VideoV2V_BFL","pos":[119.81632424670818,1148.1083064537522],"size":[400,256],"flags":{},"order":8,"mode":4,"inputs":[{"localized_name":"config","name":"config","shape":7,"type":"BFL_CONFIG","link":17},{"localized_name":"prompt","name":"prompt","type":"STRING","widget":{"name":"prompt"},"link":null},{"localized_name":"start_video","name":"start_video","type":"STRING","widget":{"name":"start_video"},"link":13},{"localized_name":"resolution","name":"resolution","type":"COMBO","widget":{"name":"resolution"},"link":null},{"localized_name":"duration","name":"duration","type":"COMBO","widget":{"name":"duration"},"link":null},{"localized_name":"aspect_ratio","name":"aspect_ratio","type":"COMBO","widget":{"name":"aspect_ratio"},"link":null},{"localized_name":"generate_audio","name":"generate_audio","type":"BOOLEAN","widget":{"name":"generate_audio"},"link":null},{"localized_name":"safety_tolerance","name":"safety_tolerance","type":"INT","widget":{"name":"safety_tolerance"},"link":null},{"localized_name":"draft","name":"draft","type":"BOOLEAN","widget":{"name":"draft"},"link":null}],"outputs":[{"localized_name":"video","name":"video","type":"VIDEO","links":[15]}],"properties":{"cnr_id":"comfyui-flux-bfl-api","ver":"77f695d43e5040e1407d7eb3ae37920951ecd864","Node name for S&R":"Flux3VideoV2V_BFL"},"widgets_values":["A herd of African elephants walks steadily toward the camera across a dry savanna beneath a huge hazy orange sunset, the animals growing larger in frame as the sun sinks lower behind them.\n","","hd","auto","auto",true,2,false]},{"id":1,"type":"Flux3VideoT2V_BFL","pos":[-165.85700705861882,92.52983633344374],"size":[417.0977571661342,395.3269851369389],"flags":{},"order":3,"mode":4,"inputs":[{"localized_name":"config","name":"config","shape":7,"type":"BFL_CONFIG","link":1},{"localized_name":"prompt","name":"prompt","type":"STRING","widget":{"name":"prompt"},"link":null},{"localized_name":"resolution","name":"resolution","type":"COMBO","widget":{"name":"resolution"},"link":null},{"localized_name":"duration","name":"duration","type":"COMBO","widget":{"name":"duration"},"link":null},{"localized_name":"aspect_ratio","name":"aspect_ratio","type":"COMBO","widget":{"name":"aspect_ratio"},"link":null},{"localized_name":"generate_audio","name":"generate_audio","type":"BOOLEAN","widget":{"name":"generate_audio"},"link":null},{"localized_name":"safety_tolerance","name":"safety_tolerance","type":"INT","widget":{"name":"safety_tolerance"},"link":null},{"localized_name":"draft","name":"draft","type":"BOOLEAN","widget":{"name":"draft"},"link":null}],"outputs":[{"localized_name":"video","name":"video","type":"VIDEO","links":[2]}],"properties":{"cnr_id":"comfyui-flux-bfl-api","ver":"77f695d43e5040e1407d7eb3ae37920951ecd864","Node name for S&R":"Flux3VideoT2V_BFL","aux_id":"gelasdev/ComfyUI-FLUX-BFL-API"},"widgets_values":["Core summary: A first-person and third-person mixed cinematic sequence follows a lone man traversing a scorching desert, from a wide dune crossing through a sandstorm, discovering an oasis, and collapsing in exhaustion before crawling toward the water.\n\nScene:\n Shot 1: A vast desert landscape with rolling golden sand dunes stretching to the horizon. Harsh, bright midday sun casting sharp shadows and a heat-shimmer haze. Deep depth of field.\n Shot 2: The same desert, now engulfed in a violent sandstorm with swirling orange-brown dust obscuring visibility. Muted, diffused lighting, grainy particles filling the air. Shallow depth of field.\n Shot 3: A small oasis, a cluster of palm trees and a shallow turquoise pool surrounded by sand. Warm, golden-hour sunlight, soft and inviting. Deep depth of field.\n Shot 4: A close, low-angle view of the sand near the oasis's edge, water gently rippling nearby. Warm, low light with soft reflections on the water. Shallow depth of field.\n\nSubject description: A rugged traveler in a tattered, sand-colored linen tunic, a loose scarf wrapped around head and neck, leather sandals, and a worn canvas satchel. Sunburned, weathered skin; lips cracked from dehydration.\n\nDynamic narrative:\n Shot 1 [0.0s-2.5s]: A wide, tracking shot follows the man trudging up a massive dune, his silhouette stark against the bright sky. Footsteps sink deep into the sand, kicking up small clouds with each labored step.\n Shot 2 [2.5s-5.0s]: Hard cut to first-person as the sandstorm hits. He shields his eyes with his forearm, stumbling forward blindly as gusts of sand whip across the frame, nearly knocking him off balance.\n Shot 3 [5.0s-7.5s]: The storm clears abruptly, revealing the oasis. A wide shot shows him breaking into a weak run toward the palm trees, his pace increasing with desperate energy.\n Shot 4 [7.5s-10.0s]: He collapses at the water's edge, then drags himself forward on hands and knees. The camera pushes in close as his trembling hand touches the water, sending ripples outward.\n\nAudio:\n Shot 1: Low, dry desert wind, faint crunching footsteps on sand, sparse ambient silence emphasizing isolation.\n Shot 2: Roaring, chaotic wind howl mixed with gritty sand-whipping sounds and the man's muffled, strained breathing.\n Shot 3: Wind fades into a gentle breeze rustling palm fronds, faint birdsong, and the man's heavy, relieved panting.\n Shot 4: Soft splashing water, the man's shaky exhale, a warm ambient hum fading into a peaceful silence.\n\nStyle and color: Realistic, high-fidelity cinematic sequence. Warm, sun-bleached palette of ochre, amber, and sandy beige, shifting to cool teal-blue during the oasis reveal. High dynamic range holds both blown-out sun highlights and deep shadow detail; fine grain adds gritty, tactile realism to the sand and dust.","hd","auto","auto",true,2,false]},{"id":15,"type":"Flux3VideoI2V_BFL","pos":[128.32543915052239,594.1028734588173],"size":[400,286],"flags":{},"order":4,"mode":4,"inputs":[{"localized_name":"config","name":"config","shape":7,"type":"BFL_CONFIG","link":14},{"localized_name":"prompt","name":"prompt","type":"STRING","widget":{"name":"prompt"},"link":null},{"localized_name":"keyframes","name":"keyframes","type":"STRING","widget":{"name":"keyframes"},"link":11},{"localized_name":"resolution","name":"resolution","type":"COMBO","widget":{"name":"resolution"},"link":null},{"localized_name":"duration","name":"duration","type":"COMBO","widget":{"name":"duration"},"link":null},{"localized_name":"aspect_ratio","name":"aspect_ratio","type":"COMBO","widget":{"name":"aspect_ratio"},"link":null},{"localized_name":"generate_audio","name":"generate_audio","type":"BOOLEAN","widget":{"name":"generate_audio"},"link":null},{"localized_name":"safety_tolerance","name":"safety_tolerance","type":"INT","widget":{"name":"safety_tolerance"},"link":null},{"localized_name":"draft","name":"draft","type":"BOOLEAN","widget":{"name":"draft"},"link":null}],"outputs":[{"localized_name":"video","name":"video","type":"VIDEO","links":[16]}],"properties":{"cnr_id":"comfyui-flux-bfl-api","ver":"77f695d43e5040e1407d7eb3ae37920951ecd864","Node name for S&R":"Flux3VideoI2V_BFL"},"widgets_values":["","","hd","auto","auto",true,2,false]},{"id":20,"type":"SaveVideo","pos":[544.7266988180071,604.2648948993898],"size":[270,106],"flags":{},"order":7,"mode":4,"inputs":[{"localized_name":"video","name":"video","type":"VIDEO","link":16},{"localized_name":"filename_prefix","name":"filename_prefix","type":"STRING","widget":{"name":"filename_prefix"},"link":null},{"localized_name":"format","name":"format","type":"COMBO","widget":{"name":"format"},"link":null},{"localized_name":"codec","name":"codec","type":"COMFY_DYNAMICCOMBO_V3","widget":{"name":"codec"},"link":null}],"outputs":[{"localized_name":"video","name":"video","type":"VIDEO","links":null}],"properties":{"cnr_id":"comfy-core","ver":"0.30.0"},"widgets_values":["video/ComfyUI","auto","auto"]},{"id":3,"type":"SaveVideo","pos":[271.3658617667373,99.33846994930623],"size":[270,106],"flags":{},"order":6,"mode":4,"inputs":[{"localized_name":"video","name":"video","type":"VIDEO","link":2},{"localized_name":"filename_prefix","name":"filename_prefix","type":"STRING","widget":{"name":"filename_prefix"},"link":null},{"localized_name":"format","name":"format","type":"COMBO","widget":{"name":"format"},"link":null},{"localized_name":"codec","name":"codec","type":"COMFY_DYNAMICCOMBO_V3","widget":{"name":"codec"},"link":null}],"outputs":[{"localized_name":"video","name":"video","type":"VIDEO","links":null}],"properties":{"cnr_id":"comfy-core","ver":"0.30.0"},"widgets_values":["video/ComfyUI","auto","auto"]},{"id":2,"type":"FluxConfig_BFL","pos":[-687.3516908165968,552.688597699161],"size":[270,106],"flags":{},"order":1,"mode":0,"inputs":[{"localized_name":"x_key","name":"x_key","type":"STRING","widget":{"name":"x_key"},"link":null},{"localized_name":"base_url","name":"base_url","type":"STRING","widget":{"name":"base_url"},"link":null},{"localized_name":"region","name":"region","shape":7,"type":"COMBO","widget":{"name":"region"},"link":null}],"outputs":[{"localized_name":"config","name":"config","type":"BFL_CONFIG","links":[1,14,17,18,22]}],"properties":{"cnr_id":"comfyui-flux-bfl-api","ver":"77f695d43e5040e1407d7eb3ae37920951ecd864","Node name for S&R":"FluxConfig_BFL","aux_id":"gelasdev/ComfyUI-FLUX-BFL-API"},"widgets_values":["","https://api.bfl.ai/v1/","none"]},{"id":19,"type":"SaveVideo","pos":[531.3627886371867,1152.3268921760232],"size":[270,106],"flags":{},"order":9,"mode":4,"inputs":[{"localized_name":"video","name":"video","type":"VIDEO","link":15},{"localized_name":"filename_prefix","name":"filename_prefix","type":"STRING","widget":{"name":"filename_prefix"},"link":null},{"localized_name":"format","name":"format","type":"COMBO","widget":{"name":"format"},"link":null},{"localized_name":"codec","name":"codec","type":"COMFY_DYNAMICCOMBO_V3","widget":{"name":"codec"},"link":null}],"outputs":[{"localized_name":"video","name":"video","type":"VIDEO","links":null}],"properties":{"cnr_id":"comfy-core","ver":"0.30.0"},"widgets_values":["video/ComfyUI","auto","auto"]},{"id":18,"type":"LoadVideo","pos":[-176.82292317317908,1159.153843595232],"size":[282.798828125,229.53935546875002],"flags":{},"order":2,"mode":4,"inputs":[{"localized_name":"file","name":"file","type":"COMBO","widget":{"name":"file"},"link":null},{"localized_name":"choose file to upload","name":"upload","type":"IMAGEUPLOAD","widget":{"name":"upload"},"link":null}],"outputs":[{"localized_name":"VIDEO","name":"VIDEO","type":"VIDEO","links":[12]}],"properties":{"cnr_id":"comfy-core","ver":"0.30.0","Node name for S&R":"LoadVideo"},"widgets_values":["08c30d095b03c80ebec84e8a547c3ea694c2efca.mp4","image"]},{"id":21,"type":"LoadVideo","pos":[-176.82292317317908,1630],"size":[282.798828125,229.53935546875002],"flags":{},"order":10,"mode":4,"inputs":[{"localized_name":"file","name":"file","type":"COMBO","widget":{"name":"file"},"link":null},{"localized_name":"choose file to upload","name":"upload","type":"IMAGEUPLOAD","widget":{"name":"upload"},"link":null}],"outputs":[{"localized_name":"VIDEO","name":"VIDEO","type":"VIDEO","links":[19]}],"properties":{"cnr_id":"comfy-core","ver":"0.30.0","Node name for S&R":"LoadVideo"},"widgets_values":["08c30d095b03c80ebec84e8a547c3ea694c2efca.mp4","image"]},{"id":22,"type":"VideoToBase64_BFL","pos":[123.17707682682092,1630],"size":[188.581640625,26],"flags":{},"order":11,"mode":4,"inputs":[{"localized_name":"video","name":"video","type":"VIDEO","link":19}],"outputs":[{"localized_name":"STRING","name":"STRING","type":"STRING","links":[20]}],"properties":{"cnr_id":"comfyui-flux-bfl-api","ver":"77f695d43e5040e1407d7eb3ae37920951ecd864","Node name for S&R":"VideoToBase64_BFL"},"widgets_values":[]},{"id":23,"type":"FluxVideoEdit_BFL","pos":[333.1770768268209,1630],"size":[400,220],"flags":{},"order":12,"mode":4,"inputs":[{"localized_name":"config","name":"config","shape":7,"type":"BFL_CONFIG","link":18},{"localized_name":"prompt","name":"prompt","type":"STRING","widget":{"name":"prompt"},"link":null},{"localized_name":"video","name":"video","type":"STRING","widget":{"name":"video"},"link":20},{"localized_name":"safety_tolerance","name":"safety_tolerance","type":"INT","widget":{"name":"safety_tolerance"},"link":null}],"outputs":[{"localized_name":"video","name":"video","type":"VIDEO","links":[21]}],"properties":{"cnr_id":"comfyui-flux-bfl-api","aux_id":"gelasdev/ComfyUI-FLUX-BFL-API","Node name for S&R":"FluxVideoEdit_BFL"},"widgets_values":["Turn the scene into a snowy winter landscape; keep the elephants and their motion unchanged.","",2]},{"id":24,"type":"SaveVideo","pos":[753.1770768268209,1630],"size":[270,106],"flags":{},"order":13,"mode":4,"inputs":[{"localized_name":"video","name":"video","type":"VIDEO","link":21},{"localized_name":"filename_prefix","name":"filename_prefix","type":"STRING","widget":{"name":"filename_prefix"},"link":null},{"localized_name":"format","name":"format","type":"COMBO","widget":{"name":"format"},"link":null},{"localized_name":"codec","name":"codec","type":"COMFY_DYNAMICCOMBO_V3","widget":{"name":"codec"},"link":null}],"outputs":[{"localized_name":"video","name":"video","type":"VIDEO","links":null}],"properties":{"cnr_id":"comfy-core","ver":"0.30.0"},"widgets_values":["video/ComfyUI","auto","auto"]},{"id":25,"type":"LoadVideo","pos":[-176.82292317317908,1990],"size":[282.798828125,229.53935546875002],"flags":{},"order":14,"mode":4,"inputs":[{"localized_name":"file","name":"file","type":"COMBO","widget":{"name":"file"},"link":null},{"localized_name":"choose file to upload","name":"upload","type":"IMAGEUPLOAD","widget":{"name":"upload"},"link":null}],"outputs":[{"localized_name":"VIDEO","name":"VIDEO","type":"VIDEO","links":[23]}],"properties":{"cnr_id":"comfy-core","ver":"0.30.0","Node name for S&R":"LoadVideo"},"widgets_values":["08c30d095b03c80ebec84e8a547c3ea694c2efca.mp4","image"]},{"id":26,"type":"VideoToBase64_BFL","pos":[123.17707682682092,1990],"size":[188.581640625,26],"flags":{},"order":15,"mode":4,"inputs":[{"localized_name":"video","name":"video","type":"VIDEO","link":23}],"outputs":[{"localized_name":"STRING","name":"STRING","type":"STRING","links":[24]}],"properties":{"cnr_id":"comfyui-flux-bfl-api","ver":"77f695d43e5040e1407d7eb3ae37920951ecd864","Node name for S&R":"VideoToBase64_BFL"},"widgets_values":[]},{"id":27,"type":"FluxVideoUpscale_BFL","pos":[333.1770768268209,1990],"size":[400,300],"flags":{},"order":16,"mode":4,"inputs":[{"localized_name":"config","name":"config","shape":7,"type":"BFL_CONFIG","link":22},{"localized_name":"input_video","name":"input_video","type":"STRING","widget":{"name":"input_video"},"link":24},{"localized_name":"upscale_factor","name":"upscale_factor","type":"FLOAT","widget":{"name":"upscale_factor"},"link":null},{"localized_name":"creativity","name":"creativity","type":"INT","widget":{"name":"creativity"},"link":null},{"localized_name":"safety_tolerance","name":"safety_tolerance","type":"INT","widget":{"name":"safety_tolerance"},"link":null},{"localized_name":"prompt","name":"prompt","shape":7,"type":"STRING","widget":{"name":"prompt"},"link":null},{"localized_name":"webhook_url","name":"webhook_url","shape":7,"type":"STRING","widget":{"name":"webhook_url"},"link":null},{"localized_name":"webhook_secret","name":"webhook_secret","shape":7,"type":"STRING","widget":{"name":"webhook_secret"},"link":null}],"outputs":[{"localized_name":"video","name":"video","type":"VIDEO","links":[25]}],"properties":{"cnr_id":"comfyui-flux-bfl-api","aux_id":"gelasdev/ComfyUI-FLUX-BFL-API","Node name for S&R":"FluxVideoUpscale_BFL"},"widgets_values":["",2.0,1,2,"","",""]},{"id":28,"type":"SaveVideo","pos":[753.1770768268209,1990],"size":[270,106],"flags":{},"order":17,"mode":4,"inputs":[{"localized_name":"video","name":"video","type":"VIDEO","link":25},{"localized_name":"filename_prefix","name":"filename_prefix","type":"STRING","widget":{"name":"filename_prefix"},"link":null},{"localized_name":"format","name":"format","type":"COMBO","widget":{"name":"format"},"link":null},{"localized_name":"codec","name":"codec","type":"COMFY_DYNAMICCOMBO_V3","widget":{"name":"codec"},"link":null}],"outputs":[{"localized_name":"video","name":"video","type":"VIDEO","links":null}],"properties":{"cnr_id":"comfy-core","ver":"0.30.0"},"widgets_values":["video/ComfyUI","auto","auto"]}],"links":[[1,2,0,1,0,"BFL_CONFIG"],[2,1,0,3,0,"VIDEO"],[11,14,0,15,2,"STRING"],[12,18,0,17,0,"VIDEO"],[13,17,0,16,2,"STRING"],[14,2,0,15,0,"BFL_CONFIG"],[15,16,0,19,0,"VIDEO"],[16,15,0,20,0,"VIDEO"],[17,2,0,16,0,"BFL_CONFIG"],[18,2,0,23,0,"BFL_CONFIG"],[19,21,0,22,0,"VIDEO"],[20,22,0,23,2,"STRING"],[21,23,0,24,0,"VIDEO"],[22,2,0,27,0,"BFL_CONFIG"],[23,25,0,26,0,"VIDEO"],[24,26,0,27,1,"STRING"],[25,27,0,28,0,"VIDEO"]],"groups":[{"id":1,"title":"FLUX.3 Video Continuation","bounding":[-186.82292317317908,1078.1083064537522,998.1857118103658,452.218585722271],"color":"#3f789e","flags":{}},{"id":2,"title":"FLUX.3 Image To Video","bounding":[-180.33630956478825,517.2847651629255,1005.0630083827954,533.9999999999999],"color":"#3f789e","flags":{}},{"id":3,"title":"FLUX.3 Text to Video","bounding":[-175.85700705861882,22.52983633344374,727.222868825356,475.3269851369389],"color":"#3f789e","flags":{}},{"id":4,"title":"FLUX Video Edit","bounding":[-186.82292317317908,1560,1240,330],"color":"#3f789e","flags":{}},{"id":5,"title":"FLUX Video Upscale","bounding":[-186.82292317317908,1920,1240,410],"color":"#3f789e","flags":{}}],"config":{},"extra":{"ds":{"scale":0.6303940863128521,"offset":[1167.5568859328212,3.359062347142654]}},"version":0.4}