Skip to main content
POST
Get upload URL for build context

Uploading Your Context

After receiving the upload URL and fields, upload your context archive using a multipart form POST request:
The context archive must be a gzipped tar file (.tar.gz). The upload URL validates both the content type and file size.
Field names are case-sensitive. When uploading to S3, you must use the exact field names returned in uploadFields (e.g., X-Amz-Algorithm, not x-amz-algorithm). Using incorrect casing will result in authentication errors.

Creating the Context Archive

Your context archive should contain your Dockerfile and all files needed for the build:
The maximum context size is 500MB. Use a .dockerignore file to exclude unnecessary files and keep your context small for faster uploads and builds.

Authorizations

Authorization
string
header
required

Authentication using a Pipecat Cloud API token.

Body

application/json
region
string
required

Target region for the build. Must be a region where cloud builds are enabled.

Example:

"us-west"

Response

Upload URL generated successfully

uploadId
string<uuid>

Unique identifier for this upload. Use this when creating the build.

Example:

"550e8400-e29b-41d4-a716-446655440000"

uploadUrl
string<uri>

Pre-signed URL to upload your context archive. Use HTTP POST with form-data.

Example:

"https://daily-co-pcc-build-context.s3.amazonaws.com"

uploadFields
object

Form fields that must be included when uploading to the pre-signed URL.

Example:
expiresAt
string<date-time>

When the upload URL expires. Upload must complete before this time.

Example:

"2026-02-20T12:15:00.000Z"