Install
openclaw skills install synthclawRender Blender files with agent-controlled procedural parameters for synthetic data generation. Use when generating training data with controlled variations,...
openclaw skills install synthclaw$PATHNo additional configuration required. Ensure blender command is available:
blender --version
Adjusts procedural Value Nodes and renders a frame in Blender.
Parameters:
blend_file (string, required): Absolute path to the .blend fileparameters (object, required): Key-value pairs of Value Node names and float values (e.g., {"GrainScale": 2.5, "Roughness": 0.3})output_path (string, required): Where to save the rendered image (e.g., /path/to/output.png)samples (integer, optional): Cycles samples (default: 128). Ignored for EEVEE.engine (string, optional): Render engine - "CYCLES" (default) or "EEVEE"timeout (integer, optional): Custom timeout in seconds. Defaults: 1800 for CYCLES, 60 for EEVEE.reference_image (string, optional): Complete path to a real-world reference image. Used for computing LPIPS similarity and Naturalness Delta.compute_metrics (boolean, optional): Set to true to compute Naturalness/LPIPS metrics after rendering. Default false.Returns:
{"status": "success", "output": "/path/to/output.png", "log": "...", "engine": "CYCLES", "samples": 128, "metrics": {"naturalness_mean": 0.85, "lpips_alex": 0.12}}{"status": "error", "message": "..."}Examples:
Production quality (CYCLES):
{
"blend_file": "/home/user/project/assets/test.blend",
"output_path": "/home/user/output/render_01.png",
"parameters": {
"GrainScale": 3.0,
"DisplacementStrength": 1.5
},
"engine": "CYCLES",
"samples": 256
}
Fast testing (EEVEE):
{
"blend_file": "/home/user/project/assets/test.blend",
"output_path": "/home/user/output/test_render.png",
"parameters": {
"GrainScale": 3.0
},
"engine": "EEVEE"
}
Convenience function for fast EEVEE rendering. Same as render_procedural_scene with engine="EEVEE".
Parameters:
blend_file (string, required): Absolute path to the .blend fileparameters (object, required): Key-value pairs of Value Node names and float valuesoutput_path (string, required): Where to save the rendered imageConvenience function for production Cycles rendering. Same as render_procedural_scene with engine="CYCLES" and higher samples.
Parameters:
blend_file (string, required): Absolute path to the .blend fileparameters (object, required): Key-value pairs of Value Node names and float valuesoutput_path (string, required): Where to save the rendered imagesamples (integer, optional): Cycles samples (default: 512)Analyzes a .blend file and returns available Value Nodes that can be manipulated.
Parameters:
blend_file (string, required): Absolute path to the .blend fileReturns: Dict containing status, a complexity object evaluating scene realism, and value_nodes (available parameter names with current values).
| Feature | CYCLES | EEVEE |
|---|---|---|
| Quality | Photorealistic | Real-time |
| Speed | Slow (minutes) | Fast (seconds) |
| Timeout | 30 minutes | 1 minute |
| Use case | Production | Testing |
| Samples | Configurable | N/A |
-b flag for securitysubprocess.run(shell=False) with -- separator| File | Purpose |
|---|---|
src/synthclaw/blender_skill.py | OpenClaw execution wrapper with engine selection |
scripts/agent_bridge.py | Blender-side Python script (handles both engines) |
scripts/analyze_blends.py | Blender-side analysis script |
config/render_schema.json | Tool schema for LLM function calling |
config/analyze_schema.json | Schema for blend file analysis |
analyze_blend to see available parametersrender_procedural_scene_fast (EEVEE) for quick previewrender_procedural_scene_production (CYCLES) for final outputCompatible with Blender 4.0+. Not backwards compatible with 2.7x.