Create Image Optimization
POST
/api/v1/workspaces/{workspace_id}/image_optimizations
const url = 'https://example.com/%7B%7Bapp_url%7D/api/v1/workspaces/1/image_optimizations';const form = new FormData();form.append('file', 'file');
const options = {method: 'POST', headers: {Authorization: 'Bearer <token>'}};
options.body = form;
try { const response = await fetch(url, options); const data = await response.json(); console.log(data);} catch (error) { console.error(error);}curl --request POST \ --url https://example.com/%7B%7Bapp_url%7D/api/v1/workspaces/1/image_optimizations \ --header 'Authorization: Bearer <token>' \ --header 'Content-Type: multipart/form-data' \ --form file=@fileUploads an image and returns presigned URLs for the original and an optimized version.
Authorizations
Section titled “Authorizations”Parameters
Section titled “Parameters”Path Parameters
Section titled “Path Parameters”workspace_id
required
integer
Workspace ID
Request Body
Section titled “Request Body”Media typemultipart/form-data
object
file
required
string format: binary
Responses
Section titled “Responses”Successful
Media typeapplication/json
object
original
required
object
key
required
string
presigned_url
required
string
file_size
required
integer
width
required
integer
height
required
integer
format
required
string
optimized
required
object
key
required
string
presigned_url
required
string
file_size
required
integer
width
required
integer
height
required
integer
format
required
string
Example
{ "original": { "key": "temp/0e6f1b60-7f1a-4c60-9e4a-5a6b7c8d9e10/original", "presigned_url": "https://example.com/temp/original-abc123.png", "file_size": 248192, "width": 1600, "height": 1200, "format": "image/png" }, "optimized": { "key": "temp/0e6f1b60-7f1a-4c60-9e4a-5a6b7c8d9e10/optimized", "presigned_url": "https://example.com/temp/optimized-abc123.webp", "file_size": 48192, "width": 1600, "height": 1200, "format": "image/webp" }}Unauthorized
Media typeapplication/json
object
message
required
string
Example
{ "message": "Record not found"}Forbidden
Media typeapplication/json
object
message
required
string
Example
{ "message": "Record not found"}Unprocessable Entity
Media typeapplication/json
object
message
required
string
errors
required
object
key
additional properties
Array<string>
Example
{ "errors": { "username": [ "Username is required.", "Username must be unique." ], "email": [ "Invalid email format." ] }}