jpskill.com
💬 コミュニケーション コミュニティ

blender-compositing

Automate Blender compositing and post-processing with Python. Use when the user wants to set up compositor nodes, add post-processing effects, color correct renders, combine render passes, apply blur or glare, key green screens, create node-based VFX pipelines, or script the Blender compositor.

⚡ おすすめ: コマンド1行でインストール(60秒)

下記のコマンドをコピーしてターミナル(Mac/Linux)または PowerShell(Windows)に貼り付けてください。 ダウンロード → 解凍 → 配置まで全自動。

🍎 Mac / 🐧 Linux
mkdir -p ~/.claude/skills && cd ~/.claude/skills && curl -L -o blender-compositing.zip https://jpskill.com/download/14691.zip && unzip -o blender-compositing.zip && rm blender-compositing.zip
🪟 Windows (PowerShell)
$d = "$env:USERPROFILE\.claude\skills"; ni -Force -ItemType Directory $d | Out-Null; iwr https://jpskill.com/download/14691.zip -OutFile "$d\blender-compositing.zip"; Expand-Archive "$d\blender-compositing.zip" -DestinationPath $d -Force; ri "$d\blender-compositing.zip"

完了後、Claude Code を再起動 → 普通に「動画プロンプト作って」のように話しかけるだけで自動発動します。

💾 手動でダウンロードしたい(コマンドが難しい人向け)
  1. 1. 下の青いボタンを押して blender-compositing.zip をダウンロード
  2. 2. ZIPファイルをダブルクリックで解凍 → blender-compositing フォルダができる
  3. 3. そのフォルダを C:\Users\あなたの名前\.claude\skills\(Win)または ~/.claude/skills/(Mac)へ移動
  4. 4. Claude Code を再起動

⚠️ ダウンロード・利用は自己責任でお願いします。当サイトは内容・動作・安全性について責任を負いません。

🎯 このSkillでできること

下記の説明文を読むと、このSkillがあなたに何をしてくれるかが分かります。Claudeにこの分野の依頼をすると、自動で発動します。

📦 インストール方法 (3ステップ)

  1. 1. 上の「ダウンロード」ボタンを押して .skill ファイルを取得
  2. 2. ファイル名の拡張子を .skill から .zip に変えて展開(macは自動展開可)
  3. 3. 展開してできたフォルダを、ホームフォルダの .claude/skills/ に置く
    • · macOS / Linux: ~/.claude/skills/
    • · Windows: %USERPROFILE%\.claude\skills\

Claude Code を再起動すれば完了。「このSkillを使って…」と話しかけなくても、関連する依頼で自動的に呼び出されます。

詳しい使い方ガイドを見る →
最終更新
2026-05-18
取得日時
2026-05-18
同梱ファイル
1
📖 Claude が読む原文 SKILL.md(中身を展開)

この本文は AI(Claude)が読むための原文(英語または中国語)です。日本語訳は順次追加中。

Blender Compositing

Overview

Build node-based compositing pipelines in Blender using Python. Set up render passes, add post-processing effects (blur, glare, color correction), combine layers, key green screens, and output final composited images — all scriptable from the terminal.

Instructions

1. Enable compositing and set up the node tree

import bpy

scene = bpy.context.scene
scene.use_nodes = True
tree = scene.node_tree
nodes = tree.nodes
links = tree.links
nodes.clear()

# Minimum setup: Render Layers → Composite
rl_node = nodes.new('CompositorNodeRLayers')
rl_node.location = (0, 0)
comp_node = nodes.new('CompositorNodeComposite')
comp_node.location = (600, 0)
links.new(rl_node.outputs['Image'], comp_node.inputs['Image'])

# Optional viewer for preview
viewer = nodes.new('CompositorNodeViewer')
viewer.location = (600, -200)
links.new(rl_node.outputs['Image'], viewer.inputs['Image'])

2. Color correction nodes

# Brightness/Contrast
bc = nodes.new('CompositorNodeBrightContrast')
bc.inputs['Bright'].default_value = 10
bc.inputs['Contrast'].default_value = 20

# Hue/Saturation/Value
hsv = nodes.new('CompositorNodeHueSat')
hsv.inputs['Hue'].default_value = 0.5       # 0.5 = no change
hsv.inputs['Saturation'].default_value = 1.2

# Color Balance (Lift/Gamma/Gain)
cb = nodes.new('CompositorNodeColorBalance')
cb.correction_method = 'LIFT_GAMMA_GAIN'
cb.lift = (0.95, 0.95, 1.0)    # cool shadows
cb.gain = (1.1, 1.05, 1.0)     # warm highlights

# Gamma
gamma = nodes.new('CompositorNodeGamma')
gamma.inputs['Gamma'].default_value = 1.2

3. Filter and effect nodes

# Blur
blur = nodes.new('CompositorNodeBlur')
blur.filter_type = 'GAUSS'
blur.size_x = 10
blur.size_y = 10

# Glare (bloom, streaks, fog glow)
glare = nodes.new('CompositorNodeGlare')
glare.glare_type = 'BLOOM'  # BLOOM, STREAKS, FOG_GLOW, SIMPLE_STAR, GHOSTS
glare.threshold = 0.8
glare.size = 6
glare.quality = 'HIGH'

# Denoise (best placed right after Render Layers)
denoise = nodes.new('CompositorNodeDenoise')

# Sharpen
sharpen = nodes.new('CompositorNodeFilter')
sharpen.filter_type = 'SHARPEN'

4. Combine render passes

# Enable render passes on the view layer
view_layer = bpy.context.view_layer
view_layer.use_pass_diffuse_color = True
view_layer.use_pass_glossy_direct = True
view_layer.use_pass_ambient_occlusion = True
view_layer.use_pass_z = True

# Mix passes: Diffuse * AO
rl = nodes.new('CompositorNodeRLayers')
mix = nodes.new('CompositorNodeMixRGB')
mix.blend_type = 'MULTIPLY'
mix.inputs['Fac'].default_value = 0.5
links.new(rl.outputs['DiffCol'], mix.inputs[1])
links.new(rl.outputs['AO'], mix.inputs[2])

5. Alpha compositing and keying

# Alpha Over — composite foreground over background
alpha_over = nodes.new('CompositorNodeAlphaOver')
alpha_over.inputs['Fac'].default_value = 1.0
# Connect: background → input 1, foreground (with alpha) → input 2

# Keying node — green screen removal
keying = nodes.new('CompositorNodeKeying')
keying.inputs['Key Color'].default_value = (0, 1, 0, 1)
keying.clip_black = 0.1
keying.clip_white = 0.9

# Color Spill — remove green fringing after keying
spill = nodes.new('CompositorNodeColorSpill')
spill.channel = 'G'
spill.limit_method = 'AVERAGE'

6. File output for multi-layer EXR

file_out = nodes.new('CompositorNodeOutputFile')
file_out.base_path = "/tmp/comp_output/"
file_out.format.file_format = 'OPEN_EXR_MULTILAYER'
file_out.file_slots.new("Diffuse")
file_out.file_slots.new("AO")

rl = nodes.get('Render Layers')
links.new(rl.outputs['DiffCol'], file_out.inputs['Diffuse'])
links.new(rl.outputs['AO'], file_out.inputs['AO'])

Examples

Example 1: Cinematic color grade pipeline

User request: "Add a cinematic look — warm highlights, cool shadows, bloom, and vignette"

import bpy

scene = bpy.context.scene
scene.use_nodes = True
tree = scene.node_tree
nodes = tree.nodes
links = tree.links
nodes.clear()

rl = nodes.new('CompositorNodeRLayers')
rl.location = (0, 0)

# Color Balance
cb = nodes.new('CompositorNodeColorBalance')
cb.location = (250, 0)
cb.correction_method = 'LIFT_GAMMA_GAIN'
cb.lift = (0.92, 0.93, 1.0)
cb.gain = (1.15, 1.08, 0.95)
links.new(rl.outputs['Image'], cb.inputs['Image'])

# Bloom
glare = nodes.new('CompositorNodeGlare')
glare.location = (500, 0)
glare.glare_type = 'BLOOM'
glare.threshold = 0.7
glare.size = 7
links.new(cb.outputs['Image'], glare.inputs['Image'])

# Vignette (Ellipse Mask → Blur → Multiply)
ellipse = nodes.new('CompositorNodeEllipseMask')
ellipse.location = (300, -400)
ellipse.width = 0.85
ellipse.height = 0.85
blur_mask = nodes.new('CompositorNodeBlur')
blur_mask.location = (500, -400)
blur_mask.filter_type = 'GAUSS'
blur_mask.size_x = 200
blur_mask.size_y = 200
links.new(ellipse.outputs['Mask'], blur_mask.inputs['Image'])

mix_vig = nodes.new('CompositorNodeMixRGB')
mix_vig.location = (750, 0)
mix_vig.blend_type = 'MULTIPLY'
mix_vig.inputs['Fac'].default_value = 0.6
links.new(glare.outputs['Image'], mix_vig.inputs[1])
links.new(blur_mask.outputs['Image'], mix_vig.inputs[2])

comp = nodes.new('CompositorNodeComposite')
comp.location = (1000, 0)
links.new(mix_vig.outputs['Image'], comp.inputs['Image'])

Example 2: Green screen composite

User request: "Composite my 3D character over a photo background"

import bpy

scene = bpy.context.scene
scene.use_nodes = True
scene.render.film_transparent = True  # Use alpha instead of keying
tree = scene.node_tree
nodes = tree.nodes
links = tree.links
nodes.clear()

rl = nodes.new('CompositorNodeRLayers')
rl.location = (0, 0)
bg_image = nodes.new('CompositorNodeImage')
bg_image.location = (0, -400)
bg_image.image = bpy.data.images.load("/path/to/background.jpg")

alpha_over = nodes.new('CompositorNodeAlphaOver')
alpha_over.location = (400, -100)
links.new(bg_image.outputs['Image'], alpha_over.inputs[1])
links.new(rl.outputs['Image'], alpha_over.inputs[2])

comp = nodes.new('CompositorNodeComposite')
comp.location = (650, -100)
links.new(alpha_over.outputs['Image'], comp.inputs['Image'])

Guidelines

  • Always set scene.use_nodes = True before accessing the compositor node tree.
  • Connect Render Layers → Composite at minimum. Without a Composite node, nothing renders.
  • Enable render passes on the View Layer before they appear as outputs on the Render Layers node.
  • For green screen work, prefer film_transparent = True with Alpha Over instead of Keying when you control the 3D scene.
  • Chain color corrections: exposure/levels first, then color balance, then creative grading.
  • The Denoise node works best placed right after Render Layers, before color adjustments.
  • Use OPEN_EXR_MULTILAYER on File Output to save all passes in one file.
  • Node positions (node.location) are for visual layout only — they don't affect functionality.