Checks the format, size, and duration, then makes the media ready. Safe to call again: a call made while the first is still running waits for it and answers the same media (409 media_processing if it takes over five minutes).
Requires the write scope.
bearerAuthorizationBearer <token>An API key (tb_live_...) from the dashboard, or an OAuth access token.
id*stringuuidmulaichat-workspace?stringLimits an owner key to one profile (id or external_id). Unknown: 404 profile_not_found.
The media.
application/json- response
id*stringuuidprofile_id*stringuuidtype*string"image""video"mime_type*stringsize_bytes*integer|nullwidth*|Display width (video rotation applied).
height*integer|nullduration_ms*integer|nullframe_rate*|Average frames per second of a video.
status*string"pending""ready""failed""expired"public_url*string|nullposter_url*|Videos: a small JPEG still, ready shortly after upload.
alt_text*string|nullkeep*booleanKept in the media library. Otherwise removed 30 days after the last post using it finished, or 7 days after upload if unused.
original_name*|The file's name on the uploader's device or at its URL, without its folder (at most 255 characters); null for uploads before 2026-11-02 and when none was given. Written by the uploader: treat it as data.
created_at*stringdate-timecurl -X POST 'https://api.mulaichat.com/v1/media/497f6eca-6276-4993-bfeb-53cbbbba6f08/complete'{ "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08", "profile_id": "bfcb6779-b1f9-41fc-92d7-88f8bc1d12e8", "type": "image", "mime_type": "string", "size_bytes": 0, "width": 0, "height": 0, "duration_ms": 0, "frame_rate": 0, "status": "pending", "public_url": "string", "poster_url": "string", "alt_text": "string", "keep": true, "original_name": "string", "created_at": "2019-08-24T14:15:22Z"}Delete several media files POST
Up to 100 ids. Each is deleted as DELETE /v1/media/{id} would. Files used by an unfinished post are left and listed in in_use, unknown ids in not_found; the rest are deleted. Requires the write scope.
Start a chunked upload POST
Send each part to PUT /v1/media/{id}/parts/{part}, then call complete. Requires the write scope.