Camera Intrinsics
Estimate a camera's intrinsic parameters (focal length and principal point, with optional lens distortion) from one to five images of the same scene. Use it as a prior when you don't have factory calibration data for a camera.
Camera Intrinsics API
Make a POST request to /v1/vps/camera-intrinsics with your authentication token. The request is multipart/form-data:
images: 1 to 5 image files (field nameimages). Each file must be an image and ≤ 15 MB.cameraModel: optional string, one ofpinhole(default),simple_radial,radial,simple_divisional. Use a distortion model (simple_radial/radial/simple_divisional) for wide-angle or fisheye lenses.
The endpoint is synchronous and returns the estimated intrinsics in the response.
Sample Request
curl -X POST "https://api.multiset.ai/v1/vps/camera-intrinsics" \
-H "Authorization: Bearer <ACCESS_TOKEN>" \
-F "images=@frame_01.jpg" \
-F "images=@frame_02.jpg" \
-F "cameraModel=pinhole"Sample Response
{
"requestId": "b1c2d3e4-....",
"cameraModel": "pinhole",
"imageCount": 2,
"intrinsics": { "fx": 1462.3, "fy": 1462.3, "px": 960.0, "py": 540.0 },
"resolution": { "width": 1920, "height": 1080 },
"focalUncertainty": 12.4,
"focalUncertaintyRatio": 0.0085,
"distortion": null
}Reading the Result
intrinsics.fx/intrinsics.fy: focal length in pixels.px/py: the principal point (image centre).resolution: the pixel dimensions the intrinsics correspond to. If you resize the image, scale the intrinsics by the same factor.focalUncertainty/focalUncertaintyRatio: the estimate's uncertainty in pixels and as a fraction offx. Lower is more confident.distortion: present only when a distortion model is requested and coefficients are returned;nullforpinhole.
This is a prior/estimate, not a substitute for a full calibration target. Treat the result as a good starting point that a downstream process can refine.
Estimates camera intrinsics from 1–5 images. All images in a request
must come from the same camera at the same resolution. The request
is multipart/form-data; the response is returned synchronously.
JWT token obtained from the authentication endpoint.
1 to 5 image files (field name images). Each must be an image and ≤ 15 MB.
Distortion model to fit. Use a distorted model for wide-angle/fisheye lenses.
pinholePossible values: Estimated intrinsics.
b1c2d3e4-....pinhole21-sigma uncertainty of the focal estimate, in pixels.
12.4focalUncertainty / fx. Present when computable.
0.0085Distortion coefficients. Present only for non-pinhole models; null otherwise.
Bad Request. No images, more than 5, a file over 15 MB, a non-image file, an invalid cameraModel, or images of differing resolution.
Unauthorized. Invalid or expired token.
Estimation service temporarily unavailable.
POST /v1/vps/camera-intrinsics HTTP/1.1
Host: api.multiset.ai
Authorization: Bearer YOUR_SECRET_TOKEN
Content-Type: multipart/form-data
Accept: */*
Content-Length: 45
{
"images": [
"binary"
],
"cameraModel": "pinhole"
}{
"requestId": "b1c2d3e4-....",
"cameraModel": "pinhole",
"imageCount": 2,
"intrinsics": {
"fx": 1462.3,
"fy": 1462.3,
"px": 960,
"py": 540
},
"resolution": {
"width": 1920,
"height": 1080
},
"focalUncertainty": 12.4,
"focalUncertaintyRatio": 0.0085,
"distortion": null
}Last updated
Was this helpful?

