Skip to main content
POST
/
openapi
/
v1
/
assets
/
material
/
upload
/
multipart
/
complete
Complete multipart upload
curl --request POST \
  --url https://api.vmeg.ai/openapi/v1/assets/material/upload/multipart/complete \
  --header 'Authorization: Bearer <token>' \
  --header 'Content-Type: application/json' \
  --header 'X-Idempotency-Key: <x-idempotency-key>' \
  --data '
{
  "materialId": "<string>",
  "uploadId": "<string>",
  "fileHash": "<string>",
  "fileName": "<string>",
  "parts": [
    {
      "partNumber": 123,
      "eTag": "<string>"
    }
  ]
}
'
{
  "code": 200,
  "message": "",
  "data": {
    "materialId": "<string>",
    "category": "video",
    "name": "<string>",
    "addressUrl": "<string>",
    "thumbnailUrl": "<string>",
    "audioUrl": "<string>",
    "resolution": "1920x1080",
    "mimeType": "<string>",
    "fileHash": "<string>",
    "filesize": 123,
    "duration": 123,
    "createTime": "<string>",
    "updateTime": "<string>"
  }
}

Documentation Index

Fetch the complete documentation index at: https://docs.vmeg.ai/llms.txt

Use this file to discover all available pages before exploring further.

Authorizations

Authorization
string
header
required

Send your API Key in the Authorization header (Bearer <api_key>). See Authentication.

Headers

X-Idempotency-Key
string
required

Required on mutating POST requests that create tasks or change persisted data (max 64 characters). See Idempotency.

Maximum string length: 64

Body

application/json
materialId
string

Material ID from multipart initiate. See Materials

uploadId
string

Multipart upload session ID

fileHash
string

MD5 hash of the full file

fileName
string

Original file name including extension

parts
object[]

Uploaded parts with partNumber and eTag from each PUT

Response

200 - application/json

Success

code
integer
required

Business code; 200 means success

Example:

200

message
string

Human-readable detail when code is not success

Example:

""

data
object