Synthesis AI: Asset Download API
Overview
First, some key terminology: a job has many tasks (aka scenes) associated with it. Each task has many assets, which include both text and binary metadata, like an EXR, metadata.jsonl, and info.json, and optionally several extracted, standalone binary images from the EXR channels like rgb, segments, depth, normals, and mask images. These are further described in our output documentation.
A job is typically submitted by using a command line client application provided by Synthesis AI (or directly using our API), and a Job ID is returned. This job ID is referenced when the callback is returned, notifying you that the job and all of its tasks have completed.
Also, all requests to our system require an APIKEY
in the "Authorization"
header. To get an API key, which is tied to a single Synthesis AI user account, head over to our web application. A user account can be added to one or more orgs in the Synthesis AI system. For example, you could create two different users for development/testing and production, or a single user for both.
We also provide a synthesisai library in Python for parsing our output files.
Step 1: Receive Callback:
The callback to your web application will contain the job ID, like this:
{
"job_id": "4c01a27c-0a1f-42b4-b4af-c435d8c7879f"
}
After this, it’s on the consumer of the API to retrieve the manifest.
NOTE: it is possible that the manifest data below will *also* be included in the callback. However, you can always call the manifest endpoint for the job.
Automated callback is a beta feature. Please contact us for more information.
Step 2: Fetch Manifest for Job
GET https://app.synthesis.ai/api/v1/org/{ORGNAME}/job/{JOBID}/manifest
Headers:
Authorization: {APIKEY}
{
"metadata.jsonl": "https://app.synthesis.ai/api/v1/org/sai/job/dd2c7725-8d5c-40c7-aa1d-234a99bfd361/metadata",
"asset_types": [
"exr",
"rgb.png",
"depth.tif",
"alpha.tif",
"mask.png",
"normals.tif",
"info.json",
"segments.png"
],
"task_count": 40,
"tasks_completed": 40,
"tasks_cancelled": 0,
"job_name":"my_job",
"job_status": "complete",
"max_render_count": 10000
}
The list of asset types can vary per job type, but in a single job are consistent from task to task. exr and info.json exist all the time at the moment and likely will continue to for the foreseeable future. More information on what each of these files are exists at Human API Output Documentation.
Issue a GET request with the job ID, using your org ID. You can create separate orgs in our web application for a development/test environment versus a production environment.
Step 3: “Fan Out” / Batch and download each task
Each task is numbered in ascending order from 0 to “task_count” (exclusive).
Step 3a. Download metadata for each task
The metadata is the settings for each image made at request time, like pose of camera, lighting setup, and face attributes.
Metadata is paginated, so you can request up to “max_render_count” json-lines at a time. An example of fetching a single json-line, for an individual task follows, but you can request more..
GET https://app.synthesis.ai/api/v1/org/{ORGNAME}/job/{JOBID}/metadata?offset={TASK_NUMBER}&count=1
Headers:
Authorization: {APIKEY}
{
"task_id": "d0e4207b-6ae8-40e2-a1cc-dcdf716e8998",
"render_id": 12,
"render": {
"resolution": {
"w": 1024,
"h": 1024
},
"noise_threshold": 0.025,
"samples": 700,
"engine": "cycles",
"hair": "strands",
"denoise": false
},
"scene": {
"id": 73,
"environment": {
"hdri": {
"name": "parking_lot",
"intensity": 0.035,
"exposure": 0,
"rotation": 0
},
"lights": [{
"color": [255, 255, 255],
"rotation": [-32, -38, 0],
"intensity": 0.5,
"size_meters": 0.05,
"distance_meters": 0.25
}],
"geometry": "noGeometry"
},
"facial_attributes": {
"expression": {
"name": "eyes_closed_max",
"amount": 15
},
"gaze": {
"horizontal": 11,
"vertical": -4
},
"hair": {
"style": "simple_01",
"length": 100,
"density": 100,
"root_color": [163, 9, 1],
"tip_color": [163, 9, 1]
},
"beard": {
"style": "noBeard",
"length": 100,
"density": 100,
"root_color": [0, 0, 0],
"tip_color": [0, 0, 0]
},
"mustache": {
"style": "noMustache",
"length": 100,
"density": 100,
"root_color": [0, 0, 0],
"tip_color": [0, 0, 0]
}
},
"accessories": {
"glasses": {
"style": "noGlasses",
"transparency": 0.25,
"diffuse": [0, 0, 0],
"refraction": [0, 0, 0],
"metalness": 0,
"roughness": 0.1
},
"mask": "noMask",
"headwear": "noHeadwear",
"makeup": {
"blush": {
"color": [255, 255, 255]
},
"eyeliner": {
"color": [255, 255, 255]
},
"eyeshadow": {
"color": [255, 255, 255]
},
"lipstick": {
"color": [255, 255, 255]
}
}
},
"camera": {
"h": -38,
"v": -32,
"d": 100,
"truck": 0,
"pedestal": 0,
"focal_length": 100,
"wavelength": "nir"
},
"identity_metadata": {
"id": 73,
"sex": "female",
"ethnicity": "black",
"age": 23,
"weight_kg": 60,
"height_cm": 163
}
}
}
Step 3b. Download desired assets for each task
For each of the desired “asset_types” specified in the manifest call, you can make a GET request in the format below. For each task, the only two unique asset types are “exr” (a multi-channel OpenEXR file) and “info.json” (computed values for each task not included at image request time):
GET https://app.synthesis.ai/api/v1/org/{ORGNAME}/job/{JOBID}/{TASK_NUMBER}/{FRAME_NUMBER}/{CAMERA_NAME}/{ASSET_TYPE}
Headers:
Authorization: {APIKEY}
Examples
GET https://app.synthesis.ai/api/v1/org/{ORGNAME}/job/{JOBID}/{TASK_NUMBER}/exr
Headers:
Authorization: {APIKEY}
(responds with OpenEXR binary)
GET https://app.synthesis.ai/api/v1/org/{ORGNAME}/job/{JOBID}/{TASK_NUMBER}/segments.png
Headers:
Authorization: {APIKEY}
(responds with PNG binary)
GET https://app.synthesis.ai/api/v1/org/{ORGNAME}/job/{JOBID}/{TASK_NUMBER}/info.json
Headers:
Authorization: {APIKEY}
Response:
{
"camera": {
"intrinsics": [
[3103.030303030303, 0.0, 512.0],
[0, 3103.030303030303, 512.0],
[0, 0, 1.0]
],
"field_of_view": {
"y_axis_rads": 0.32705323764198635,
"x_axis_rads": 0.32705323764198635
},
"focal_length_mm": 100.0,
"transform_world2cam": {
"mat_4x4": [
[0.5000000000000001, -4.807406715958909e-17, -0.8660254037844385, 0.034641016151377664],
[0.43301270189221924, 0.8660254037844386, 0.25, -0.2735315303716047],
[0.7500000000000001, -0.5, 0.4330127018922194, -1.0651705080756888],
[0.0, 0.0, -0.0, 1.0]
],
"translation_xyz": [0.034641016151377664, -0.2735315303716047, -1.0651705080756888],
"quaternion_wxyz": [-0.2241438680420133, -0.48296291314453416, 0.1294095225512602, 0.8365163037378079]
},
"sensor": {
"width_mm": 33.0,
"height_mm": 33.0
},
"transform_cam2world": {
"mat_4x4": [
[0.5000000000000001, 0.43301270189221924, 0.75, 0.8999999999999999],
[0.0, 0.8660254037844387, -0.49999999999999994, -0.29569999999999985],
[-0.8660254037844386, 0.25, 0.43301270189221946, 0.5596152422706634],
[0.0, 0.0, 0.0, 1.0]
],
"translation_xyz": [0.8999999999999999, -0.29569999999999985, 0.5596152422706634],
"quaternion_wxyz": [0.22414386804201333, 0.48296291314453416, -0.12940952255126031, 0.8365163037378079]
}
},
"landmarks": [{
"screen_space_pos": [0.4223, 0.5931],
"ptnum": 0,
"camera_space_pos": [-0.03228643909096718, -0.03869936615228653, -1.2591992616653442],
"distance_to_camera": 1.2602074146270752,
"world_space_pos": [-0.07729998230934143, 0.3003849983215332, 0.032652001827955246]
}, {
"screen_space_pos": [0.4206, 0.643],
"ptnum": 1,
"camera_space_pos": [-0.03269478306174278, -0.058866970241069794, -1.2476886510849],
"distance_to_camera": 1.2495043277740479,
"world_space_pos": [-0.07760399580001831, 0.2771640121936798, 0.03294799476861954]
}, {
"screen_space_pos": [0.4086, 0.6931],
"ptnum": 2,
"camera_space_pos": [-0.03709280490875244, -0.0783248245716095, -1.2293665409088135],
"distance_to_camera": 1.2324174642562866,
"world_space_pos": [-0.07448699325323105, 0.25115200877189636, 0.03982599452137947]
}, {
"screen_space_pos": [0.3791, 0.7241],
"ptnum": 3,
"camera_space_pos": [-0.048368118703365326, -0.08970142155885696, -1.212809443473816],
"distance_to_camera": 1.2170835733413696,
"world_space_pos": [-0.07263299077749252, 0.23302100598812103, 0.05391601473093033]
}, {
"screen_space_pos": [0.3524, 0.749],
"ptnum": 4,
"camera_space_pos": [-0.058056652545928955, -0.09798802435398102, -1.1923061609268188],
"distance_to_camera": 1.197733759880066,
"world_space_pos": [-0.06568802893161774, 0.21559298038482666, 0.06911304593086243]
}, {
"screen_space_pos": [0.3258, 0.763],
"ptnum": 5,
"camera_space_pos": [-0.06717868149280548, -0.10145524144172668, -1.1688776016235352],
"distance_to_camera": 1.1751940250396729,
"world_space_pos": [-0.05417899042367935, 0.20087601244449615, 0.08629100769758224]
}, {
"screen_space_pos": [0.3064, 0.7652],
"ptnum": 6,
"camera_space_pos": [-0.0730912908911705, -0.10008703917264938, -1.1437618732452393],
"distance_to_camera": 1.1504567861557007,
"world_space_pos": [-0.03770599886775017, 0.189503014087677, 0.10262898355722427]
}, {
"screen_space_pos": [0.295, 0.7632],
"ptnum": 7,
"camera_space_pos": [-0.07585170120000839, -0.09740252792835236, -1.121346116065979],
"distance_to_camera": 1.1281213760375977,
"world_space_pos": [-0.021111980080604553, 0.1806199997663498, 0.11539699137210846]
}, {
"screen_space_pos": [0.3201, 0.7508],
"ptnum": 8,
"camera_space_pos": [-0.0654330924153328, -0.09121610224246979, -1.1019929647445679],
"distance_to_camera": 1.1076959371566772,
"world_space_pos": [0.0012910283403471112, 0.1763010025024414, 0.11630100011825562]
}, {
"screen_space_pos": [0.3538, 0.7186],
"ptnum": 9,
"camera_space_pos": [-0.05255836248397827, -0.07857292890548706, -1.0890463590621948],
"distance_to_camera": 1.0931413173675537,
"world_space_pos": [0.022913014516234398, 0.18077699840068817, 0.1139180064201355]
}, {
"screen_space_pos": [0.4079, 0.6893],
"ptnum": 10,
"camera_space_pos": [-0.03305325284600258, -0.06792779266834259, -1.0875784158706665],
"distance_to_camera": 1.0901987552642822,
"world_space_pos": [0.03837600350379944, 0.18926198780536652, 0.10032300651073456]
}, {
"screen_space_pos": [0.4705, 0.6558],
"ptnum": 11,
"camera_space_pos": [-0.010597254149615765, -0.056030333042144775, -1.0895873308181763],
"distance_to_camera": 1.091078519821167,
"world_space_pos": [0.05324900895357132, 0.2005699872970581, 0.08297998458147049]
}, {
"screen_space_pos": [0.527, 0.6196],
"ptnum": 12,
"camera_space_pos": [0.009756273590028286, -0.043275948613882065, -1.096864104270935],
"distance_to_camera": 1.0977609157562256,
"world_space_pos": [0.06349097937345505, 0.215254008769989, 0.06539095938205719]
}, {
"screen_space_pos": [0.5717, 0.5793],
"ptnum": 13,
"camera_space_pos": [0.026204008609056473, -0.028945449739694595, -1.1067910194396973],
"distance_to_camera": 1.107479453086853,
"world_space_pos": [0.0704750120639801, 0.2326280027627945, 0.05043098330497742]
}, {
"screen_space_pos": [0.6043, 0.5408],
"ptnum": 14,
"camera_space_pos": [0.038532547652721405, -0.015076502226293087, -1.1194612979888916],
"distance_to_camera": 1.1202256679534912,
"world_space_pos": [0.07314200699329376, 0.25097399950027466, 0.03773500397801399]
}, {
"screen_space_pos": [0.6227, 0.477],
"ptnum": 15,
"camera_space_pos": [0.04587966576218605, 0.008586455136537552, -1.1332597732543945],
"distance_to_camera": 1.1342207193374634,
"world_space_pos": [0.07671301066875458, 0.27836599946022034, 0.03131300210952759]
}, {
"screen_space_pos": [0.6289, 0.4233],
"ptnum": 16,
"camera_space_pos": [0.04869098216295242, 0.02896912582218647, -1.1445019245147705],
"distance_to_camera": 1.145903468132019,
"world_space_pos": [0.078513003885746, 0.30163899064064026, 0.029106000438332558]
}, {
"screen_space_pos": [0.3058, 0.4858],
"ptnum": 17,
"camera_space_pos": [-0.07876336574554443, 0.005766687914729118, -1.2292718887329102],
"distance_to_camera": 1.2318061590194702,
"world_space_pos": [-0.05883856862783432, 0.3239300549030304, 0.09697763621807098]
}, {
"screen_space_pos": [0.2961, 0.4557],
"ptnum": 18,
"camera_space_pos": [-0.08230104297399521, 0.01788867823779583, -1.223358392715454],
"distance_to_camera": 1.2262542247772217,
"world_space_pos": [-0.05092332139611244, 0.3314712643623352, 0.1056324690580368]
}, {
"screen_space_pos": [0.2928, 0.4306],
"ptnum": 19,
"camera_space_pos": [-0.08304918557405472, 0.027823306620121002, -1.2145841121673584],
"distance_to_camera": 1.2177380323410034,
"world_space_pos": [-0.04041484743356705, 0.3356877565383911, 0.11256341636180878]
}, {
"screen_space_pos": [0.2937, 0.4107],
"ptnum": 20,
"camera_space_pos": [-0.0820019543170929, 0.0354885458946228, -1.2042620182037354],
"distance_to_camera": 1.2075722217559814,
"world_space_pos": [-0.028830507770180702, 0.3371649980545044, 0.11804240196943283]
}, {
"screen_space_pos": [0.2996, 0.4012],
"ptnum": 21,
"camera_space_pos": [-0.0787007063627243, 0.03881540894508362, -1.1903241872787476],
"distance_to_camera": 1.193554401397705,
"world_space_pos": [-0.015285927802324295, 0.33307722210884094, 0.12205041199922562]
}, {
"screen_space_pos": [0.3367, 0.3663],
"ptnum": 22,
"camera_space_pos": [-0.06293649226427078, 0.0515042208135128, -1.16763436794281],
"distance_to_camera": 1.170462965965271,
"world_space_pos": [0.015107916668057442, 0.33272117376327515, 0.12139536440372467]
}, {
"screen_space_pos": [0.363, 0.3452],
"ptnum": 23,
"camera_space_pos": [-0.05249826982617378, 0.05931001156568527, -1.1611859798431396],
"distance_to_camera": 1.163884162902832,
"world_space_pos": [0.028543388471007347, 0.3362569510936737, 0.11709931492805481]
}, {
"screen_space_pos": [0.3908, 0.3368],
"ptnum": 24,
"camera_space_pos": [-0.04161638021469116, 0.06219886988401413, -1.1546000242233276],
"distance_to_camera": 1.1570228338241577,
"world_space_pos": [0.040174730122089386, 0.33546578884124756, 0.11124935001134872]
}, {
"screen_space_pos": [0.4202, 0.337],
"ptnum": 25,
"camera_space_pos": [-0.030237296596169472, 0.061741407960653305, -1.1475656032562256],
"distance_to_camera": 1.149622917175293,
"world_space_pos": [0.05094198137521744, 0.3315524160861969, 0.10432638972997665]
}, {
"screen_space_pos": [0.4513, 0.3518],
"ptnum": 26,
"camera_space_pos": [-0.018377050757408142, 0.05590676888823509, -1.1431151628494263],
"distance_to_camera": 1.1446290016174316,
"world_space_pos": [0.05768343061208725, 0.3242742717266083, 0.09452353417873383]
}, {
"screen_space_pos": [0.3131, 0.4165],
"ptnum": 27,
"camera_space_pos": [-0.07217758148908615, 0.03223099932074547, -1.1701302528381348],
"distance_to_camera": 1.1727970838546753,
"world_space_pos": [0.0002699881442822516, 0.3172779679298401, 0.12349937111139297]
}, {
"screen_space_pos": [0.2894, 0.4348],
"ptnum": 28,
"camera_space_pos": [-0.08062136918306351, 0.02496415190398693, -1.1600267887115479],
"distance_to_camera": 1.1630929708480835,
"world_space_pos": [0.0004789979720953852, 0.30593299865722656, 0.13337008655071259]
}, {
"screen_space_pos": [0.2686, 0.4606],
"ptnum": 29,
"camera_space_pos": [-0.08773209154605865, 0.014950796961784363, -1.1490544080734253],
"distance_to_camera": 1.1524958610534668,
"world_space_pos": [0.0008170126820914447, 0.2917749881744385, 0.14177599549293518]
}, {
"screen_space_pos": [0.2436, 0.4865],
"ptnum": 30,
"camera_space_pos": [-0.09623341262340546, 0.0050539616495370865, -1.1371382474899292],
"distance_to_camera": 1.1412142515182495,
"world_space_pos": [0.0012180125340819359, 0.27724599838256836, 0.1518239974975586]
}, {
"screen_space_pos": [0.297, 0.5612],
"ptnum": 31,
"camera_space_pos": [-0.0776500403881073, -0.023406680673360825, -1.158895492553711],
"distance_to_camera": 1.1617298126220703,
"world_space_pos": [-0.018132029101252556, 0.2634769678115845, 0.11919400840997696]
}, {
"screen_space_pos": [0.2845, 0.5537],
"ptnum": 32,
"camera_space_pos": [-0.08154541999101639, -0.020330095663666725, -1.1464747190475464],
"distance_to_camera": 1.1495509147644043,
"world_space_pos": [-0.009431968443095684, 0.2599309980869293, 0.12871499359607697]
}, {
"screen_space_pos": [0.2883, 0.5444],
"ptnum": 33,
"camera_space_pos": [-0.07936886698007584, -0.016658028587698936, -1.1362165212631226],
"distance_to_camera": 1.1391069889068604,
"world_space_pos": [0.0009400360286235809, 0.2579819858074188, 0.13219000399112701]
}, {
"screen_space_pos": [0.3092, 0.5321],
"ptnum": 34,
"camera_space_pos": [-0.07120895385742188, -0.01198173314332962, -1.1310789585113525],
"distance_to_camera": 1.133381724357605,
"world_space_pos": [0.01089803408831358, 0.25946301221847534, 0.1285170018672943]
}, {
"screen_space_pos": [0.3434, 0.5215],
"ptnum": 35,
"camera_space_pos": [-0.05848461762070656, -0.00802323967218399, -1.1318527460098267],
"distance_to_camera": 1.1333911418914795,
"world_space_pos": [0.018393976613879204, 0.2632780373096466, 0.11815198510885239]
}, {
"screen_space_pos": [0.3098, 0.4975],
"ptnum": 36,
"camera_space_pos": [-0.07602328807115555, 0.0010015488369390368, -1.2115250825881958],
"distance_to_camera": 1.2139084339141846,
"world_space_pos": [-0.04622179642319679, 0.31092992424964905, 0.1010979637503624]
}, {
"screen_space_pos": [0.3032, 0.4767],
"ptnum": 37,
"camera_space_pos": [-0.0783839300274849, 0.009267076849937439, -1.206825613975525],
"distance_to_camera": 1.2094039916992188,
"world_space_pos": [-0.04029844328761101, 0.31573835015296936, 0.10724364966154099]
}, {
"screen_space_pos": [0.3143, 0.4576],
"ptnum": 38,
"camera_space_pos": [-0.07337833940982819, 0.01676384173333645, -1.197610855102539],
"distance_to_camera": 1.1999738216400146,
"world_space_pos": [-0.02763831801712513, 0.3176233172416687, 0.10877301543951035]
}, {
"screen_space_pos": [0.3324, 0.4674],
"ptnum": 39,
"camera_space_pos": [-0.06566564738750458, 0.012785492464900017, -1.1876002550125122],
"distance_to_camera": 1.1894829273223877,
"world_space_pos": [-0.017996691167354584, 0.309172660112381, 0.10543376207351685]
}, {
"screen_space_pos": [0.3102, 0.4815],
"ptnum": 40,
"camera_space_pos": [-0.07475847005844116, 0.0072784400545060635, -1.19362473487854],
"distance_to_camera": 1.1959856748580933,
"world_space_pos": [-0.029446149244904518, 0.3074156939983368, 0.10932290554046631]
}, {
"screen_space_pos": [0.3035, 0.4939],
"ptnum": 41,
"camera_space_pos": [-0.07791361212730408, 0.002438052324578166, -1.2016154527664185],
"distance_to_camera": 1.2041412591934204,
"world_space_pos": [-0.039112698286771774, 0.30721914768218994, 0.10738516598939896]
}, {
"screen_space_pos": [0.3746, 0.4258],
"ptnum": 42,
"camera_space_pos": [-0.0480746254324913, 0.028463605791330338, -1.162118911743164],
"distance_to_camera": 1.1634610891342163,
"world_space_pos": [0.0166985671967268, 0.3100096881389618, 0.10515271872282028]
}, {
"screen_space_pos": [0.3784, 0.3927],
"ptnum": 43,
"camera_space_pos": [-0.04639381170272827, 0.040941812098026276, -1.1565971374511719],
"distance_to_camera": 1.1582510471343994,
"world_space_pos": [0.02708357386291027, 0.3180552124977112, 0.10920766741037369]
}, {
"screen_space_pos": [0.399, 0.3826],
"ptnum": 44,
"camera_space_pos": [-0.03823418542742729, 0.04445098340511322, -1.1470110416412354],
"distance_to_camera": 1.1485086679458618,
"world_space_pos": [0.0398724265396595, 0.31630122661590576, 0.10716938972473145]
}, {
"screen_space_pos": [0.4196, 0.3909],
"ptnum": 45,
"camera_space_pos": [-0.030338596552610397, 0.04117106273770332, -1.1436173915863037],
"distance_to_camera": 1.1447603702545166,
"world_space_pos": [0.04494525119662285, 0.3117638826370239, 0.10098114609718323]
}, {
"screen_space_pos": [0.3956, 0.4032],
"ptnum": 46,
"camera_space_pos": [-0.03943433240056038, 0.036535218358039856, -1.1442164182662964],
"distance_to_camera": 1.14547860622406,
"world_space_pos": [0.03794073313474655, 0.30804863572120667, 0.10743993520736694]
}, {
"screen_space_pos": [0.3797, 0.4122],
"ptnum": 47,
"camera_space_pos": [-0.04568980634212494, 0.03333134949207306, -1.1506130695343018],
"distance_to_camera": 1.152002215385437,
"world_space_pos": [0.028628230094909668, 0.30847230553627014, 0.10928656160831451]
}, {
"screen_space_pos": [0.2856, 0.6442],
"ptnum": 48,
"camera_space_pos": [-0.08140892535448074, -0.054755911231040955, -1.1506739854812622],
"distance_to_camera": 1.1548490524291992,
"world_space_pos": [-0.027419986203312874, 0.2322169989347458, 0.11817199736833572]
}, {
"screen_space_pos": [0.2714, 0.6079],
"ptnum": 49,
"camera_space_pos": [-0.08632111549377441, -0.0407545305788517, -1.144374966621399],
"distance_to_camera": 1.148349404335022,
"world_space_pos": [-0.019088970497250557, 0.2411929965019226, 0.12865401804447174]
}, {
"screen_space_pos": [0.2679, 0.5875],
"ptnum": 50,
"camera_space_pos": [-0.08721201866865158, -0.032870806753635406, -1.1385979652404785],
"distance_to_camera": 1.1424061059951782,
"world_space_pos": [-0.011787915602326393, 0.24513199925422668, 0.13389800488948822]
}, {
"screen_space_pos": [0.2757, 0.5706],
"ptnum": 51,
"camera_space_pos": [-0.08352857828140259, -0.026306452229619026, -1.128446102142334],
"distance_to_camera": 1.1318391561508179,
"world_space_pos": [0.0005101045244373381, 0.24574099481105804, 0.13674500584602356]
}, {
"screen_space_pos": [0.2986, 0.5609],
"ptnum": 52,
"camera_space_pos": [-0.07446742057800293, -0.022507259622216225, -1.1201937198638916],
"distance_to_camera": 1.1228917837142944,
"world_space_pos": [0.012875080108642578, 0.2449049949645996, 0.13342100381851196]
}, {
"screen_space_pos": [0.3198, 0.5664],
"ptnum": 53,
"camera_space_pos": [-0.0663389191031456, -0.024427415803074837, -1.1152734756469727],
"distance_to_camera": 1.1175117492675781,
"world_space_pos": [0.019798023626208305, 0.2407819926738739, 0.12803198397159576]
}, {
"screen_space_pos": [0.3532, 0.5881],
"ptnum": 54,
"camera_space_pos": [-0.05374600365757942, -0.032251935452222824, -1.109678030014038],
"distance_to_camera": 1.1114468574523926,
"world_space_pos": [0.02690301090478897, 0.23120799660682678, 0.11759299784898758]
}, {
"screen_space_pos": [0.3226, 0.6006],
"ptnum": 55,
"camera_space_pos": [-0.06498179584741592, -0.03684799000620842, -1.110048532485962],
"distance_to_camera": 1.1125593185424805,
"world_space_pos": [0.019017010927200317, 0.22741299867630005, 0.12601399421691895]
}, {
"screen_space_pos": [0.2997, 0.615],
"ptnum": 56,
"camera_space_pos": [-0.0734577402472496, -0.04219108447432518, -1.1115810871124268],
"distance_to_camera": 1.1148042678833008,
"world_space_pos": [0.011316024698317051, 0.22355200350284576, 0.13135500252246857]
}, {
"screen_space_pos": [0.2793, 0.6187],
"ptnum": 57,
"camera_space_pos": [-0.08147823065519333, -0.04383609816431999, -1.118760347366333],
"distance_to_camera": 1.1225796937942505,
"world_space_pos": [0.0012090443633496761, 0.2257169932126999, 0.13478100299835205]
}, {
"screen_space_pos": [0.2728, 0.6362],
"ptnum": 58,
"camera_space_pos": [-0.08450767397880554, -0.05065159499645233, -1.1270111799240112],
"distance_to_camera": 1.1313095092773438,
"world_space_pos": [-0.009444971568882465, 0.22393999993801117, 0.13212800025939941]
}, {
"screen_space_pos": [0.2762, 0.6392],
"ptnum": 59,
"camera_space_pos": [-0.08402907103300095, -0.05226952210068703, -1.1375374794006348],
"distance_to_camera": 1.141833782196045,
"world_space_pos": [-0.017800990492105484, 0.22780199348926544, 0.12675100564956665]
}, {
"screen_space_pos": [0.2931, 0.6401],
"ptnum": 60,
"camera_space_pos": [-0.07829583436250687, -0.053001657128334045, -1.1466915607452393],
"distance_to_camera": 1.1505827903747559,
"world_space_pos": [-0.02211698703467846, 0.23174500465393066, 0.11763899773359299]
}, {
"screen_space_pos": [0.2828, 0.613],
"ptnum": 61,
"camera_space_pos": [-0.08151347190141678, -0.04242671653628349, -1.1374292373657227],
"distance_to_camera": 1.1411352157592773,
"world_space_pos": [-0.012199976481497288, 0.23627200722694397, 0.12707999348640442]
}, {
"screen_space_pos": [0.2899, 0.596],
"ptnum": 62,
"camera_space_pos": [-0.07812026888132095, -0.03571563586592674, -1.127007246017456],
"distance_to_camera": 1.1302759647369385,
"world_space_pos": [0.00021906601614318788, 0.23687300086021423, 0.13033199310302734]
}, {
"screen_space_pos": [0.3139, 0.5867],
"ptnum": 63,
"camera_space_pos": [-0.06870856136083603, -0.03199600800871849, -1.1189546585083008],
"distance_to_camera": 1.1215187311172485,
"world_space_pos": [0.012575019150972366, 0.236067995429039, 0.12659800052642822]
}, {
"screen_space_pos": [0.3478, 0.5933],
"ptnum": 64,
"camera_space_pos": [-0.055928442627191544, -0.03430197015404701, -1.1138408184051514],
"distance_to_camera": 1.1157714128494263,
"world_space_pos": [0.021802011877298355, 0.23151400685310364, 0.11716800183057785]
}, {
"screen_space_pos": [0.3165, 0.5892],
"ptnum": 65,
"camera_space_pos": [-0.06776618212461472, -0.03296057879924774, -1.1192474365234375],
"distance_to_camera": 1.121781349182129,
"world_space_pos": [0.012409014627337456, 0.23537899553775787, 0.12541399896144867]
}, {
"screen_space_pos": [0.2963, 0.5987],
"ptnum": 66,
"camera_space_pos": [-0.07576972991228104, -0.036739446222782135, -1.1274285316467285],
"distance_to_camera": 1.1305688619613647,
"world_space_pos": [0.0006350509938783944, 0.23619699478149414, 0.1278579980134964]
}, {
"screen_space_pos": [0.2877, 0.6149],
"ptnum": 67,
"camera_space_pos": [-0.07967554777860641, -0.04313568398356438, -1.137189269065857],
"distance_to_camera": 1.140792727470398,
"world_space_pos": [-0.011407981626689434, 0.23553800582885742, 0.12541499733924866]
}],
"version": 1,
"gaze_values": {
"eye_left": {
"horizontal_angle": 0.0,
"gaze_vector": [0.07748550176620483, -0.004395884461700916, -0.9969837665557861],
"vertical_angle": 0.0
},
"eye_right": {
"horizontal_angle": 0.0,
"gaze_vector": [0.07748550176620483, -0.004395884461700916, -0.9969837665557861],
"vertical_angle": 0.0
}
},
"pupil_coordinates": {
"pupil_left": {
"screen_space_pos": [0.38961470127105713, 0.39613932371139526],
"camera_space_pos": [-0.04198618233203888, 0.039504487067461014, -1.1526069641113281],
"distance_to_camera": 1.1540477275848389,
"world_space_pos": [0.03165767341852188, 0.31481534242630005, 0.10675903409719467]
},
"pupil_right": {
"screen_space_pos": [0.31282761693000793, 0.47344881296157837],
"camera_space_pos": [-0.04198618233203888, 0.039504487067461014, -1.1526069641113281],
"distance_to_camera": 1.2026057243347168,
"world_space_pos": [0.03165767341852188, 0.31481534242630005, 0.10675903409719467]
}
}
}