Backbone LabDocs
Base pipelinev1.1.0

Auto HDR

Merge 1-5 exposure brackets of one scene into a single, naturally balanced image — bright windows pulled back, dark interiors lifted. HDR merge is automatic: send more than one input on any order and the brackets are aligned and merged before everything else.

Auto HDR preview

Ordering

Submit an order with POST /v1/orders — or one call of SDK. The snippets below cover upload, order, live progress and download using SDK 1.1.0 or Bash with curl and jq. See the SDK installation notes.

POST/v1/orders
import { BkbnClient } from '@bkbnlab/api'

const bkbn = new BkbnClient()            // reads BKBNLAB_API_KEY

const photos = await Promise.all(
  ['bracket-1.jpg', 'bracket-2.jpg', 'bracket-3.jpg'].map((f) => bkbn.upload(f)),
)

const order = await bkbn.order({
  inputs: photos,
  perspective: true,
  tonecraft: true,
})

const result = await order.wait({
  onProgress: (p) => console.log(p.stage, p.percent),
})
await result.save('result.jpg')

Options

These are REST request fields, alongside inputs. Defaults apply when neither an explicit value nor a selected preset supplies that setting. Shared delivery options are documented under Enhancer.

OptionTypeDescription
alignbooleanAlign brackets before the HDR merge. Default: true.
formatenumDelivery format. Options: jpeg, png, webp. Default: jpeg.
qualityintegerJPEG/WebP encoding quality. This controls delivery compression, not the generation tier. Range: 1100. Default: 92.

Presets and overrides

List the active public presets and presets available to your API key:

curl -fsS "https://api.bkbn.ai/v1/presets?feature=tonecraft" \
  -H "X-API-Key: $BKBNLAB_API_KEY" | jq '.data.presets'

Read data.presets and use a preset's key, rather than its display name or UUID. For a custom look, contact us.

With REST, set tonecraft: true and choose the look with tonecraft_profile. If the profile is omitted, the look is signature. Explicit tonecraft_levels and tonecraft_sharpen override the selected preset, including when set to false; omit them to use the preset's settings. JavaScript also accepts a preset key or an options object in tonecraft, as shown in the example.

In a batch, an omitted scene option inherits the batch value; an explicit scene value overrides it. Preset resolution then uses those merged options. See Batches.

Inputs and outputs

inputs takes 1-5 ready, uploaded asset ids owned by your key — the exposure brackets of one scene. Magic Eraser takes exactly one image plus a mask. The completed order carries one outputAssetId. Authenticated GET /v1/assets/:id returns data.url and data.expiresIn; fetch the signed URL without your API key to download the bytes. Output ids cannot currently be reused as order inputs.

Before / After

Drag the slider to compare input and output. Switch between examples below.

BEFORE
AFTER

Versioning

This page documents recipe develop@1.1.0. The live catalog — every feature, its version and parameters — is public at GET /v1/features. Minor bumps improve quality without changing the interface.

See also

  • Batches — run a whole shoot in one call, with per-scene overrides.
  • Streaming — WebSocket and SSE progress in detail.