---
title: "Estimate External Edit Tool"
method: POST
path: "/edit/tools/{tool_id}/estimate"
tags: ["edit"]
---

# Estimate External Edit Tool

`POST /edit/tools/{tool_id}/estimate`

## Request

- Base URL: `https://api.retrodiffusion.ai/v2`
- URL: `https://api.retrodiffusion.ai/v2/edit/tools/{tool_id}/estimate`
- Auth: none declared. Required headers: `X-RD-Token`

## Path parameters

- `tool_id` string, required

## Headers

- `X-RD-Token` string, required

## Request body

- ExternalEditToolRunInput: Public /v1 edit-tool input. Snake case is canonical for consistency with /v1/inferences. The pre validator keeps the original camelCase contract working while callers migrate. Internal app-only payloads continue to use EditToolRunInput.
  - `input_image` string, required
  - `prompt` string
  - `seed` integer
  - `mask_image` string
  - `expand_left` integer
  - `expand_right` integer
  - `expand_top` integer
  - `expand_bottom` integer
  - `outpaint_context_left` integer
  - `outpaint_context_top` integer
  - `color_count` integer
  - `dithering` boolean
  - `dither_mode` string
  - `dither_strength` number
  - `input_palette` string
  - `extra_input_image` string
  - `width` integer
  - `height` integer
  - `tile_x` boolean
  - `tile_y` boolean
  - `seam_width` integer
  - `seam_debug_return_raw_output` boolean
  - `seam_debug_return_shifted_output` boolean
  - `repair_window_size` integer
  - `rotation_degrees` number
  - `force_solid_pixels` boolean
  - `soft_inpaint` boolean
  - `transparency_threshold` integer
  - `output_image` string
  - `custom_id` string
  - `scheduled_region_mode` boolean
  - `scheduled_region_quality` string
  - `region_plan` object
  - `scheduled_region_job_id` integer

## Response `200`

Successful Response

- ExternalEditToolEstimateOutput
  - `tool_id` string, required
  - `balance_cost` number
  - `credit_cost` integer
  - `estimate_seconds` integer, required
  - `scheduled_region_summary` object
  - `region_plan` object
  - `toolId` string, required
  - `balanceCost` number
  - `creditCost` integer
  - `estimateSeconds` integer, required
  - `scheduledRegionSummary` object
  - `regionPlan` object

## Other responses

- `400`: Bad Request
- `401`: Unauthorized
- `403`: Forbidden
- `404`: Not Found
- `405`: Method not allowed.
- `422`: Validation Error
- `500`: Internal Server Error

---

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