Complete a Multipart Upload
Finalize a direct upload started via POST /v1/files/init-upload. The file then goes through FFprobe for media metadata; status changes as UPLOADED and becomes STORED when analysis completes. See the direct upload guide for the full flow.
status: UPLOADED immediately; poll GET /v1/files/{file_id} — status becomes STORED when analysis completes and metadata (duration, dimensions, codec, mime type, bitrate, etc.) is populated.Authorizations
Path Parameters
Body
One entry per uploaded part, in order. Every part_number from 1 to N must be present.
1Response
Upload completed; file is being ffrpobed
Represents a file stored by rendi. Could either be an uploaded file or a file generated by running a command.
This model contains metadata about files stored in rendi storage, including file details, media information, and storage location.
Unique identifier for the stored file
"987fcdeb-a89b-43d3-b456-789012345678"
The environment this file was stored in (e.g., 'main', 'test', 'dev').
"main"
URL where the file is stored
"https://storage.rendi.dev/123e4567-e89b-12d3-a456-426614174000/output.avi"
Status of the file
QUEUED, DOWNLOADING, DOWNLOADED, UPLOADED, FAILED, STORED "STORED"
Type of storage of the file in rendi
INPUT, OUTPUT, STORED_FILE "STORED_FILE"
Status of any error that occurred during file processing
"UNREACHABLE_INPUT_FILE"
Error details if the file failed to be processed
"Input file url https://rendi.dev/example is not reachable."
Whether the file has been deleted
false
Size of the output file or folder in megabytes
15.2
Number of files in the output folder/playlist
5
Size of the output compressed folder in megabytes
15.2
Whether the file is stored privately. Private files are accessible via their storage_url only if you request a presigned URL by passing presigned_ttl_seconds on GET /v1/files/{file_id} (for a single file) or GET /v1/commands/{command_id} (for a command's output files) to receive a time-limited downloadable URL. Not available on free plans.
false
URL of the original file (or just name in case of uploaded file)
"https://somehwereonline.stored.com/file_to_store.mp4"
Duration of the media file in seconds
30.5
Type of the media file (video, audio, image, subtitles, etc.)
"video"
Format/container of the media file
"avi"
Width of the video in pixels
1920
Height of the video in pixels
1080
Codec used for the media file
"msmpeg4v2"
How time is represented in the media file
"1/25"
How the pixel data is stored in the media file
"yuv420p"
MIME type of the media file
"video/mp4"
Frame rate of the video in frames per second
30
Video bitrate in kilobits per second
4000
Audio bitrate in kilobits per second
128
Video profile level
"main"
Whether the video has a variable frame rate
false