Skip to content

City Teleport

Integrate

Model id image-apps-v2/city-teleport
# 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/image-apps-v2/city-teleport?wait=20" \
  -H "Authorization: Bearer $DOITONG_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "person_image_url": "https://content.doitong.com/images/showcase/v3/gen_fox_cartoon.jpg",
    "city_name": "Paris"
  }'

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

Get API key
Utility · 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
Drop a file, or

URL of a photo depicting the person.

•required

City name to use if no city_image_url is supplied.

Output aspect ratio at 4K.

Advanced city_image_url · photo_shot · camera_angle · enable_safety_checker
Drop a file, or

Custom city scene into which the person is blended, optionally supplied as a background image URL.

photo_shot default medium_shot

Photographic shot type.

camera_angle default eye_level

Camera viewpoint used for the shot.

POST /run/image-apps-v2/city-teleport?wait=20 quote → $0.04
# 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/image-apps-v2/city-teleport?wait=20" \
  -H "Authorization: Bearer $DOITONG_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "person_image_url": "https://content.doitong.com/images/showcase/v3/gen_fox_cartoon.jpg",
    "city_name": "Paris"
  }'

# 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 City Teleport

Needs a person photo (`person_image_url`) and a `city_name`. You can supply `city_image_url` to blend the person into your own scene instead. `photo_shot` has eight framing options from extreme close-up to full body, and `camera_angle` has eight choices such as low angle or bird's eye view. `aspect_ratio` and `enable_safety_checker` are also available.

Parameters

NameType DefaultAllowed Description
person_image_urlrequired
Typeurl · image
URL of a photo depicting the person.
city_image_urloptional
Typeurl · image
Custom city scene into which the person is blended, optionally supplied as a background image URL.
city_namerequired
Typestring
City name to use if no city_image_url is supplied.
photo_shotoptional
Typeenum
Defaultmedium_shot
extreme_close_upclose_upmedium_close_upmedium_shotmedium_long_shotlong_shotextreme_long_shotfull_body
Photographic shot type.
camera_angleoptional
Typeenum
Defaulteye_level
eye_levellow_anglehigh_angledutch_anglebirds_eye_viewworms_eye_viewoverheadside_angle
Camera viewpoint used for the shot.
aspect_ratiooptional
Typeobject
Output aspect ratio at 4K.
aspect_ratio.ratiooptional
Typeenum
Default1:1
1:116:99:164:33:4
Output aspect ratio at 4K resolution.
enable_safety_checkeroptional
Typeboolean
Defaulttrue
Screening can be relaxed by setting false, provided the caller is authorized.
required

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": "image-apps-v2/city-teleport",
  "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": 40,
    "usd": "0.04",
    "charged": 40,
    "refunded": 0
  },
  "input": {
    "person_image_url": "https://content.doitong.com/images/showcase/v3/gen_fox_cartoon.jpg",
    "city_name": "Paris"
  },
  "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
      }
    ]
  },
  "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}Image showing the person transported to the city setting.

More models: Image Editing

For AI agents: this page as Markdown is at https://doitong.com/developers/models/image-apps-v2/city-teleport.md. All models and guides: https://doitong.com/developers/llms.txt