Skip to content

Pixelcut Product Photo

Integrate

Model id pixelcut/product-photo
# Run the model; wait up to 20 s for the finished result in the same call
curl -X POST "https://api.doitong.com/v1/run/pixelcut/product-photo?wait=20" \
  -H "Authorization: Bearer $DOITONG_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "image": "https://content.doitong.com/images/showcase/v3/gen_fox_cartoon.jpg"
  }'

# Still "queued" or "running"? Poll with the id from the response:
curl "https://api.doitong.com/v1/requests/REQUEST_ID?wait=20" \
  -H "Authorization: Bearer $DOITONG_API_KEY"

This request: $0.024 24 API credits Run it on this page

Get API key
Pixelcut Image Editing #utility#editing

Product image compositor: cuts out the item and places it on a new canvas with background, margins and shadow

Pixelcut · Image

Your first result goes here

Build a request below and run it with your API key. Outputs are copied to our storage, kept forever or 7 days for free.

Build a request

Controls are generated from the model schema. The code and the price update as you change them.

•required image_url
Drop a file, or

Product image URL for processing.

image_size default square_hd

Dimensions of the output canvas, specified as custom {width, height} or a preset: square_hd, square, portrait_4_3, portrait_16_9, landscape_4_3, landscape_16_9. The default is square_hd (1024x1024).

Advanced output_format · background · margin · shadow · watermark
output_format

Output image encoding, chosen from PNG or JPEG, with JPEG unavailable for transparent backgrounds. Omitting the selection preserves the input's format.

Background for the output: an image, transparency, or a solid color that defaults to white.

Space between the product and canvas edges. Use `all` to set every margin, with optional overrides for individual sides; the default is 20% per side.

Shadow configuration: select 'Generative' or 'Drop' and configure its settings. Leave unset to apply no shadow.

Logo or watermark overlay enabled by supplying an image; omitting it leaves the output unwatermarked, as it is by default.

POST /run/pixelcut/product-photo?wait=20 quote → $0.024
# Run the model; wait up to 20 s for the finished result in the same call
curl -X POST "https://api.doitong.com/v1/run/pixelcut/product-photo?wait=20" \
  -H "Authorization: Bearer $DOITONG_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "image": "https://content.doitong.com/images/showcase/v3/gen_fox_cartoon.jpg"
  }'

# Still "queued" or "running"? Poll with the id from the response:
curl "https://api.doitong.com/v1/requests/REQUEST_ID?wait=20" \
  -H "Authorization: Bearer $DOITONG_API_KEY"

Run this request

Your key stays in this browser: it is sent only to the Doitong API and saved (localStorage) only if you tick Remember. Get an API key

About Pixelcut Product Photo

Processes a product photo into a catalog-style image. You can set the canvas with `image_size` presets or custom dimensions, choose a solid, transparent or image `background`, and adjust `margin`. A generative or drop `shadow` and an optional `watermark` overlay are available. Output is png or jpeg, and jpeg cannot be used with a transparent background.

Parameters

Send either the canonical name or the native name, not both. Canonical names

NameType DefaultAllowed Description
image_urlrequired image
Typeurl · image
Product image URL for processing.
image_sizeoptional
Typeobject
Defaultsquare_hd
square_hdsquareportrait_4_3portrait_16_9landscape_4_3landscape_16_9
Dimensions of the output canvas, specified as custom {width, height} or a preset: square_hd, square, portrait_4_3, portrait_16_9, landscape_4_3, landscape_16_9. The default is square_hd (1024x1024).
backgroundoptional
Typeobject
Background for the output: an image, transparency, or a solid color that defaults to white.
background.modeoptional
Typeenum
DefaultColor
TransparentColorImage
Background mode: 'Color' uses `color`, defaulting to white; 'Transparent' produces transparency and always uses PNG; 'Image' composites the result over `image_url`.
background.coloroptional
Typeobject
Default{"b":255,"g":255,"r":255}
Solid background fill for 'Color' mode, white by default, specified through R/G/B components ranging from 0 to 255.
background.color.rrequired
Typeinteger
0 – 255
background.color.grequired
Typeinteger
0 – 255
background.color.brequired
Typeinteger
0 – 255
background.image_urloptional
Typeurl · image
URL for the background image; mandatory in 'Image' mode.
background.image_fitoptional
Typeenum
DefaultCover
CoverContainStretch
Choose how to fit the background image to the canvas. 'Contain' preserves a fitted image with letterboxing over `color`, while 'Stretch' uses distortion to fit; 'Cover' fills the canvas by cropping.
marginoptional
Typeobject
Space between the product and canvas edges. Use `all` to set every margin, with optional overrides for individual sides; the default is 20% per side.
margin.alloptional
Typestring
Default20%
Uniform margin on every side, specified as '%' of the canvas dimension, from 0 to 49%, or in 'px' with a minimum of 0px.
margin.leftoptional
Typestring | null
Left margin replacing `all` on that side. Accepts '%' from 0 to 49%, or 'px' at 0px or above.
margin.rightoptional
Typestring | null
Right margin replacing `all` on that side. Accepts '%' from 0 to 49%, or 'px' at 0px or above.
margin.topoptional
Typestring | null
Top margin replacing `all` on that side. Accepts '%' from 0 to 49%, or 'px' at 0px or above.
margin.bottomoptional
Typestring | null
Bottom margin replacing `all` on that side. Accepts '%' from 0 to 49%, or 'px' at 0px or above.
shadowoptional
Typeobject
Shadow configuration: select 'Generative' or 'Drop' and configure its settings. Leave unset to apply no shadow.
shadow.typeoptional
Typeenum
GenerativeDrop
Optional shadow style, with no shadow when unset. Choose 'Generative' for AI synthesis or 'Drop' for a deterministic drop shadow.
shadow.generativeoptional
Typeobject
Settings for the AI-generated shadow, applied when the type is 'Generative'.
shadow.generative.opacityoptional
Typenumber
Default0.2
0 – 1
Opacity of the fully composited shadow, from 0 to 1.
shadow.generative.light_sourceoptional
Typeobject
Explicit virtual light source for shadow synthesis, replacing the automatic estimate of light direction from the image when supplied.
shadow.dropoptional
Typeobject
Settings for the drop shadow, applied when the type is 'Drop'.
shadow.drop.coloroptional
Typeobject
Default{"b":0,"g":0,"r":0}
RGB color for the shadow; black is the default.
shadow.drop.horizontaloptional
Typenumber
Default50
-100 – 100
Horizontal shadow displacement, where the maximum setting of 100 represents 10% of canvas width. Values range from -100 to 100, with negative settings shifting left and positive settings shifting right.
shadow.drop.verticaloptional
Typenumber
Default8
-100 – 100
Vertical shadow displacement, where the maximum setting of 100 represents 10% of canvas height. Values range from -100 to 100, with negative settings shifting up and positive settings shifting down.
shadow.drop.bluroptional
Typenumber
Default24
0 – 100
Shadow blur setting, with maximum softness at 100 corresponding to a radius of 5% of the shorter canvas dimension. The range starts at 0, which leaves the edges hard.
shadow.drop.opacityoptional
Typenumber
Default0.25
0 – 1
Opacity of the shadow, from 0 to 1.
watermarkoptional
Typeobject
Logo or watermark overlay enabled by supplying an image; omitting it leaves the output unwatermarked, as it is by default.
watermark.image_urloptional
Typeurl · image
URL for the logo or watermark image. An empty value leaves the output without a watermark.
watermark.remove_backgroundoptional
Typeboolean
Defaultfalse
Whether to strip the watermark's background using background removal so that the overlay excludes it.
watermark.positionoptional
Typeenum
Defaultbottom_right
top_lefttop_rightbottom_leftbottom_rightcenter
Placement of the watermark.
watermark.scaleoptional
Typenumber
Default0.1
0.01 – 1
Width of the watermark, expressed as a fraction of canvas width.
watermark.opacityoptional
Typenumber
Default1
0 – 1
Opacity of the watermark, from 0 to 1.
watermark.marginoptional
Typestring
Default3%
Distance inward from the canvas edge, expressed as '%' of the canvas (0–49%) or in 'px'.
output_formatoptional
Typeenum
pngjpeg
Output image encoding, chosen from PNG or JPEG, with JPEG unavailable for transparent backgrounds. Omitting the selection preserves the input's format.
required Canonical name, also accepted

File parameters take a public https:// URL, a data: URI up to 10 MB, or the file_url of an upload. Files

Output

GET /requests/req_8k2m4q7x1z9c3v5b6n0p2r4t
{
  "id": "req_8k2m4q7x1z9c3v5b6n0p2r4t",
  "object": "request",
  "model": "pixelcut/product-photo",
  "status": "succeeded",
  "created_at": "2026-10-20T12:00:00Z",
  "started_at": "2026-10-20T12:00:02Z",
  "completed_at": "2026-10-20T12:00:09Z",
  "queue_position": null,
  "cost": {
    "credits": 24,
    "usd": "0.024",
    "charged": 24,
    "refunded": 0
  },
  "input": {
    "image_url": "https://content.doitong.com/images/showcase/v3/gen_fox_cartoon.jpg"
  },
  "output": {
    "image": {
      "url": "https://content.doitong.com/dev-api/2026/10/20/req_8k2m4q7x1z9c3v5b6n0p2r4t/0-output.jpeg",
      "content_type": "image/jpeg",
      "file_name": "0-output.jpeg",
      "file_size": 1843200,
      "width": 1024,
      "height": 768
    }
  },
  "outputs": [
    {
      "type": "image",
      "url": "https://content.doitong.com/dev-api/2026/10/20/req_8k2m4q7x1z9c3v5b6n0p2r4t/0-output.jpeg",
      "content_type": "image/jpeg",
      "file_size": 1843200,
      "width": 1024,
      "height": 768,
      "stored": true
    }
  ],
  "error": null,
  "metrics": {
    "inference_seconds": 6.8
  },
  "urls": {
    "self": "https://api.doitong.com/v1/requests/req_8k2m4q7x1z9c3v5b6n0p2r4t",
    "cancel": "https://api.doitong.com/v1/requests/req_8k2m4q7x1z9c3v5b6n0p2r4t/cancel"
  }
}
Your files, your choiceEvery outputs[].url is a copy on our storage: kept forever (paid per GB-month) or 7 days for free, by your account setting or ?storage=.
Same shape on every modeltype, url, content_type, width, height and duration, for images, video and audio alike. output is the model’s own result object.
Fields of output
image
object {url, content_type, file_name, file_size, width, height} | nullProduct photograph prepared for catalog use.

More models: Image Editing

For AI agents: this page as Markdown is at https://doitong.com/developers/models/pixelcut/product-photo.md. All models and guides: https://doitong.com/developers/llms.txt