POST/v1/files

/v1/files

上傳檔案到 Gateway,之後在 chat 或 messages 請求中用回傳的 id(格式 an_<ULID>)引用它。

上傳檔案#

curl https://api.atptoken.ai/v1/files \
  -H "Authorization: Bearer atp-..." \
  -F "file=@./input.pdf"
# → 201 { "id": "an_01H...", "object": "file", "bytes": 152340, "filename": "input.pdf", ... }
檔案 ID 欄位是 `id`

回應與 OpenAI Files 相容,檔案 ID 在 id。重複上傳相同內容會回傳同一個 id,HTTP 由 201 變 200(以 SHA-256 去重)。

端點#

POST /v1/files

multipart/form-data 上傳,帶一個 file part。上限 20 MB。相同位元組會以 SHA-256 去重。

GET /v1/files/:id

回傳 302 導向物件儲存上的短效 presigned URL。跟隨重導即可下載。

把上傳的檔案當媒體參考 URL 用#

/v1/files 的 id 不是 asset:// 引用,媒體端點無法用 id 取檔。Seedance 影片只接受另一套素材 API 產生的 asset:// URI,見影片生成。要把上傳的圖片餵給圖片編輯或圖生影片模型,請對 GET /v1/files/{id} 不要跟隨重導、直接讀 Location header,拿那個 URL 用:

上傳 → 媒體參考 URL
  1. 上傳檔案
    POST/v1/files回 201,帶 id(an_…)
  2. 不跟隨重導地解析
    GET/v1/files/{id}讀 302 的 Location header
  3. 立刻建立任務
    presigned URL時效約 15 分鐘
curl -sD - -o /dev/null https://api.atptoken.ai/v1/files/an_01H... \
  -H "Authorization: Bearer atp-..." | grep -i '^location:'
# → location: https://<object-store>/gateway-files/...?<presigned>

這個 presigned URL 免驗證即可下載——正是上游供應商需要的形式——時效約 15 分鐘。請在建立任務前才解析、不要快取。另見圖像生成與影片生成。

這頁有幫助嗎?