Overview¶
EveryPoint supports uploading, storing, generating, and downloading files of various types such as images, videos, point clouds, or meshes. The following sections provide more details on how to leverage files within the API.
Supported file types¶
The following sections describe the types of files that are supported by the API.
Images¶
An image is a single image file that is available in the API.
Endpoint: /v3{instance-uri}/images
Supported image formats are:
- JPG
- HEIC
Image resolutions larger than 2 megapixels are recommended.
Also, best results are achieved when the image has not been modified (e.g. resized or edited using a photo manipulation tool), and when the original EXIF data is intact.
For example, the following EXIF values are useful: Make
, Model
, FocalLength
, FocalLengthIn35mmFilm
, FocalPlaneXResolution
, FocalPlaneYResolution
, FocalPlaneResolutionUnit
, LensModel
, DateTimeOriginal
, GPSLatitude
, GPSLatitudeRef
, GPSLongitude
, GPSLongitudeRef
, GPSAltitude
, GPSAltitudeRef
, ExposureBiasValue
, FNumber
, ExposureTime
, ISOSpeedRatings
.
Videos¶
A video is a single video file that is available in the API.
Endpoint: /v3{instance-uri}/videos
Supported video formats are:
- MP4
- MOV
For best results, video resolutions of 1080p (1920 × 1080) or larger are recommended.
AR Sessions¶
An AR session is a single AR session file that is available in the API.
Endpoint: /v3{instance-uri}/ar-sessions
An AR session contains both visual data (e.g. a recorded video) as well as sensor data (e.g. inertial measurements). Supported AR session formats are:
- EPARS (EveryPoint AR Session), created via the AR Session Recorder
AR Lidar Sessions¶
An AR lidar session is a single AR lidar session file that is available in the API.
Endpoint: /v3{instance-uri}/ar-lidar-sessions
An AR lidar session contains visual data (e.g. a recorded video), sensor data (e.g. inertial measurements), as well as lidar depth data. Supported AR lidar session formats are:
- EPARLS (EveryPoint AR Lidar Session), created via the AR Session Recorder
Point Clouds¶
A point cloud is a single point cloud file that is available in the API.
Endpoint: /v3{instance-uri}/point-clouds
Supported point cloud formats are:
- PLY
- E57
Meshes¶
A mesh is a single mesh file that is available in the API.
Endpoint: /v3{instance-uri}/meshes
Supported mesh formats are:
- USDZ
- OBJ (the OBJ, MTL, and texture files are stored as a single ZIP)
Orthomosaics¶
An orthomosaic is an orthorectified image that seamlessly stitches together multiple input images, removing geometric distortion and differences in brightness and exposure. An orthomosaic also contains georeferencing information, so that it can be positioned with respect to standard GPS coordinates.
Endpoint: /v3{instance-uri}/orthomosaics
Supported orthomosaic formats are:
- KML (a PNG and KML stored as a single ZIP)
- TIFF (GeoTIFF)
File operations¶
A variety of operations can be performed with a file including:
- Uploading a new file into the API.
- Associating attributes with a file.
- Querying for particular files.
The following sections provide details for additional operations that can be performed.
Get details of a file¶
Returns details for an individual file.
Route: /v3{instance-uri}{file-uri}
Method: GET
Sample response body:
{
"success": true,
"data": {
"image": {
"uri": "/images/1234-5678",
"name": "my photo",
"type": "jpg",
"size": 12345,
"created_by_job": "/jobs/0123-4567",
"url": "https://storage.everypoint.io/files?1234-5678",
"thumbnail_url": "https://storage.everypoint.io/thumbnails?1234-5678",
"attributes": {
"date_time_local": "2022-01-31T18:10:05"
},
"custom_attributes": {
"my_attribute": "My custom attribute value."
},
"annotations": [
{
"uri": "/images/1234-5678/annotations/2345-6789",
"label": "/labels/pallet",
"geometry": {
"type": "box",
"min": {"x": 123, "y": 234},
"max": {"x": 345, "y": 456}
}
}
]
}
}
}
Description of the response properties:
"uri"
- Resource identifier for this file."name"
- Base part of the underlying file's name (with no extension)."type"
- File's extension (converted to lowercase and with no period)."size"
- Size of the file in bytes."created_by_job"
- URI of the job that created this file (in the case that this file is an output of a job), andnull
otherwise."url"
- URL that can be used to download this file."thumbnail_url"
- URL that can be used to download a thumbnail representation of the file. A thumbnail may not be available for every file, or it may not be available immediately. A thumbnail will typically be a square, low resolution JPG or GIF. For example, images may be represented by a small square JPG, videos as a short GIF animation, and point clouds as a cropped top-down rendering that is saved as a JPG. The quality or availability of thumbnails may change over time."attributes"
- Dictionary with standard attribute names and values that have been defined for this file."custom_attributes"
- Dictionary with custom attribute names and values that have been defined for this file."annotations"
- List of annotations that have been defined for this file (if the file type supports annotations).
In the case that the file is a multipart upload that is not yet complete, the "url"
, "thumbnail_url"
, and "size"
properties will be omitted, and the following new properties will be provided:
"status"
- Status of the multipart upload, which will be set to"uploading"
."total_parts"
- Total number of expected parts."uploaded_parts"
- Number of parts that have been uploaded so far.
Delete a file¶
Removes a file from the API.
Route: /v3{instance-uri}{file-uri}
Method: DELETE
Sample response body: