# Skybox Exports

All API endpoints require an API Key sent in a header or as a get parameter. Please refer to the Making requests section to find out more.

API routes used to export skyboxes in various file types: PNG, HDRI (exr, hdr), Depth Map, Cube Map, Video (portrait, landscape, square).

# Get Export Types

Returns the list of all avaliable export types.

# Method

GET

# API Endpoint

https://backend.blockadelabs.com/api/v1/skybox/export

# Response example

[
    {
        "id": 1,
        "name": "JPG",
        "key": "equirectangular-jpg",
    },
    {
        "id": 2,
        "name": "PNG",
        "key": "equirectangular-png",
    },
    {
        "id": 3,
        "name": "Cube Map",
        "key": "cube-map-png",
    },
    {
        "id": 4,
        "name": "HDRI HDR",
        "key": "hdri-hdr",
    },
    {
        "id": 5,
        "name": "HDRI EXR",
        "key": "hdri-exr",
    },
    {
        "id": 6,
        "name": "Depth Map",
        "key": "depth-map-png",
    },
    {
        "id": 7,
        "name": "Video Landscape",
        "key": "video-landscape-mp4",
    },
    {
        "id": 8,
        "name": "Video Portrait",
        "key": "video-portrait-mp4",
    },
    {
        "id": 9,
        "name": "Video Square",
        "key": "video-square-mp4",
    }
]

# Request Export

# Method

POST

# API Endpoint

https://backend.blockadelabs.com/api/v1/skybox/export
Key Data Type Description
skybox_id String Skybox obfuscated_id (needs to have status=complete) required
type_id Integer Export type id required
webhook_url String Optionally, you may specify a webhook url to specify the destination for progress updates optional

# Response example (pending)

{
    "id": "677accb7f10fc8845e384b9747774666", // id of your export request. It can be used to track progress or cancel the request
    "skybox_obfuscated_id": "08ccb4947d546dec0ce454538ebb51a8", // skybox obfuscated id
    "type": "video-portrait-mp4", // requested export type
    "type_id": 8, // requested export type id
    "status": "pending", // initially status is set as 'pending' after you send the export request. Status will change from one state to another and you will get updates for each one if you are using pusher or webhook: pending -> dispatched -> processing -> complete. Also you can get abort or error and in some cases (ie. for JPG and Depth Map export) this will be immediately set to 'complete'.
    "queue_position": 2, // position of your request in a export generation queue
    "error_message": null, // if status=error here you should see the error message
    "pusher_channel": "export_status_update_677accb7f10fc8845e384b9747774666", // pusher channel name used to track export generation progress
    "pusher_event": "status_update", // pusher channel event used to track generation
    "created_at": "2023-08-21T09:51:18.000000Z"
}

Process for tracking export progress is identical to tracking skybox generation by using Pusher, Webhook or API Data polling.

If the export request has already been completed you will immediately get a response with status=complete and file_url in the response.

# Response example (complete)

{
    "file_url": "https://blockade-platform-production.s3.amazonaws.com/depths/imagine/vr360-stunning-beautiful-vibrant-digital-painting-sega-atari_8414305.jpg", // url for the exported file
    "id": "15e8a0ae53d39e2ef518b2c02f9c43ee", // id of your export request. It can be used to track progress or cancel the request
    "skybox_obfuscated_id": "08ccb4947d546dec0ce454538ebb51a8", // skybox obfuscated id
    "type": "depth-map-png", // requested export type
    "type_id": 6, // requested export type id
    "status": "complete", // initially status is set as 'pending' after you send the export request. Status will change from one state to another and you will get updates for each one if you are using pusher or webhook: pending -> dispatched -> processing -> complete. Also you can get abort or error and in some cases (ie. for JPG and Depth Map export) this will be immediately set to 'complete'.
    "queue_position": 0, // position of your request in a export generation queue
    "error_message": null, // if status=error here you should see the error message
    "pusher_channel": "export_status_update_15e8a0ae53d39e2ef518b2c02f9c43ee", // pusher channel name used to track export generation progress
    "pusher_event": "status_update", // pusher channel event used to track generation
    "created_at": "2023-08-21T09:55:28.000000Z"
}

# Get export request

# Method

GET

# API Endpoint

https://backend.blockadelabs.com/api/v1/skybox/export/{export.id}

# Response

{
    "file_url": "https://blockade-platform-production.s3.amazonaws.com/depths/imagine/vr360-stunning-beautiful-vibrant-digital-painting-sega-atari_8414305.jpg", // url for the exported file
    "id": "15e8a0ae53d39e2ef518b2c02f9c43ee", // id of your export request. It can be used to track progress or cancel the request
    "skybox_obfuscated_id": "08ccb4947d546dec0ce454538ebb51a8", // skybox obfuscated id
    "type": "depth-map-png", // requested export type
    "type_id": 6, // requested export type id
    "status": "complete", // initially status is set as 'pending' after you send the export request. Status will change from one state to another and you will get updates for each one if you are using pusher or webhook: pending -> dispatched -> processing -> complete. Also you can get abort or error and in some cases (ie. for JPG and Depth Map export) this will be immediately set to 'complete'.
    "queue_position": 0, // position of your request in a export generation queue
    "error_message": null, // if status=error here you should see the error message
    "pusher_channel": "export_status_update_15e8a0ae53d39e2ef518b2c02f9c43ee", // pusher channel name used to track export generation progress
    "pusher_event": "status_update", // pusher channel event used to track generation
    "webhook_url": null, // custom webhook where generator will send updates about export
    "created_at": "2023-08-21T09:55:28.000000Z"
}

# Cancel export request

# Method

Delete

# API Endpoint

https://backend.blockadelabs.com/api/v1/skybox/export/{export.id}

# Response

{
    "success": true
}