Skip to content
DepthCarve

Depth map API

A depth map API with explicit cost and failure boundaries

Send a compressed image data URI, receive a temporary depth-map URL, and account for every request with an API key and a credit ledger. Built for controlled integration, not hidden browser secrets.

  • Server-side scoped API keys
  • One credit per successful request
  • Automatic provider-failure refund
depth map api preview with a grayscale field and carved relief surface
Preview → range → production file

Live manufacturing workbench

Upload a photo. Preview the depth. Download your file.

Three free AI previews per day. Source checks, editing, 3D preview, and compatibility exports are free.

Sample relief depth preview

Choose a source image to begin.

Server-to-server only

One bounded request contract

Create a key in your Production account, compress the image on a trusted backend, and copy the temporary response file immediately. Use this API for a visual depth preview in your own pipeline. Do not use it for certified metric depth, G-code, or unattended machining. Machine-readable contract: /api/openapi.json. Agents can send Accept: text/markdown.

curl https://depthcarve.com/api/v1/depth-map \
  --request POST \
  --header "Authorization: Bearer $DEPTHCARVE_API_KEY" \
  --header "Content-Type: application/json" \
  --data '{"imageDataUri":"data:image/webp;base64,..."}'

Maximum compressed data URI: 1.5 MB. Rate limit: 60 requests per minute. One successful request costs one credit; provider failure returns it.

Real work, real failure cost

Built around the people who pay for a bad output

The useful product is not the model call. It is the review loop that catches a reversed field, a noisy border, or an impossible relief before the next tool turns that mistake into wasted time.

01

Product teams

Ship depth-aware features without exposing provider credentials.

02

Creative platforms

Add preprocessing to batch and user-generated workflows.

03

3D pipeline teams

Validate demand before self-hosting a dedicated model.

01

The request contract, stated plainly

Send JSON to POST /api/v1/depth-map with an Authorization: Bearer header and a single imageDataUri field. The value must be a compressed PNG, JPEG, or WebP data URI under 1.5 MB, and it is validated before any provider call is made. A request that fails validation costs nothing and creates no job.

A successful call returns a job identifier, a status, and a temporary depth-map URL. That URL is hosted by the inference provider and expires, so a production integration copies the bytes into its own authorised storage during the request rather than handing the link to a user or writing it to a queue that may run hours later.

02

Cost, limits, and what happens when a provider fails

One credit is debited per successful request, and the ledger records each movement with a unique reference so a retry or a duplicated callback cannot debit or refund twice. Requests are rate limited per key, and a rejected request does not consume credit. New accounts include one welcome credit, which is enough to test a real integration path rather than a toy payload.

When the upstream provider reports a failure, the debit is returned automatically. The distinction that matters operationally is between a technical failure and a completed estimate you did not like: a refund covers the first, never the second. Build your retry logic around that boundary instead of retrying an unsuitable image.

03

Integration hygiene that prevents most incidents

Keys are shown once and stored only as hashes, so a lost key is rotated rather than recovered. Keep them on the server: a live key in a browser bundle, a mobile binary, or a public repository is equivalent to publishing it. Compress and resize images in your own trusted backend before sending, and set a client timeout so a stalled request does not hold a worker open.

Record the job identifier alongside your own request identifier. When a user reports a bad result, that pair is what lets you retrieve the exact input fingerprint and job state without storing the source image, which DepthCarve deliberately does not keep.

Five bounded stages

A file moves forward only after it earns approval

  1. 1

    Inspect

    Check source contrast, edge detail, border clutter, and resolution before an AI call is trusted.

  2. 2

    Shape

    Adjust the subject mask, background, curve, detail, smoothing, taper, frame, and real dimensions for free.

  3. 3

    Check

    Compare beam or tool size, tonal slices, slope, base, manifold topology, and bounding box with the real setup.

  4. 4

    Approve

    Approve one successful production job only after the free 2D and 3D previews earn acceptance.

  5. 5

    Transfer

    Download one verified ZIP and inspect it in LightBurn, CAM, or a slicer before committing production material.

Choose by next action

The formats are not interchangeable

OutputUse it forIt does not guaranteeCost
8-bit PNGPreview, mask, laser and compositing testsPhysical scale or machine settingsFree
Compatible 16-bit PNGCompatibility with grayscale depth workflowsAdditional source precisionFree
Preview STLLow-cost scale and import checksPrintability, tool reach, or safe G-codeFree
Production job bundleRaw EXR, true 16-bit pair, STL, preview and manifestHidden surfaces or certified metric truth1 credit

Straight answers

Questions before you commit a file

How do I authenticate to the Depth Map API?

Create an API key from a Production account and send it as Authorization: Bearer dc_live_… from your server. Keys are shown once and stored only as hashes.

What happens if the inference provider fails?

The credit is returned automatically with a unique reference. A completed estimate that is visually unsuitable is not a provider failure and is not refunded, which is why the free preview path exists.

Is there a rate limit, and can I batch?

Requests are limited per key and counted through the same ledger as interactive use. Batch by queueing requests with bounded concurrency and honouring the rate-limit response instead of retrying immediately.

Do you store my images?

The database stores job state, an input fingerprint, and credit entries, not the source file. Provider output links expire, so copy anything you need to keep.

Preview the idea. Pay for usable output.

Start without an account. When a professional format earns approval, use the welcome credit or choose a pack that matches the shop's workload.