Skip to content

PhotoMaker

Integrate

Model id photomaker
# 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/photomaker?wait=20" \
  -H "Authorization: Bearer $DOITONG_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "image_archive_url": "https://content.doitong.com/images/showcase/v3/gen_fox_cartoon.jpg",
    "prompt": "A red fox trots through fresh snow at sunrise, soft golden light, shallow depth of field"
  }'

# 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.022 22 API credits Run it on this page

Get API key
Tencent Image Editing #editing#customization#realism#personalization

Personalized portrait generation from an archive of reference photos, with style presets and optional img2img

Tencent · 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

Describe the image you want generated, using as much detail as possible to get the best results.

•required

Provide the images to use in an archive, specified by its URL.

num_images default 1

Set how many images a single request produces, allowing more generation time for a larger batch.

Advanced negative_prompt · initial_image_url · base_pipeline · style · initial_image_strength · num_inference_steps · style_strength · guidance_scale · seed · enable_safety_checker
default

Negative prompt specifying unwanted image details. It can exclude colors, objects, scenery, or finer features and qualities, such as a moustache, blur, or low resolution.

Drop a file, or

Optional starting image for img2img processing.

base_pipeline default photomaker

Base pipeline used for image generation.

default Photographic
default 0.5

Latent-image noise level, ranging from no added noise at O to the maximum at 1.

default 50

Control how many generation steps Stable Diffusion performs; additional steps may yield a more detailed final image.

default 20
default 5

Prompt-adherence strength for image selection, expressed as CFG (Classifier Free Guidance).

Seed for reproducing images in Stable Diffusion. An image can be reproduced exactly on every run by keeping the model version, prompt, and seed unchanged.

POST /run/photomaker?wait=20 quote → $0.022
# 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/photomaker?wait=20" \
  -H "Authorization: Bearer $DOITONG_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "image_archive_url": "https://content.doitong.com/images/showcase/v3/gen_fox_cartoon.jpg",
    "prompt": "A red fox trots through fresh snow at sunrise, soft golden light, shallow depth of field"
  }'

# 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 PhotoMaker

Builds new images of a person from a zip-style archive of their photos (`image_archive_url`) plus a required text `prompt`. Choose the `photomaker` or `photomaker-style` base pipeline, and pick from 11 styles such as Cinematic, Comic book or Line art. Supports 1 to 4 images per request, 20 to 100 inference steps, guidance from 1 to 10, and an optional initial image with `initial_image_strength` between 0 and 1.

Parameters

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

NameType DefaultAllowed Description
image_archive_urlrequired
Typestring
Provide the images to use in an archive, specified by its URL.
promptrequired
Typestring
Describe the image you want generated, using as much detail as possible to get the best results.
base_pipelineoptional
Typeenum
Defaultphotomaker
photomakerphotomaker-style
Base pipeline used for image generation.
initial_image_urloptional
Typeurl · image
Optional starting image for img2img processing.
initial_image_strengthoptional
Typenumber
Default0.5
0 – 1
Latent-image noise level, ranging from no added noise at O to the maximum at 1.
styleoptional
Typeenum
DefaultPhotographic
(No style)CinematicDisney CharacterDigital ArtPhotographicFantasy artNeonpunkEnhanceComic bookLowpolyLine art
negative_promptoptional
Typestring
Default
Negative prompt specifying unwanted image details. It can exclude colors, objects, scenery, or finer features and qualities, such as a moustache, blur, or low resolution.
num_inference_stepsoptional
Typeinteger
Default50
20 – 100
Control how many generation steps Stable Diffusion performs; additional steps may yield a more detailed final image.
style_strengthoptional
Typeinteger
Default20
15 – 50
num_imagesoptional num_outputs
Typeinteger
Default1
1 – 4
Set how many images a single request produces, allowing more generation time for a larger batch.
guidance_scaleoptional
Typenumber
Default5
1 – 10
Prompt-adherence strength for image selection, expressed as CFG (Classifier Free Guidance).
seedoptional
Typeinteger | null
Seed for reproducing images in Stable Diffusion. An image can be reproduced exactly on every run by keeping the model version, prompt, and seed unchanged.
enable_safety_checkeroptional
Typeboolean
Defaulttrue
Screening can be relaxed by setting false, provided the caller is authorized.
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": "photomaker",
  "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": 22,
    "usd": "0.022",
    "charged": 22,
    "refunded": 0
  },
  "input": {
    "image_archive_url": "https://content.doitong.com/images/showcase/v3/gen_fox_cartoon.jpg",
    "prompt": "A red fox trots through fresh snow at sunrise, soft golden light, shallow depth of field"
  },
  "output": {
    "images": [
      {
        "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
      }
    ],
    "seed": 42
  },
  "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
images
array of object {url, content_type, file_name, file_size, width, height}
seed
integer

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