To process files and save the transformed results back to your Bytescale account (as opposed to downloading the results):
Create a file transformation URL (see ProcessFile docs).
Test the file transformation URL (with GET).
Add /save to the URL (after your account ID).
Submit a POST request to the URL (with the request body described below).
Tip: the ProcessFile operation is easier to use than the ProcessFileAndSave operation as it uses GET instead of POST requests. Bytescale's permanent caching ensures files transformed via the ProcessFile operation are only transformed once, no matter how many times they are requested. This means the ProcessFile operation is a viable and simpler solution for most use cases.
1curl "https://upcdn.io/{accountId}/save/{transformation}/{filePath}{?params}" \2 -H "Authorization: Bearer YOUR_API_KEY" \3 -H "Content-Type: application/json" \4 -d @- << EOF5 {6 "destination": "/destination/image.jpg"7 }8EOF1{2 "async": false,3 "accountId": "A623uY2",4 "filePath": "/my-processed-image.jpg",5 "fileUrl": "https://upcdn.io/A623uY2/raw/my-processed-image.jpg"6}Your account ID.
This is visible on the settings page:
https://www.bytescale.com/dashboard/settings
Example: "A623uY2"
Type: String
Length: 7
Absolute path to a file. Begins with a /.
Example: "/uploads/image.jpg"
Type: String
Min Length: 1
Max Length: 512
The name of the File Processing API (e.g. image, video, audio) or transformation preset (created in the Bytescale Dashboard) to use when processing the file.
Example: "image"
Type: String
Min Length: 1
Max Length: 100
Each File Processing API requires additional query string parameters to specify the desired transformation behavior.
For details, refer to the relevant documentation:
•https://www.bytescale.com/docs/image-processing-api
•https://www.bytescale.com/docs/video-processing-api
•https://www.bytescale.com/docs/audio-processing-api
•https://www.bytescale.com/docs/archive-processing-api
•https://www.bytescale.com/docs/antivirus-api
Type: TransformationParams
Add one of these Authorization header values to your request:
•Option 1: prefix "Bearer " to your API key. The result is your Authorization header value.
•Option 2: use HTTP basic authorization with apikey as your username and your API key as your password.
For advanced options, please see:
https://www.bytescale.com/docs/auth
Type: String
This endpoints requires a JSON request body.
Type: String
Value: "application/json"
This website uses cookies. By continuing you are consenting to the use of cookies per our Cookie Policy. Our legal policies were last updated May 7 2026.
This website requires a modern web browser -- the latest versions of these browsers are supported: