---
title: "Estimate GPU seconds before rendering"
method: POST
path: "/v1/estimate"
---

# Estimate GPU seconds before rendering

`POST /v1/estimate`

## Request

- Base URL: `https://render.janction.jp`
- URL: `https://render.janction.jp/v1/estimate`
- Auth: API key in header `X-API-Key`

Same body as POST /v1/jobs. Returns seconds, a human sentence, quota headroom and queue state.

## Headers

- `x-api-key` string, nullable

## Request body

- object
  - `scene_id` string: from POST /v1/files, POST /v1/files/url or an earlier job; or send scene_script / scene_url instead
  - `scene_script` string: the scene as bpy Python code (text), used when scene_id is absent
  - `scene_url` string, uri: https link to a .blend, .py or 3D file, used when scene_id is absent
  - `asset_urls` string[]: extra files with scene_script / scene_url: https links or 'polyhaven:<id>' CC0 assets
  - `kind` 'preview' | 'final' | 'info'
  - `frames` integer[]: preview: 1-4 frame numbers
  - `frame_start` integer
  - `frame_end` integer: final: up to 3,000 frames per call (frame_start..frame_end); longer than 240 runs as parts under one job id
  - `width` integer: final: at most 1920x1080 pixels per frame on free time, 3840x2160 with prepaid credit; preview: scaled to 1280x720
  - `height` integer: final: at most 1920x1080 pixels per frame on free time, 3840x2160 with prepaid credit; preview: scaled to 1280x720
  - `samples` integer
  - `fps` integer
  - `output` 'auto' | 'png' | 'exr' | 'mp4' | 'webm' | 'prores' | 'gif' | 'webp' | 'blend'
  - `camera` string
  - `cameras` string[]
  - `environment` '' | 'studio' | 'sunset' | 'overcast' | 'night' | 'compare'
  - `environment_strength` number
  - `environment_visible` boolean
  - `blender` '' | '5.0' | '5.2'
  - `engine` '' | 'cycles' | 'eevee'
  - `transparent` boolean
  - `orbit` boolean
  - `orbit_frames` integer
  - `orbit_elevation` number
  - `orbit_target` string
  - `orbit_distance` number
  - `preset` '' | 'product' | 'turntable' | 'animation'
  - `max_yen` integer: ceiling for this job; 0 = only if it fits the free time

## Response `200`

Successful Response

- object

## Other responses

- `422`: Validation Error

---

[API](https://skmtc.dev/janction/apis/janction-render-api.md) · [All operations](https://skmtc.dev/janction/apis/janction-render-api/llms.txt) · [OpenAPI document](https://skmtc.dev/janction/apis/janction-render-api/revisions/a633fd52ea1f?raw)
