Create render
render_createRender a still PNG from a revision through the active camera. engine=cycles_cpu (default) is photoreal and slow; engine=lit_preview uses the scene materials, lights and world in EEVEE for cheaper look development; its shading can differ, especially for transmission. Use it to judge a material or a light rig, and use Cycles for final appearance or transmission checks. engine=preview_fast (Workbench) ignores materials and lighting entirely and only answers questions about shape and layout. Big renders fan out across parallel containers automatically (horizontal strips, stitched server-side); shards=1 forces one instance. The speedup is bounded by your maxConcurrentJobs — strips beyond it would render one after another and pay a container boot each, so the fan-out width is CLAMPED to that policy and the response tells you when it was reduced. Renders above the approval threshold require an approval round-trip. Cycles renders of 16+ samples are DENOISED with OpenImageDenoise and use adaptive sampling, so the sample count is a ceiling rather than a bill and modest counts look far cleaner than they otherwise would; override with the render_settings.update denoise flag. hideObjectIds/hideNamePattern omit objects from THIS RENDER ONLY, with no revision and nothing to undo — that is how you isolate a suspect ("render it without the crystal") in one job instead of bisecting by guesswork. LIGHTS ARE OBJECTS and can be hidden the same way, so hiding all but one is how you find which light is blowing out a highlight — the standard lighting-debug move, and it needs no separate parameter. Returns a durable job handle; the finished PNG is an immutable artifact. purpose=draft preserves existing behavior. purpose=final requires validationJobId from a completed successful deep scene_validate of the exact resolved project revision before any render is queued. Wait for validation, read the full report with job_report, repair/revalidate if needed, then pass that proof. This never starts validation automatically.
Input Schema
| Name | Required | Description | Default |
|---|---|---|---|
| width | No | ||
| engine | No | cycles_cpu = photoreal final. lit_preview = EEVEE, honours materials/lights/world for look development. preview_fast = Workbench, shape only, ignores all shading. EEVEE transmission depends on the scene settings and does not establish Cycles equivalence. Use cycles_cpu when judging glass or seeing through a surface. | cycles_cpu |
| height | No | ||
| shards | No | Parallel fan-out width. 0 (default) decides from render cost; 1 forces a single instance; 2-8 requests that many strips. Any value here is CLAMPED to maxConcurrentJobs: strips past your concurrency cannot overlap, so they would render one after another and add a container boot each, which is slower than shards=1. The response reports the reduction when it happens. | |
| purpose | No | draft | |
| samples | No | ||
| cameraId | No | ||
| projectId | Yes | Stable project ID returned by project_create or projects_list. | |
| revisionId | No | "HEAD" (default) uses the project's current head | HEAD |
| hideObjectIds | No | ||
| idempotencyKey | Yes | Stable caller-chosen key for safe retries of this same request. | |
| hideNamePattern | No | ||
| validationJobId | No | Required for purpose=final: completed passing deep-validation job for this exact project/revision. Known profiles are accepted; the response states that profile and its coverage. | |
| transparentBackground | No |