← 返回
未分类 中文

SynthClaw

Render Blender files with agent-controlled procedural parameters for synthetic data generation. Use when generating training data with controlled variations,...
使用代理控制的程序参数渲染 Blender 文件,用于合成数据生成。适用于生成受控变化的训练数据。
ayakimovich ayakimovich 来源
未分类 clawhub v0.1.3 1 版本 100000 Key: 无需
★ 0
Stars
📥 352
下载
💾 0
安装
1
版本
#latest

概述

When to Use

  • Generate synthetic training data with controlled parameter variations
  • Create procedural image datasets with ground truth metadata
  • Automate rendering workflows for ML training data
  • When you need parameter-sweep renders without manual Blender interaction

When NOT to Use

  • Real-time rendering or interactive preview needs (this is batch/offline)
  • Complex scene manipulation beyond Value Node adjustments
  • If Blender is not installed or unavailable in PATH

Requirements

  • Blender 4.0+ installed and available in $PATH
  • Python 3.10+ for the synthclaw package
  • Cycles or EEVEE render engine (auto-selected)

Configuration

No additional configuration required. Ensure blender command is available:

blender --version

Tools

render_procedural_scene

Adjusts procedural Value Nodes and renders a frame in Blender.

Parameters:

  • blend_file (string, required): Absolute path to the .blend file
  • parameters (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:

  • On success: {"status": "success", "output": "/path/to/output.png", "log": "...", "engine": "CYCLES", "samples": 128, "metrics": {"naturalness_mean": 0.85, "lpips_alex": 0.12}}
  • On error: {"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"
}

render_procedural_scene_fast

Convenience function for fast EEVEE rendering. Same as render_procedural_scene with engine="EEVEE".

Parameters:

  • blend_file (string, required): Absolute path to the .blend file
  • parameters (object, required): Key-value pairs of Value Node names and float values
  • output_path (string, required): Where to save the rendered image

render_procedural_scene_production

Convenience 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 file
  • parameters (object, required): Key-value pairs of Value Node names and float values
  • output_path (string, required): Where to save the rendered image
  • samples (integer, optional): Cycles samples (default: 512)

analyze_blend

Analyzes a .blend file and returns available Value Nodes that can be manipulated.

Parameters:

  • blend_file (string, required): Absolute path to the .blend file

Returns: Dict containing status, a complexity object evaluating scene realism, and value_nodes (available parameter names with current values).

Engine Comparison

FeatureCYCLESEEVEE
------------------------
QualityPhotorealisticReal-time
SpeedSlow (minutes)Fast (seconds)
Timeout30 minutes1 minute
Use caseProductionTesting
SamplesConfigurableN/A

Safety & Limitations

  • Headless execution: Blender runs with -b flag for security
  • Parameter validation: Only float values accepted; non-numeric input is rejected
  • No shell injection: Uses subprocess.run(shell=False) with -- separator
  • CPU fallback: Automatically uses CPU rendering for Cycles if no GPU available
  • Timeout protection: Long renders are killed after timeout to prevent hanging

Files

FilePurpose
---------------
src/synthclaw/blender_skill.pyOpenClaw execution wrapper with engine selection
scripts/agent_bridge.pyBlender-side Python script (handles both engines)
scripts/analyze_blends.pyBlender-side analysis script
config/render_schema.jsonTool schema for LLM function calling
config/analyze_schema.jsonSchema for blend file analysis

Example Workflow

  1. User: "Render with grain scale increased and surface rougher"
  2. Agent calls analyze_blend to see available parameters
  3. Agent calls render_procedural_scene_fast (EEVEE) for quick preview
  4. If preview looks good, agent calls render_procedural_scene_production (CYCLES) for final output
  5. Render completes, path returned to user

Version

Compatible with Blender 4.0+. Not backwards compatible with 2.7x.

版本历史

共 1 个版本

  • v0.1.3 当前
    2026-05-03 11:04 安全 安全

安全检测

腾讯云安全 (Keen)

安全,无风险
查看报告

腾讯云安全 (Sanbu)

安全,无风险
查看报告

🔗 相关推荐

ai-agent

Self-Improving + Proactive Agent

ivangdavila
自我反思+自我批评+自我学习+自组织记忆。智能体评估自身工作、发现错误并持续改进。
★ 1,379 📥 320,475
dev-programming

Github

steipete
使用 `gh` CLI 与 GitHub 交互,通过 `gh issue`、`gh pr`、`gh run` 和 `gh api` 管理议题、PR、CI 运行及高级查询。
★ 676 📥 325,463
ai-agent

self-improving agent

pskoett
捕获经验教训、错误及修正内容,以实现持续改进。适用于以下场景:(1)命令或操作意外失败;(2)用户纠正Claude(如“不,那不对……”“实际上……”);(3)用户请求的功能不存在;(4)外部API或工具出现故障;(5)Claude发现自身
★ 4,082 📥 810,505