Upload qua presign

POSThttps://sangtao.ai/api/v2/images/presign

Upload ảnh tới 25 MB và nhận về URL, dùng làm ảnh tham chiếu.

Hai lượt gọi: xin một link, rồi gửi file lên chính link đó. File đi thẳng lên kho lưu trữ chứ không qua máy chủ của chúng tôi, nên đường này nhận file tới 25 MB.

Headers

X-Api-Keystringbắt buộc

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

Content-Typestringbắt buộc

application/json

Request

fileNamestringbắt buộc

Tên tuỳ ý — chỉ phần đuôi có ý nghĩa, vì nó quyết định cách file được trả về sau này.

contentTypestringbắt buộc

image/png · image/jpeg · image/webp

Response

sasUrlstring

Nơi để PUT file lên. Chữ ký đã nằm sẵn trong URL nên request đó không cần X-Api-Key — nhưng bắt buộc có cả x-ms-blob-type: BlockBlob và Content-Type. Link hết hạn sau vài phút, xin xong thì tải lên luôn.

publicUrlstring

Địa chỉ ảnh sẽ nằm sau khi tải lên. Đây chính là giá trị truyền vào referenceImages.

blobPathstring

Vị trí file trong kho lưu trữ. Hữu ích nếu bạn tự lập chỉ mục ảnh đã tải lên; không cần để sinh ảnh.

POST/images/presign
curl -X POST \
  https://sangtao.ai/api/v2/images/presign \
  -H "X-Api-Key: YOUR_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "fileName": "design.png",
    "contentType": "image/png"
  }'
{
  "success": true,
  "data": {
    "sasUrl": "https://sangtaoai.blob.core.windows.net/content/.../design.png?sv=...&sig=...",
    "blobPath": "284c42a4-.../745c53c6-....png",
    "publicUrl": "https://sangtaoai.blob.core.windows.net/content/.../design.png"
  },
  "error": null,
  "errorCode": null
}