Media Service

Upload a video file

post
https://api.typeform.com/media/videos

Creates a new video upload. Returns an upload URL where the video file should be uploaded via PUT request.

Upload Process:

  1. Call this endpoint to create a video upload and receive an upload_url and id
  2. Upload your video file to the upload_url using a PUT request with the video file (ReadStream) as the body

Note: The upload_url is a temporary signed URL that expires after a short period.

Request

Request Body

field_id
string

Field ID within the form where this media belongs

form_id
string

Unique ID for the form. Find in your form URL. For example, in the URL "https://mysite.typeform.com/to/u6nXL7" the form_id is u6nXL7.

language
string

Language code for the media content (ISO 639-1 format). Used for automatic transcription and captioning.

Responses

Status

201 Video upload created successfully

Schema

id
string

Unique identifier for the created media file

upload_url
string

Temporary signed URL where the media file should be uploaded using a PUT request. This URL expires after a short period (typically 24 hours).

Example

{
  "id": "video_abc123def456",
  "upload_url": "https://storage.googleapis.com/mux-input-prod/signed-upload-url?signature=xyz..."
}

Status

400 Bad request - invalid input

Schema

code
string

Error code identifying the type of error

details
object

Additional error details specific to the error type

message
string

Human-readable error message