Skip to content

Upload API

API Key New

The Upload API allows you to process files through our intelligent content transformation pipeline. It supports both single file processing and batch processing of multiple files, with API key authentication for secure integration.

Single File Upload

Process a single file or URL through our transformation pipeline.

Single Upload Endpoint

POST /v1/uploads/single

Upload and process a single file or URL.

Terminal window
curl -X POST https://api.shrinked.com/v1/uploads/single \
-H "x-api-key: YOUR_API_KEY" \
-H "content-type: application/json" \
-d '{
"email": "[email protected]",
"language": "en",
"payload": "https://example.com/file.mp3"
}'

Check Task Status

GET /v1/uploads/task/taskId

Check the status of a processing task.

Terminal window
curl -X GET https://api.shrinked.com/v1/uploads/task/task_abc123 \
-H "x-api-key: YOUR_API_KEY"

Batch Processing

Process multiple files at once through our intelligent content transformation pipeline. This is perfect for processing entire directories or multiple media sources simultaneously.

Batch Upload Endpoint

POST /v1/uploads/multi

Process multiple files or URLs in a single request.

Terminal window
curl -X POST https://api.shrinked.com/v1/uploads/multi \
-H "x-api-key: YOUR_API_KEY" \
-H "content-type: application/json" \
-d '{
"email": "[email protected]",
"language": "en",
"payload": [
"https://example.com/file1.mp3",
"https://example.com/file2.mp3",
"https://example.com/file3.mp3"
]
}'

Batch Status Endpoint

GET /v1/uploads/multi/batchId

Check the status of a batch processing job.

Terminal window
curl -X GET https://api.shrinked.com/v1/uploads/multi/batch_xyz890 \
-H "x-api-key: YOUR_API_KEY"

Batch Processing Flow

1

Submit Batch

Upload multiple files or URLs in a single request

2

Process Files

Files are processed in parallel for maximum efficiency

3

Monitor Progress

Check batch status to track individual task completion

4

Access Results

Download or access processed documents for each completed task

Supported File Types

Audio

MP3WAVM4AFLACOGG

Video

MP4MOVAVIMKVWEBM

URLs

YouTubeVimeoSoundCloudDirect Files

Size and Rate Limits

Single Upload Limits

Maximum File Size

5GB

Maximum Duration

4 hours

Rate Limit

10 requests / minute

Batch Upload Limits

Maximum Files Per Batch

50

Maximum Total Size

200GB

Rate Limit

2 batches / minute

Contact support to request higher limits for your account.

Status Codes

queued

Task is waiting to be processed

processing

Task is actively being processed

completed

Task has finished successfully

failed

Task failed to process

Error Handling

If one or more files in a batch fail to process, the API will continue processing the remaining files. Failed tasks will include error information in the status response:

{
"taskId": "task_abc123",
"status": "failed",
"error": {
"code": "FILE_NOT_ACCESSIBLE",
"message": "Unable to access file at provided URL"
}
}

Common Error Codes

Error CodeDescription
FILE_NOT_ACCESSIBLEThe file URL could not be accessed
INVALID_FILE_FORMATThe file format is not supported
PROCESSING_ERRORGeneral error during processing
RATE_LIMIT_EXCEEDEDRequest rate limit exceeded
BATCH_SIZE_EXCEEDEDToo many files in batch request

Best Practices

Start Small

Begin with small batches to test your integration before scaling up.

Implement Retry Logic

Add retry mechanisms for failed tasks to ensure complete processing.

Monitor Progress

Periodically check status to track completion and handle results as they become available.

Handle Partial Success

Design your application to handle cases where some files process successfully while others fail.

Processing Languages

LanguageCode
Englishen
Spanishes
Frenchfr
Germande
Portuguesept
Italianit

Additional languages are being added regularly. Check our documentation for updates.

Coming Soon: Webhook Notifications

In a future update, you will be able to configure webhooks to receive notifications when:

  • Processing jobs complete
  • Individual tasks complete
  • Processing errors occur

This will eliminate the need for polling the status endpoints.