Skip to content

VGGT-1B

Integrate

Model id vggt-1b
# 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/vggt-1b?wait=20" \
  -H "Authorization: Bearer $DOITONG_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{}'

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

Up to $1.755 per run charged by actual usage, the rest is refunded Run it on this page

Get API key
Meta Vision

Reconstructs a 3D scene from up to 48 images or a video, returning depth maps, camera poses and a point cloud

Meta · Data (JSON)

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.

Advanced images · video · alpha_blend_onto · array_encoding · frame_sampling_rate · confidence_percentile · max_points · export_prediction_data · export_depth_maps · export_point_cloud · enable_safety_checker · exclude_keys
image_urls
Drop a file, or · up to 48

Reconstruction source images, each padded into a square and resized to a longest dimension of 518 pixels. JPEG, PNG, WEBP, and any additional image format decodable by Pillow are accepted.

video_url
Drop a file, or

Optional source video whose sampled frames follow image_urls in the combined input. Sampling uses every `frame_sampling_rate`-th frame, always including the first frame and the last frame.

alpha_blend_onto default white

Alpha-channel treatment offers four choices: 'keep' removes alpha without altering the original pixel values; 'mean' composites against the ImageNet mean RGB. For a solid background, choose 'white' or 'black' to composite against the corresponding color.

array_encoding default base64

Array storage format for prediction JSON files, with 'list' taking far more space than 'base64'. Choose 'list' for nested JSON lists or 'base64' for objects containing {data, shape, dtype}.

default 24

Frame interval applied only when a video is supplied through `video_url`; otherwise, it has no effect. Both boundary frames are retained regardless of the interval, with every n-th frame sampled in between.

default 50

Confidence-based filtering percentage for point-cloud construction: 0 disables filtering, while other values exclude that percentage of points, starting with the least confident.

default 250000

GLB point-count cap, defaulting to 250,000. To keep serialization and upload latency down, an evenly subsampled selection is written when the cloud exceeds this budget.

Keys excluded from every prediction JSON file.

POST /run/vggt-1b?wait=20 quote → $1.755
# 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/vggt-1b?wait=20" \
  -H "Authorization: Bearer $DOITONG_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{}'

# 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 VGGT-1B

Estimates geometry from multiple views. Give up to 48 images in `image_urls`, optionally add a `video_url` sampled every `frame_sampling_rate` frames. It returns per-frame depth maps, camera extrinsics and intrinsics, raw prediction files, and a GLB point cloud with camera cones. `confidence_percentile` and `max_points` control how dense the point cloud is.

Parameters

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

NameType DefaultAllowed Description
image_urlsoptional images
Typeurl[] · image
≤ 48 items
Reconstruction source images, each padded into a square and resized to a longest dimension of 518 pixels. JPEG, PNG, WEBP, and any additional image format decodable by Pillow are accepted.
video_urloptional video
Typeurl · video
Optional source video whose sampled frames follow image_urls in the combined input. Sampling uses every `frame_sampling_rate`-th frame, always including the first frame and the last frame.
frame_sampling_rateoptional
Typeinteger
Default24
1 – 1,000
Frame interval applied only when a video is supplied through `video_url`; otherwise, it has no effect. Both boundary frames are retained regardless of the interval, with every n-th frame sampled in between.
alpha_blend_ontooptional
Typeenum
Defaultwhite
keepwhiteblackmean
Alpha-channel treatment offers four choices: 'keep' removes alpha without altering the original pixel values; 'mean' composites against the ImageNet mean RGB. For a solid background, choose 'white' or 'black' to composite against the corresponding color.
export_prediction_dataoptional
Typeboolean
Defaulttrue
Export raw predictions as separate JSON files for individual frames. Each file includes depth and its confidence, a mask, and the encoded camera pose.
export_depth_mapsoptional
Typeboolean
Defaulttrue
Export depth rasters with a linear mapping of `depth_range` to pixel values 0–65535. Each frame gets a separate grayscale PNG with 16-bit precision.
export_point_cloudoptional
Typeboolean
Defaulttrue
Export the fused colored point cloud in GLB format, with estimated cameras represented by individual cone meshes in the scene.
array_encodingoptional
Typeenum
Defaultbase64
base64list
Array storage format for prediction JSON files, with 'list' taking far more space than 'base64'. Choose 'list' for nested JSON lists or 'base64' for objects containing {data, shape, dtype}.
exclude_keysoptional
Typeenum[]
Keys excluded from every prediction JSON file.
confidence_percentileoptional
Typenumber
Default50
0 – 100
Confidence-based filtering percentage for point-cloud construction: 0 disables filtering, while other values exclude that percentage of points, starting with the least confident.
max_pointsoptional
Typeinteger
Default250000
1,000 – 5,000,000
GLB point-count cap, defaulting to 250,000. To keep serialization and upload latency down, an evenly subsampled selection is written when the cloud exceeds this budget.
enable_safety_checkeroptional
Typeboolean
Defaulttrue
Safety-checking toggle for input images and video.
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": "vggt-1b",
  "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": 1755,
    "usd": "1.755",
    "charged": 1755,
    "refunded": 0
  },
  "input": {},
  "output": {
    "point_cloud": {
      "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
    },
    "depth_maps": [
      {
        "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
      }
    ],
    "prediction_data": [
      {
        "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
      }
    ],
    "num_frames": 1,
    "depth_range": [
      1.0
    ],
    "extrinsics": [
      [
        [
          1.0
        ]
      ]
    ],
    "intrinsics": [
      [
        [
          1.0
        ]
      ]
    ],
    "timings": {}
  },
  "outputs": [
    {
      "type": "file",
      "url": "https://content.doitong.com/dev-api/2026/10/20/req_8k2m4q7x1z9c3v5b6n0p2r4t/0-output.jpeg",
      "content_type": "image/jpeg",
      "file_size": 1843200,
      "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
point_cloud
object {url, content_type, file_name, file_size} | nullPoint-cloud export returned when `export_point_cloud` is true; its GLB scene combines the fused cloud with camera cones.
depth_maps
array of object {url, content_type, file_name, file_size, width, height}Depth-map export available when `export_depth_maps` is true. Entries follow the source frame sequence, with each frame represented by a grayscale PNG raster at 16-bit depth.
prediction_data
array of object {url, content_type, file_name, file_size}Raw prediction export: when `export_prediction_data` is true, each frame has its own JSON file, and the files follow the frame sequence.
num_frames
integerTotal reconstructed frame count, including images and frames sampled from video.
depth_range
array of numberDepth bounds [min, max] used for `depth_maps` quantization. Recover depth as min + pixel * (max - min) / 65535.
extrinsics
array of array of array of numberCamera-from-world extrinsic matrices, sized 3x4, for each frame; OpenCV axes point right along x, down along y, and forward along z.
intrinsics
array of array of array of numberPinhole intrinsic matrices, sized 3x3, for each frame, expressed in pixel coordinates of the model's 518x518 frame.
timings
objectElapsed wall-clock time for each stage, in seconds.

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