Estimate render time
render_estimateEstimate a render before starting it (no GPU time): GPU seconds, queue wait, the wall-clock time as text (estimate.human, e.g. 'about 3 minutes') and whether it fits the free GPU time left (the welcome credit, or 2 preview GPU-minutes a day after it) and the size limits. Call it before render_final when the time or quota is uncertain, the job is longer than about 24 frames or above 720p, or the user asks how long it takes; tell the user the result. With scene_id the estimate uses measured render times and returns calibration.final_path_measured and tell_user / tell_user_ja, the one sentence to give the user (time and price). If final_path_measured is false the sentence says it is an unmeasured figure: do not present it as the time the final will take; run a short contiguous final-path test and estimate again before the full animation. It also says when to split a job.
Tool call template
This tool declares no required parameters. Add optional parameters from the input schema as needed.
{
"id": 1,
"jsonrpc": "2.0",
"method": "tools/call",
"params": {
"arguments": {},
"name": "render_estimate"
}
}Input Schema
| Name | Required | Description | Default |
|---|---|---|---|
| kind | No | 'final' (frame_start..frame_end at width x height, samples) or 'preview' (frames like '1-24'). | final |
| test | No | Animations: 'contiguous' renders only test_frames frames from frame_start (default 10) and 'spread' only the first, middle and last frame, with exactly the settings of this final, billed like any final. The reply's final_test then gives the GPU seconds per frame, a check of the frames (black, broken, repeated), a contact sheet and the full range estimated again from this measurement, plus render_final_args to render the full range after the user agrees (the test frames are reused). Leave empty to render the whole range. | |
| width | No | Output width in pixels (previews are capped at 1280x720 keeping the aspect ratio; a final frame can have at most 1920x1080 pixels on free time, 3840x2160 on prepaid credit). | |
| frames | No | Preview frames: '' = frame 1; '12' = one frame; '1,8,16,24' or '1-24' = up to 4 frames tiled in one labeled image (to judge camera motion and animation; same GPU time as one 720p frame). | |
| height | No | Output height in pixels (previews are capped at 1280x720 keeping the aspect ratio; a final frame can have at most 1920x1080 pixels on free time, 3840x2160 on prepaid credit). | |
| preset | No | Purpose preset: 'product' (4 studio shots at 0/90/180/270 deg on a plain backdrop; the final gives 4 PNGs at 1440x1440), 'turntable' (one full turn as an MP4, studio light, plain backdrop), 'animation' (the scene's own camera, lights and frame range; the scene is read first when the range is unknown), or '' (none). It fills what you do not pass; environment, orbit_frames, width/height and the frames still win when given. | |
| cameras | No | Several camera object names (up to 8) rendered from the same frame in one job: the preview tiles them in one labeled sheet, the final returns one PNG/EXR per camera (camera_files maps names to files). For product shots from fixed angles. Not combinable with orbit, environment='compare' or camera. | |
| samples | No | Cycles samples per pixel (preview: up to 32, default 16; final: default 128). | |
| scene_id | No | scene_id returned by an earlier call (reuses the uploaded scene without sending it again). | |
| settings | No | 'scene' (final, .blend): render with the .blend's own resolution (with its percentage), samples, fps, engine and frame range; width, height, samples, fps and frame_start/frame_end left at their defaults (1920, 1080, 128, 24, 1/1) are taken from the scene, other values you pass win. The reply lists what the service still changes (scene_settings.overrides). Leave empty for the service defaults. | |
| frame_end | No | Last frame to render (inclusive); equal to frame_start for a single image. With orbit=True and no frame_end, one full turn is rendered. | |
| variations | No | 2-8 variants of the same frame, each {label, environment, environment_strength, camera, colors}; rendered in parallel and tiled in one sheet labelled A, B, ... Leave empty for a normal preview. | |
| frame_start | No | First frame to render (inclusive). | |
| probe_frame | No | With auto_samples: the frame to test (0 = the middle frame). | |
| test_frames | No | test='contiguous': how many frames from frame_start to test (1-24, default 10; 0 = default). | |
| auto_samples | No | True (final, Cycles, 100 frames or more): a small test render of one frame picks the lowest samples, up to samples, that looks the same as samples; billed like a preview. A shorter final skips the test and renders at samples (the reply's auto_samples.summary says so). render_estimate with it shows the test's cost and the saving. |
Output Schema
| Name | Required | Description | Default |
|---|---|---|---|
| result | Yes |