sangtao.ai
API key

User Assets

Xác nhận upload

Bước 3 khi upload asset: đăng ký file đã upload thành asset.

POSThttps://api.sangtao.ai/v2/user-assets/confirm

Xác thực

  • X-Api-Keystring · headerbắt buộc

    API key của bạn, tạo ở trang API key trong tài khoản.

Body

  • fileKeystringbắt buộc

    fileKey mà bước presign trả về

  • fileNamestringbắt buộc

    Tên file gốc

  • contentTypestringbắt buộc

    MIME type

  • fileSizeBytesnumberbắt buộc

    Kích thước file (bytes)

  • purposestring

    Mục đích asset — ý nghĩa từng giá trị: bảng Giá trị Purpose ở trang Tạo link upload

    Giá trị có thể:outro_videointro_videologowatermarkbackground_musicvoiceoverthumbnailgeneral

  • labelstring

    Nhãn hiển thị

  • durationSecnumber

    Thời lượng giây (video/audio)

  • aspectRatiostring

    Tỷ lệ khung (ví dụ "16:9")

Response

Asset, gồm các field sau:

  • idstringbắt buộc

    ID của asset, ua_ cộng 9 ký tự chữ và số (ví dụ "ua_3kT9qPz0B")

  • urlstringbắt buộc

    URL công khai của asset

  • fileNamestringbắt buộc

    Tên file gốc

  • mimeTypestringbắt buộc

    MIME type (ví dụ "video/mp4")

  • fileSizeBytesnumberbắt buộc

    Kích thước (bytes)

  • categorystringbắt buộc

    Tự phát hiện

    Giá trị có thể:videoimageaudiodocument

  • purposestringbắt buộc

    Mục đích asset

    Giá trị có thể:outro_videointro_videologowatermarkbackground_musicvoiceoverthumbnailgeneral

  • labelstring

    Nhãn hiển thị (nullable)

  • thumbnailUrlstring

    URL thumbnail (nullable)

  • durationSecnumber

    Thời lượng (video/audio)

  • aspectRatiostring

    Tỷ lệ khung

  • hasAudioboolean

    File có audio track không (video/audio)

  • createdAtstring

    Thời điểm tạo (ISO 8601)

Mã lỗi

MãerrorCodeKhi nào
400UNSUPPORTED_FILE_TYPEContent type không được nhận cho category này (xem Giới hạn theo Category)
400VALIDATION_ERRORThiếu fileKey
400UPLOAD_FAILEDKhông xác nhận được file đã tải lên (lỗi lưu trữ) — thử lại
409ASSET_ALREADY_CONFIRMEDfileKey này đã được xác nhận rồi
429QUOTA_EXCEEDEDĐã chạm trần số file hoặc dung lượng của category
POST/user-assets/confirm
curl -X POST "https://api.sangtao.ai/v2/user-assets/confirm" \
  -H "X-Api-Key: YOUR_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "fileKey": "d15ed…/user-assets/1e65….png",
    "fileName": "my-logo.png",
    "contentType": "image/png",
    "fileSizeBytes": 245000,
    "purpose": "logo"
  }'
{
  "success": true,
  "data": {
    "id": "ua_3kT9qPz0B",
    "url": "https://blob.sangtao.ai/user-assets/abc123/my-logo.png",
    "fileName": "my-logo.png",
    "mimeType": "image/png",
    "fileSizeBytes": 245000,
    "category": "image",
    "purpose": "logo",
    "label": "My Brand Logo",
    "thumbnailUrl": null,
    "durationSec": null,
    "aspectRatio": null,
    "hasAudio": false,
    "createdAt": "2026-06-08T10:30:00Z"
  }
}