01
Product teams
Ship depth-aware features without exposing provider credentials.
Depth map API
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.
Live manufacturing workbench
Three free AI previews per day. Source checks, editing, 3D preview, and compatibility exports are free.
Choose a source image to begin.
Server-to-server only
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
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
Ship depth-aware features without exposing provider credentials.
02
Add preprocessing to batch and user-generated workflows.
03
Validate demand before self-hosting a dedicated model.
01
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
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
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
Check source contrast, edge detail, border clutter, and resolution before an AI call is trusted.
Adjust the subject mask, background, curve, detail, smoothing, taper, frame, and real dimensions for free.
Compare beam or tool size, tonal slices, slope, base, manifold topology, and bounding box with the real setup.
Approve one successful production job only after the free 2D and 3D previews earn acceptance.
Download one verified ZIP and inspect it in LightBurn, CAM, or a slicer before committing production material.
Choose by next action
| Output | Use it for | It does not guarantee | Cost |
|---|---|---|---|
| 8-bit PNG | Preview, mask, laser and compositing tests | Physical scale or machine settings | Free |
| Compatible 16-bit PNG | Compatibility with grayscale depth workflows | Additional source precision | Free |
| Preview STL | Low-cost scale and import checks | Printability, tool reach, or safe G-code | Free |
| Production job bundle | Raw EXR, true 16-bit pair, STL, preview and manifest | Hidden surfaces or certified metric truth | 1 credit |
Straight answers
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.
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.
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.
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.