Skip to main content
POST
/
openapi
/
v1
/
assets
/
material
/
upload
/
gen-upload-url
Generate presigned upload URL
curl --request POST \
  --url https://api.vmeg.ai/openapi/v1/assets/material/upload/gen-upload-url \
  --header 'Authorization: Bearer <token>' \
  --header 'Content-Type: application/json' \
  --header 'X-Idempotency-Key: <x-idempotency-key>' \
  --data '
{
  "fileHash": "<string>",
  "fileName": "<string>"
}
'
{
  "code": 200,
  "message": "",
  "data": {
    "uploadUrl": "<string>",
    "material": {
      "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>"
    },
    "s3Uri": "<string>",
    "materialId": "<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
fileHash
string
required

File MD5 hash

fileName
string
required

File name including extension

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