comfyui-vidia-open-studio-node
Vidia Open Studio video saver custom node for ComfyUI: watermark, ffmpeg mux, R2 upload, backend notify.
comfyui-vidia-open-studio-node
Vidia Open Studio video saver custom node for ComfyUI. This is the Open Studio
node pack. Takes generated frames
and produces a finished video: optional corner/append watermarks, ffmpeg encode,
audio mux, metadata strip, Cloudflare R2 upload, and a videoReady callback to
the Vidia backend.
Part of Vidia Open Studio. Development happens on GitHub; the Codeberg mirror is read-only and is what the GPU worker clones at boot. Licensed under FSL-1.1-Apache-2.0 (see LICENSE.md).
Requirements
- ComfyUI with the V3 node API (
comfy_api.latest). Target: ComfyUI >= v0.24. ffmpegon PATH.- Python deps in
requirements.txt:boto3,python-dotenv,requests.
Install
Drop this folder into ComfyUI/custom_nodes/ and install dependencies:
pip install -r requirements.txt
Configuration
All configuration is environment-based. Copy .env.example to .env and fill
in the values. Required for upload + backend notify:
VIDIA_BACKEND_URL,RUNPOD_CALLBACK_SECRETS3_PUBLIC_URL_PREFIX,S3_ENDPOINT_URL,S3_ACCESS_KEY_ID,S3_SECRET_ACCESS_KEY,S3_BUCKET_NAME,S3_REGION_NAME
Optional:
VIDIA_API_ENDPOINT+VIDIA_REMOTE_LOGGING=trueto ship processing logs to a remote endpoint. Off by default (each log line is otherwise a local print).
Node
VidiaVideoSaver (category Vidia) is an output node. It is marked
not_idempotent so the R2 upload and backend callback always run, even when
upstream inputs are unchanged. Output type is the custom VIDIA_FILENAMES
tuple (save_output, [file_paths]).
Inputs
images(IMAGE, required)frame_rate(FLOAT, default 8)filename_prefix(STRING, defaultVidia)format(COMBO:image/gif,image/webp, plusvideo/*fromvideo_formats/*.json)save_output(BOOLEAN, default true)audio(AUDIO, optional, lazy)append_watermark(IMAGE, optional)watermark_audio(AUDIO, optional, lazy)corner_watermark(IMAGE, optional)corner_watermark_mask(MASK, optional)corner_opacity(FLOAT, 0.0 to 1.0, default 0.4)append_watermark_source_fps(FLOAT, 0 to 120, default 0)
Video formats
Format presets live in video_formats/ (e.g. h264-mp4.json). Each preset
defines extension, main_pass (ffmpeg video args), audio_pass, and
save_metadata.