Skip to content

Blender Settings

Blender-specific settings live in kpipe-blender.toml in the config bundle, and are read with kpipe.get_config("blender"). Like any sub-config, the file can be split into kpipe-blender.<category>.toml files (see Splitting large config files).

Render presets

A render preset is a named set of render engine settings, applied by the ConfigBlenderRenderEngine action. Render presets work like media presets, but they are Blender-only. K-Pipe ships with built-in render presets. Config bundles add their own, or replace built-ins, under [render.presets.<name>]:

# configs/<bundle>/kpipe-blender.toml
[render.presets.doris_lookdev]
description = "Cycles lookdev with utility passes"
base = "cycles_final"
samples = 256
passes = ["z", "normal", "cryptomatte_object"]
view_layer_passes = { FX = ["mist"] }
exclusive_passes = true
  • base = "<preset>" inherits every field from another preset, built-in or configured. Chains are allowed; circular and unknown bases raise an error.
  • description is optional. It's shown as the tooltip in the publish UI.
  • Fields left out mean "leave the scene's value unchanged".
Field Description
engine cycles, eevee or workbench
samples Render samples (Cycles samples, EEVEE taa_render_samples); ignored for Workbench
passes Passes enabled on every render-enabled view layer (Blender use_pass_<name> suffixes, e.g. z, mist, normal, cryptomatte_object; aliases ao, depth, emission)
view_layer_passes Extra passes per view layer: { "<view layer>" = [passes] }
exclusive_passes true turns off all other passes (except Combined) on the configured view layers
workbench_lighting studio, matcap or flat
workbench_color_type material, object, random, single, texture or attribute
workbench_render_aa off, fxaa, 5, 8, 11, 16 or 32

Unknown fields and invalid values raise an error when the preset is used, so the publish fails at the config phase, before anything has rendered.

Built-in render presets

Defined in BUILTIN_RENDER_PRESETS (packages/blender/src/kpipe_blender/system/kpipe_blender/render_presets.py). Values shown are fully resolved.

Preset Engine Settings
eevee_review EEVEE 64 samples
cycles_preview Cycles 128 samples
cycles_final Cycles 1024 samples
workbench_playblast Workbench Studio lighting, material color, 8× AA
workbench_object_color Workbench As workbench_playblast, object color

Using presets in pipelines

The action takes a preset plus optional overrides. Overrides that are set replace the preset's value; lists and tables are replaced, not merged. Empty or 0 overrides keep the preset's value.

[[pipeline.render_blender_cycles.config]]
action  = "ConfigBlenderRenderEngine"
preset  = "doris_lookdev"
samples = 64

Choosing a preset at publish time

The render_preset setting type shows a dropdown of every render preset in the Blender publish panel. Target it at the action's preset field:

[pipeline.blender_render_review_video.settings.render_preset]
type = "render_preset"
text = "Render Preset"
default_value = "eevee_review"
target = "ConfigBlenderRenderEngine.preset"

If default_value isn't a known preset, the dropdown starts on the first preset alphabetically.