# 偵錯指南

1. **Invalid TaskId 錯誤**
**原因：** 若任務超過保留期限，之後任何狀態查詢都會回傳 InvalidTaskId 錯誤。為避免此情況，請在啟動 AI 任務後設定 webhook 或實作輪詢，並在保留期限內持續監控其狀態，直到抵達 success 或 error 的最終狀態。
**解法：** 為避免任務過期，請實作輪詢迴圈，在保留期限內以固定間隔檢查任務狀態。
2. **使用 AI API 時出現 404 Not Found 錯誤**
**答：** ***重要***：僅呼叫 File API 並不會上傳您的檔案。您必須手動將檔案上傳到 File API 回應中提供的網址。該網址就是您的上傳目的地，請確認檔案已成功傳送到該處後再繼續。
在呼叫 AI API 之前，請確認檔案已成功上傳。使用 File API 取得上傳網址，然後將檔案上傳至該位置。上傳完成後，回應中會收到一個 ***file_id***，這個 ID 就是您存取該檔案相關 AI 功能時要使用的識別碼。
3. **API 回應在 Postman 上回傳相同的 style ID**
**答：** 這是因為 Postman（Pretty view）與 Chrome 使用 JavaScript 解析 JSON 回應。在 JavaScript 中，大於 9007199254740991（2^53-1）的數字無法被精確表示。它們會被四捨五入到最接近的可表示值，使得不同的 ID 看起來完全相同（例如 219691778809271815 → 219691778809271800）。
  * JavaScript/JSON 中的精度遺失與錯誤處理
    * 原因：JavaScript 的 Number 型別無法安全處理超過 2^53 - 1 的整數，會造成無聲的截斷或四捨五入。
    * 解法：使用如 ***json-bigint*** 的 JSON 解析器，將 ID 視為字串以保留完整精度。
4. **Beard 認證 400 錯誤**
**答：** 使用 V2 API 時，您必須在每個請求中加入 API 金鑰，也就是加上 Bearer 授權標頭。未如此做將會造成認證錯誤。
**正確的請求標頭格式**

```
Authorization: Bearer YOUR_API_KEY
```
**常見問題**
  1. **缺少 Bearer 前綴**
`Authorization` 標頭必須以 `Bearer` 開頭，後接 API 金鑰。
範例：

```
Authorization: YOUR_API_KEY
```
  2. **多餘的字元**
不要在 API 金鑰兩側加上尖括號 `<` 或 `>`。這些字元是不需要的，會造成請求失敗。
範例：

```
Authorization: Bearer <YOUR_API_KEY>
```
  3. **API 金鑰不正確**
請確認 `Authorization` 標頭中提供的 API 金鑰正確且有效。