{ "flamenco_version": { "version": "3.8.5", "shortversion": "3.8.5", "name": "Flamenco", "git": "690bf6ce" }, "shared_storage": { "location": "F:\\jobs", "audience": "users", "platform": "windows", "shaman_enabled": true }, "job_types": { "job_types": [ { "name": "BasedPlayblast", "label": "BasedPlayblast", "settings": [ { "key": "frames", "type": "string", "description": "Frame range to playblast. Examples: '47', '1-30', '3, 5-10, 47-327'", "eval": "f'{C.scene.frame_start}-{C.scene.frame_end}'", "eval_info": { "show_link_button": true, "description": "Scene frame range" }, "required": true }, { "key": "chunk_size", "type": "int32", "default": 5.0, "description": "Number of frames to playblast in one Blender task", "visible": "submission" }, { "key": "playblast_output_root", "type": "string", "default": "//", "description": "Base directory of where playblast output is stored. Will have some job-specific parts appended to it", "required": true, "subtype": "dir_path", "visible": "submission" }, { "key": "add_path_components", "type": "int32", "default": 0.0, "description": "Number of path components of the current blend file to use in the playblast output path", "propargs": { "max": 32.0, "min": 0.0 }, "required": true, "visible": "submission" }, { "key": "playblast_output_path", "type": "string", "description": "Final file path of where playblast output will be saved", "editable": false, "eval": "str(Path(abspath(settings.playblast_output_root), last_n_dir_parts(settings.add_path_components), 'blast', jobname, jobname + '_######'))", "subtype": "file_path" }, { "key": "resolution_percentage", "type": "int32", "default": 100.0, "description": "Percentage of the render resolution to use for playblast", "propargs": { "max": 100.0, "min": 1.0 }, "visible": "submission" }, { "key": "png_compression", "type": "int32", "default": 15.0, "description": "PNG compression level (0-100, higher = smaller file)", "propargs": { "max": 100.0, "min": 0.0 }, "visible": "submission" }, { "key": "keep_frames", "type": "bool", "default": false, "description": "Keep the individual playblast frames after video creation", "visible": "submission" }, { "key": "blendfile", "type": "string", "description": "Path of the Blend file to playblast", "required": true, "visible": "web" }, { "key": "fps", "type": "float", "eval": "C.scene.render.fps / C.scene.render.fps_base", "visible": "hidden" }, { "key": "format", "type": "string", "default": "PNG", "description": "Image format for playblast frames", "required": true, "visible": "web" }, { "key": "image_file_extension", "type": "string", "default": ".png", "description": "File extension used when creating playblast images", "required": true, "visible": "hidden" }, { "key": "scene", "type": "string", "description": "Name of the scene to playblast.", "eval": "C.scene.name", "required": true, "visible": "web" } ], "etag": "0cf19bc1871973734e485ebd4477e7688997cc3d", "description": "Create a viewport preview/playblast and generate a video file" }, { "name": "BasedPlayblast-Optix-GPU", "label": "BasedPlayblast OPTIX GPU", "settings": [ { "key": "frames", "type": "string", "description": "Frame range to playblast. Examples: '47', '1-30', '3, 5-10, 47-327'", "eval": "f'{C.scene.frame_start}-{C.scene.frame_end}'", "eval_info": { "show_link_button": true, "description": "Scene frame range" }, "required": true }, { "key": "chunk_size", "type": "int32", "default": 5.0, "description": "Number of frames to playblast in one Blender task", "visible": "submission" }, { "key": "playblast_output_root", "type": "string", "default": "//", "description": "Base directory of where playblast output is stored. Will have some job-specific parts appended to it", "required": true, "subtype": "dir_path", "visible": "submission" }, { "key": "add_path_components", "type": "int32", "default": 0.0, "description": "Number of path components of the current blend file to use in the playblast output path", "propargs": { "max": 32.0, "min": 0.0 }, "required": true, "visible": "submission" }, { "key": "playblast_output_path", "type": "string", "description": "Final file path of where playblast output will be saved", "editable": false, "eval": "str(Path(abspath(settings.playblast_output_root), last_n_dir_parts(settings.add_path_components), 'blast', jobname, jobname + '_######'))", "subtype": "file_path" }, { "key": "resolution_percentage", "type": "int32", "default": 100.0, "description": "Percentage of the render resolution to use for playblast", "propargs": { "max": 100.0, "min": 1.0 }, "visible": "submission" }, { "key": "png_compression", "type": "int32", "default": 15.0, "description": "PNG compression level (0-100, higher = smaller file)", "propargs": { "max": 100.0, "min": 0.0 }, "visible": "submission" }, { "key": "keep_frames", "type": "bool", "default": false, "description": "Keep the individual playblast frames after video creation", "visible": "submission" }, { "key": "experimental_gp3", "type": "bool", "description": "Experimental Flag: Grease Pencil 3", "label": "Experimental: GPv3", "required": false }, { "key": "experimental_new_anim", "type": "bool", "description": "Experimental Flag: New Animation Data-block", "label": "Experimental: Baklava", "required": false }, { "key": "blender_args_before", "type": "string", "description": "CLI arguments for Blender, placed before the .blend filename", "label": "Blender CLI args: Before", "required": false }, { "key": "blender_args_after", "type": "string", "description": "CLI arguments for Blender, placed after the .blend filename", "label": "After", "required": false }, { "key": "blendfile", "type": "string", "description": "Path of the Blend file to playblast", "required": true, "visible": "web" }, { "key": "fps", "type": "float", "eval": "C.scene.render.fps / C.scene.render.fps_base", "visible": "hidden" }, { "key": "format", "type": "string", "default": "PNG", "description": "Image format for playblast frames", "required": true, "visible": "web" }, { "key": "image_file_extension", "type": "string", "default": ".png", "description": "File extension used when creating playblast images", "required": true, "visible": "hidden" }, { "key": "scene", "type": "string", "description": "Name of the scene to playblast.", "eval": "C.scene.name", "required": true, "visible": "web" } ], "etag": "fe38e5ae9b3e640119d0d55fc7cbf4f8f15f2982", "description": "Create a viewport preview/playblast using Cycles OPTIX GPU rendering and generate a video file" }, { "name": "TalkingHeads Custom Render", "label": "TalkingHeads Custom Render", "settings": [ { "key": "frames", "type": "string", "description": "Frame range to render. Examples: '47', '1-30', '3, 5-10, 47-327'", "eval": "f'{C.scene.frame_start}-{C.scene.frame_end}'", "eval_info": { "show_link_button": true, "description": "Scene frame range" }, "required": true }, { "key": "chunk_size", "type": "int32", "default": 1.0, "description": "Number of frames to render in one Blender render task", "visible": "submission" }, { "key": "blendfile", "type": "string", "description": "Path of the Blend file to render", "eval": "bpy.data.filepath", "required": true, "visible": "web" }, { "key": "render_output_root", "type": "string", "description": "Base path where renders are stored, typically the project's Renders folder. If empty, derived automatically.", "eval": "__import__('os').path.normpath(__import__('os').path.join(((__import__('re').search(r'^(.*?)[\\/][Bb]lends[\\/]', bpy.data.filepath.replace('\\\\','/')) and __import__('re').search(r'^(.*?)[\\/][Bb]lends[\\/]', bpy.data.filepath.replace('\\\\','/')).group(1)) or __import__('os').path.dirname(bpy.data.filepath)), 'Renders'))", "eval_info": { "show_link_button": true, "description": "Auto-detect the project's Renders folder" }, "required": false, "subtype": "dir_path", "visible": "submission" }, { "key": "use_submodule", "type": "bool", "default": false, "description": "Include a submodule folder under Renders. Turn off to omit submodule entirely.", "label": "Use Submodule", "required": false, "visible": "submission" }, { "key": "submodule", "type": "string", "description": "Optional submodule under Renders (e.g. 'Waterspider B'). If empty, omitted.", "eval": "(__import__('os').path.basename(__import__('os').path.dirname(bpy.data.filepath)) if settings.use_submodule else '')", "eval_info": { "show_link_button": true, "description": "Auto-fill with the current .blend file's parent folder" }, "required": false, "visible": "submission" }, { "key": "render_output_path", "type": "string", "description": "Final file path of where render output will be saved", "editable": false, "eval": "((lambda Path, abspath, os_path, settings_obj, jobname: str(Path(abspath(settings_obj.render_output_root or '//')) / (((str(settings_obj.submodule or '').strip()) if (settings_obj.use_submodule and str(settings_obj.submodule or '').strip()) else ((os_path.basename(os_path.dirname(bpy.data.filepath))) if settings_obj.use_submodule else ''))) / jobname / (jobname + '_######')))(__import__('pathlib').Path, __import__('os').path.abspath, __import__('os').path, settings, (job.name if 'job' in dir() and job and job.name else __import__('os').path.splitext(__import__('os').path.basename(bpy.data.filepath))[0])))", "subtype": "file_path" }, { "key": "fps", "type": "float", "eval": "C.scene.render.fps / C.scene.render.fps_base", "visible": "hidden" }, { "key": "format", "type": "string", "eval": "C.scene.render.image_settings.file_format", "required": true, "visible": "web" }, { "key": "image_file_extension", "type": "string", "description": "File extension used when rendering images", "eval": "C.scene.render.file_extension", "required": true, "visible": "hidden" }, { "key": "has_previews", "type": "bool", "description": "Whether Blender will render preview images.", "eval": "C.scene.render.image_settings.use_preview", "required": false, "visible": "hidden" }, { "key": "scene", "type": "string", "description": "Name of the scene to render.", "eval": "C.scene.name", "required": true, "visible": "web" } ], "etag": "5f716e7195e55712daee20c237d95f748e2c3d1e", "description": "Render a sequence of frames, and create a preview video file" }, { "name": "TalkingHeads cycles-optix-gpu", "label": "TalkingHeads Cycles OPTIX GPU", "settings": [ { "key": "frames", "type": "string", "description": "Frame range to render. Examples: '47', '1-30', '3, 5-10, 47-327'", "eval": "f'{C.scene.frame_start}-{C.scene.frame_end}'", "eval_info": { "show_link_button": true, "description": "Scene frame range" }, "required": true }, { "key": "chunk_size", "type": "int32", "default": 1.0, "description": "Number of frames to render in one Blender render task", "visible": "submission" }, { "key": "render_output_root", "type": "string", "description": "Base path where renders are stored, typically the project's Renders folder. If empty, derived automatically.", "eval": "__import__('os').path.normpath(__import__('os').path.join(((__import__('re').search(r'^(.*?)[\\/][Bb]lends[\\/]', bpy.data.filepath.replace('\\\\','/')) and __import__('re').search(r'^(.*?)[\\/][Bb]lends[\\/]', bpy.data.filepath.replace('\\\\','/')).group(1)) or __import__('os').path.dirname(bpy.data.filepath)), 'Renders'))", "eval_info": { "show_link_button": true, "description": "Auto-detect the project's Renders folder" }, "required": false, "subtype": "dir_path", "visible": "submission" }, { "key": "use_submodule", "type": "bool", "default": false, "description": "Include a submodule folder under Renders. Turn off to omit submodule entirely.", "label": "Use Submodule", "required": false, "visible": "submission" }, { "key": "submodule", "type": "string", "description": "Optional submodule under Renders (e.g. 'Waterspider B'). If empty, omitted.", "eval": "(__import__('os').path.basename(__import__('os').path.dirname(bpy.data.filepath)) if settings.use_submodule else '')", "eval_info": { "show_link_button": true, "description": "Auto-fill with the current .blend file's parent folder" }, "required": false, "visible": "submission" }, { "key": "render_output_path", "type": "string", "description": "Final file path of where render output will be saved", "editable": false, "eval": "((lambda Path, abspath, os_path, settings_obj, jobname: str(Path(abspath(settings_obj.render_output_root or '//')) / (((str(settings_obj.submodule or '').strip()) if (settings_obj.use_submodule and str(settings_obj.submodule or '').strip()) else ((os_path.basename(os_path.dirname(bpy.data.filepath))) if settings_obj.use_submodule else ''))) / jobname / (jobname + '_######')))(__import__('pathlib').Path, __import__('os').path.abspath, __import__('os').path, settings, (job.name if 'job' in dir() and job and job.name else __import__('os').path.splitext(__import__('os').path.basename(bpy.data.filepath))[0])))", "subtype": "file_path" }, { "key": "experimental_gp3", "type": "bool", "description": "Experimental Flag: Grease Pencil 3", "label": "Experimental: GPv3", "required": false }, { "key": "experimental_new_anim", "type": "bool", "description": "Experimental Flag: New Animation Data-block", "label": "Experimental: Baklava", "required": false }, { "key": "blender_args_before", "type": "string", "description": "CLI arguments for Blender, placed before the .blend filename", "label": "Blender CLI args: Before", "required": false }, { "key": "blender_args_after", "type": "string", "description": "CLI arguments for Blender, placed after the .blend filename", "label": "After", "required": false }, { "key": "blendfile", "type": "string", "description": "Path of the Blend file to render", "eval": "bpy.data.filepath", "required": true, "visible": "web" }, { "key": "fps", "type": "float", "eval": "C.scene.render.fps / C.scene.render.fps_base", "visible": "hidden" }, { "key": "format", "type": "string", "eval": "C.scene.render.image_settings.file_format", "required": true, "visible": "web" }, { "key": "image_file_extension", "type": "string", "description": "File extension used when rendering images", "eval": "C.scene.render.file_extension", "required": true, "visible": "hidden" }, { "key": "has_previews", "type": "bool", "description": "Whether Blender will render preview images.", "eval": "C.scene.render.image_settings.use_preview", "required": false, "visible": "hidden" } ], "etag": "758c56b672b0970896f30b85ee5165a5c096aec4", "description": "OPTIX GPU rendering + extra checkboxes for some experimental features + extra CLI args for Blender" }, { "name": "cycles-optix-gpu", "label": "Cycles OPTIX GPU", "settings": [ { "key": "frames", "type": "string", "description": "Frame range to render. Examples: '47', '1-30', '3, 5-10, 47-327'", "eval": "f'{C.scene.frame_start}-{C.scene.frame_end}'", "eval_info": { "show_link_button": true, "description": "Scene frame range" }, "required": true }, { "key": "chunk_size", "type": "int32", "default": 1.0, "description": "Number of frames to render in one Blender render task", "visible": "submission" }, { "key": "render_output_root", "type": "string", "description": "Base directory of where render output is stored. Will have some job-specific parts appended to it", "required": true, "subtype": "dir_path", "visible": "submission" }, { "key": "add_path_components", "type": "int32", "default": 0.0, "description": "Number of path components of the current blend file to use in the render output path", "propargs": { "max": 32.0, "min": 0.0 }, "required": true, "visible": "submission" }, { "key": "render_output_path", "type": "string", "description": "Final file path of where render output will be saved", "editable": false, "eval": "str(Path(abspath(settings.render_output_root), last_n_dir_parts(settings.add_path_components), jobname, '{timestamp}', '######'))", "subtype": "file_path" }, { "key": "experimental_gp3", "type": "bool", "description": "Experimental Flag: Grease Pencil 3", "label": "Experimental: GPv3", "required": false }, { "key": "experimental_new_anim", "type": "bool", "description": "Experimental Flag: New Animation Data-block", "label": "Experimental: Baklava", "required": false }, { "key": "blender_args_before", "type": "string", "description": "CLI arguments for Blender, placed before the .blend filename", "label": "Blender CLI args: Before", "required": false }, { "key": "blender_args_after", "type": "string", "description": "CLI arguments for Blender, placed after the .blend filename", "label": "After", "required": false }, { "key": "blendfile", "type": "string", "description": "Path of the Blend file to render", "required": true, "visible": "web" }, { "key": "fps", "type": "float", "eval": "C.scene.render.fps / C.scene.render.fps_base", "visible": "hidden" }, { "key": "format", "type": "string", "eval": "C.scene.render.image_settings.file_format", "required": true, "visible": "web" }, { "key": "image_file_extension", "type": "string", "description": "File extension used when rendering images", "eval": "C.scene.render.file_extension", "required": true, "visible": "hidden" }, { "key": "has_previews", "type": "bool", "description": "Whether Blender will render preview images.", "eval": "C.scene.render.image_settings.use_preview", "required": false, "visible": "hidden" } ], "etag": "ebed5e28846668474299cd2a8b55fb47b69b54d7", "description": "OPTIX GPU rendering + extra checkboxes for some experimental features + extra CLI args for Blender" }, { "name": "echo-sleep-test", "label": "Echo Sleep Test", "settings": [ { "key": "message", "type": "string", "required": true }, { "key": "sleep_duration_seconds", "type": "int32", "default": 1.0 }, { "key": "sleep_repeats", "type": "int32", "default": 1.0 } ], "etag": "eba586e16d6b55baaa43e32f9e78ae514b457fee" }, { "name": "simple-blender-render", "label": "Simple Blender Render", "settings": [ { "key": "frames", "type": "string", "description": "Frame range to render. Examples: '47', '1-30', '3, 5-10, 47-327'", "eval": "f'{C.scene.frame_start}-{C.scene.frame_end}'", "eval_info": { "show_link_button": true, "description": "Scene frame range" }, "required": true }, { "key": "chunk_size", "type": "int32", "default": 1.0, "description": "Number of frames to render in one Blender render task", "visible": "submission" }, { "key": "render_output_root", "type": "string", "description": "Base directory of where render output is stored. Will have some job-specific parts appended to it", "required": true, "subtype": "dir_path", "visible": "submission" }, { "key": "add_path_components", "type": "int32", "default": 0.0, "description": "Number of path components of the current blend file to use in the render output path", "propargs": { "max": 32.0, "min": 0.0 }, "required": true, "visible": "submission" }, { "key": "render_output_path", "type": "string", "description": "Final file path of where render output will be saved", "editable": false, "eval": "str(Path(abspath(settings.render_output_root), last_n_dir_parts(settings.add_path_components), jobname, '{timestamp}', '######'))", "subtype": "file_path" }, { "key": "blendfile", "type": "string", "description": "Path of the Blend file to render", "required": true, "visible": "web" }, { "key": "fps", "type": "float", "eval": "C.scene.render.fps / C.scene.render.fps_base", "visible": "hidden" }, { "key": "format", "type": "string", "eval": "C.scene.render.image_settings.file_format", "required": true, "visible": "web" }, { "key": "image_file_extension", "type": "string", "description": "File extension used when rendering images", "eval": "C.scene.render.file_extension", "required": true, "visible": "hidden" }, { "key": "has_previews", "type": "bool", "description": "Whether Blender will render preview images.", "eval": "C.scene.render.image_settings.use_preview", "required": false, "visible": "hidden" }, { "key": "scene", "type": "string", "description": "Name of the scene to render.", "eval": "C.scene.name", "required": true, "visible": "web" } ], "etag": "6f6b4fce9301252a6ab4a9a213a2f0ad447eccd5", "description": "Render a sequence of frames, and create a preview video file" } ] }, "worker_tags": { "tags": [] } }