Chuyển đến nội dung chính
LocoPal AiLocoPal Ai
Tích hợp API

Hướng dẫn

Mã lỗi và khắc phục

Trạng thái HTTP, ý nghĩa mã lỗi, lỗi thường gặp của mô hình và tư liệu, giới hạn tần suất và các bước khắc phục

Xem Markdown

Mã lỗi và khắc phục

Khi khắc phục trước tiên ghi lại: mã trạng thái HTTP, định danh yêu cầu do nền tảng trả về, ID mô hình, ID tác vụ, ID tư liệu và mã lỗi gốc.

Đừng ghi lại khóa API, Token phiên người thật hoặc địa chỉ tải tư liệu đầy đủ; trước khi gửi cho hỗ trợ nền tảng hãy che thông tin nhạy cảm trước.

Ý nghĩa trạng thái HTTP

Trạng tháiÝ nghĩaXử lý
200Yêu cầu thành công (trạng thái trung gian của tác vụ bất đồng bộ cũng là 200)Đọc trường trạng thái trong phần thân phản hồi
400Tham số sai, định dạng phần thân yêu cầu sai, thiếu modelSửa yêu cầu theo error.message hoặc msg
401API keys thiếu, sai hoặc đã hết hiệu lựcKiểm tra Authorization và trạng thái Key
403Không có quyền (ví dụ truy cập tư liệu của tài khoản khác)Xác nhận tài nguyên thuộc tài khoản hiện tại
404Tài nguyên không tồn tại, không thuộc tài khoản hiện tại, hoặc phương thức không khớpĐối chiếu ID; nếu đường dẫn đúng, xác nhận lại phương thức HTTP
429Yêu cầu quá thường xuyênLùi lại rồi thử lại, không thử lại đồng thời
500Lỗi nội bộ nền tảngGhi lại định danh yêu cầu rồi thử lại; nếu thất bại liên tục hãy liên hệ hỗ trợ
502Xử lý tư liệu thất bại hoặc dịch vụ phụ thuộc bất thườngThử lại sau; nếu thất bại liên tục hãy liên hệ hỗ trợ

404 có ba nguyên nhân, đừng mặc định cho rằng "viết sai ID"

Đây là điểm dễ chẩn đoán nhầm nhất khi khắc phục:

Tình huốngBiểu hiện thực tế
Tài nguyên không tồn tại / không thuộc tài khoản hiện tạiGET /api/v1/materials/assets/<不存在> → 404
Gửi GET tới đường dẫn chỉ hỗ trợ POSTGET /v1/chat/completions → 404; GET /v1/images/generations → 404
Viết sai đường dẫn404

Khi nhận 404, trước tiên xác nhận đường dẫn và phương thức có khớp nhau không, rồi mới nghi ngờ ID.

Không tìm thấy tác vụ video trả về 400, không phải 404

Điểm này không nhất quán với các API khác, cần đặc biệt lưu ý:

Yêu cầuTrạng thái thực tếPhần thân phản hồi
GET /v1/video/generations/<不存在>400{"code":"task_not_exist","message":"task_not_exist","data":null}
GET /v1/videos/<不存在>400Như trên
GET /api/v1/materials/assets/<不存在>404{"code":404,"data":null,"msg":"素材不存在或无权访问"}

Truy vấn tác vụ video trả về bằng cấu trúc 400 + cấp cao nhất {code, message, data}, không phải 404, cũng không phải cấu trúc đối tượng error nói dưới đây.

Phản hồi lỗi có ba cấu trúc

1. API tạo sinh mô hình / hình ảnh / video — đối tượng error

Khi thất bại trả về HTTP không phải 2xx, kèm một đối tượng error:

{
  "error": {
    "code": "invalid_parameter",
    "message": "请求参数不符合所选模型要求",
    "type": "invalid_request_error",
    "param": "size"
  }
}
TrườngMô tả
codeMã lỗi, có thể là chuỗi rỗng (xem dưới)
messageNguyên nhân dễ đọc, thường chứa request id
typeĐịnh danh loại lỗi. Thực tế với xác thực thất bại, mô hình không tồn tại, phần thân yêu cầu không hợp lệ đều là new_api_error
paramChỉ xuất hiện khi lỗi loại tham số, chỉ ra trường nào

code có thể là chuỗi rỗng. Thực tế: khi xác thực thất bại và khi JSON phần thân yêu cầu không phân tích được, code đều là "". Đừng dùng việc code có rỗng hay không để phán đoán "có phải lỗi không", hãy lấy mã trạng thái HTTP làm chuẩn, và ưu tiên đọc message.

type không phải trường phân loại ổn định. Khi cần phân loại hãy đọc code, đừng phụ thuộc vào giá trị của type.

2. API thư viện tư liệu — code cấp cao nhất

Trả về HTTP không phải 2xx, code trùng với trạng thái HTTP:

{ "code": 404, "data": null, "msg": "素材不存在或无权访问" }

3. Truy vấn tác vụ video — chuỗi code cấp cao nhất

{ "code": "task_not_exist", "message": "task_not_exist", "data": null }

Lưu ý code ở đây là chuỗi task_not_exist, không phải số.

request id: định danh then chốt để khắc phục vấn đề

Nền tảng ghi thẳng request id vào error.message, không cần tìm trong header:

"message": "Invalid token (request id: 202609221135501066578648268d9d6uXuM5QgH)"

Lấy ra bằng một dòng lệnh:

curl -s "$LOCOPAL_BASE_URL/v1/models" \
  -H "Authorization: Bearer sk-invalid" \
  | grep -oE 'request id: [A-Za-z0-9]+'

Khi gửi ticket kèm request id này, có thể rút ngắn đáng kể thời gian định vị.

Xác thực thất bại

Khi API keys thiếu, sai hoặc đã hết hiệu lực, tất cả API đều trả về HTTP 401 và:

{
  "error": {
    "code": "",
    "message": "Invalid token (request id: ...)",
    "type": "new_api_error"
  }
}

Lưu ý code là chuỗi rỗng — đây chính là lý do phần trên nhắc "đừng phụ thuộc code".

Lỗi mô hình và tạo sinh

Mã lỗi / thông báoNguyên nhânXử lý
Model name not specifiedPhần thân yêu cầu thiếu trường modelBổ sung ID mô hình từ /v1/models
model_not_foundID mô hình không tồn tại, hoặc Key / nhóm hiện tại không có mô hình đóTruy vấn lại /v1/models và dùng id trả về
No available channelNhóm hiện tại không có kênh khả dụngĐổi sang mô hình cùng loại hoặc liên hệ hỗ trợ nền tảng
invalid_parameterTổ hợp tham số không được mô hình hiện tại hỗ trợĐiều chỉnh kích thước, tỷ lệ, thời lượng... theo trường param
unknown_parameterMô hình / kênh hiện tại không nhận diện trường yêu cầu (ví dụ response_format của API hình ảnh)Xóa trường không được hỗ trợ theo param, dùng hành vi mặc định của mô hình
InvalidParameter / upstream_errorMô hình thượng nguồn từ chối tham số (ví dụ không đáp ứng số pixel tối thiểu của hình ảnh)Đọc message để điều chỉnh kích thước hoặc tham số
credit_balance_exhausted / insufficient_quotaKênh thượng nguồn hiện tại không có số dư khả dụngĐổi sang mô hình / kênh cùng loại, hoặc liên hệ hỗ trợ nền tảng bổ sung số dư kênh
ResourceDownloadFailedĐịa chỉ ảnh / video tham chiếu không thể tải trực tiếpDùng địa chỉ HTTPS truy cập công khai, hoặc chuyển sang asset:// của thư viện tư liệu
task_not_existID tác vụ truy vấn không tồn tại hoặc không thuộc tài khoản hiện tạiĐối chiếu ID tác vụ với tài khoản lúc tạo tác vụ
video_generation_failedTác vụ video đã được tiếp nhận, nhưng giai đoạn gửi thượng nguồn, xử lý tư liệu, duyệt hoặc tạo sinh cuối cùng thất bạiĐọc error.message trong cùng phản hồi; giữ ID tác vụ, sau khi sửa tư liệu hoặc tham số để người dùng chủ động gửi lại
Mô hình hiện tại không hỗ trợ thư viện tư liệu người thậtTư liệu người thật bị gửi tới mô hình không có năng lực đóĐổi sang mô hình hỗ trợ thư viện tư liệu người thật, đừng dùng URL ảnh thường để lách qua
insufficient_user_quotaSố dư tài khoản hoặc hạn mức khóa API hiện tại không đủ để chi trả mức tiêu hao ước tính lần nàyNạp tiền hoặc điều chỉnh tham số theo "mức dự kiến cần lần này / hiện có khả dụng" trong lỗi rồi thử lại; lúc này sẽ không tạo tác vụ
缺少提示词:请在 prompt 或 content 的 text 元素中提供文本描述Tác vụ video không có mô tả văn bảnBổ sung prompt hoặc phần tử text trong content
content[0].role 不支持 ...Vai trò tư liệu tham chiếu không nằm trong danh sách cho phépĐổi sang reference_image, first_frame, last_frame, reference_video, reference_audio
素材库中找不到素材 ...Tư liệu asset:// không tồn tại hoặc không thuộc tài khoản hiện tạiTrước tiên gửi tư liệu và chờ trạng thái khả dụng, hoặc đối chiếu tài khoản
task_concurrency_exceededTác vụ tạo sinh mà tài khoản hiện tại hoặc nền tảng đang xử lý đồng thời đã đạt giới hạn đồng thời (HTTP 429)Theo "hiện có N / giới hạn M" trong thông báo, chờ tác vụ hiện có hoàn tất rồi mới gửi; đừng thử lại liên tục

Lỗi thư viện tư liệu

HTTPThông báoNguyên nhânXử lý
400请求体必须是 JSON 对象Phần thân yêu cầu không phải JSON hợp lệSửa phần thân yêu cầu
400type 只能是 virtual 或 realGiá trị type saiSửa type
400素材分组名称不能为空 / 不能超过 64 个字符Thiếu tên hoặc tên quá dàiSửa tên
400素材分组说明不能超过 300 个字符Mô tả quá dàiRút ngắn mô tả
400缺少 group_idKhông cung cấp nhóm khi gửi tư liệuBổ sung group_id
400image_url 必须是可公开下载的 http(s) 地址…Địa chỉ không phải http(s) hoặc không đầy đủĐổi sang địa chỉ http(s) công khai, hoặc dùng data_url
400image_url 与 data_url 只能提交一个Gửi đồng thời hoặc đều không gửiChỉ giữ một trường
400data_url 必须是 data:image/...;base64,... 格式 / 图片数据无效或超过 20MBĐịnh dạng dữ liệu tải lên sai hoặc quá lớnSửa dữ liệu hoặc đổi sang image_url
404素材不存在或无权访问ID tư liệu sai, đã xóa hoặc không thuộc tài khoản hiện tạiDùng asset_id trả về khi gửi tư liệu
404素材分组不存在或无权访问 / 素材分组不存在或不属于当前账号ID nhóm sai hoặc không thuộc tài khoản hiện tạiDùng ID nhóm thuộc tài khoản của bạn
404素材分组不存在或不是虚拟素材分组Gửi hình ảnh vào nhóm realHình ảnh chỉ có thể gửi vào nhóm virtual
429Yêu cầu quá thường xuyênPoll quá nhanh hoặc đồng thời quá caoLùi lại thử lại theo thông báo
500 / 502 / 503素材服务暂不可用Dịch vụ tư liệu bất thường hoặc năng lực chưa được kích hoạtGiữ thông tin yêu cầu rồi thử lại; nếu thất bại liên tục hãy liên hệ hỗ trợ

Tư liệu chưa duyệt xong không phải lỗi: truy vấn trả về 200, status là Processing, chỉ cần tiếp tục poll cùng một ID tư liệu.

Mô hình suy luận xuất ra rỗng cũng không phải lỗi HTTP: nếu trả về 200, finish_reason là length, và usage.completion_tokens_details.reasoning_tokens đã chiếm đầy giới hạn đầu ra, nên tăng hạn mức đầu ra hoặc đổi sang mô hình không suy luận.

Lỗi ủy quyền chân dung

Thông báoNguyên nhânXử lý
Phiên ủy quyền không tồn tại hoặc không có quyền truy cậpPhiên đã hết hạn, đã dùng hoặc thuộc người dùng khácNgười dùng hiện tại tạo lại mã QR
Ủy quyền chưa hoàn tấtNgười dùng chưa hoàn tất thu thập trên điện thoạiGiữ mã QR, hoàn tất rồi mới phân giải
Tư liệu người thật này đã liên kết với người dùng khácCùng một nhóm người thật không thể tái sử dụng xuyên tài khoảnDùng tài khoản đã liên kết ban đầu, hoặc để chính người đó ủy quyền lại
Dịch vụ tư liệu tạm thời không khả dụngKênh ủy quyền hiện không khả dụngGhi lại thời gian yêu cầu rồi liên hệ hỗ trợ nền tảng; đừng dùng tải ảnh thường thay cho thu thập người thật

Giới hạn tần suất và thử lại

  • 429 nghĩa là yêu cầu quá thường xuyên, lùi lại thử lại theo thông báo, không thử lại đồng thời;
  • Trạng thái tư liệu khuyến nghị truy vấn mỗi 5~10 giây, tác vụ video mỗi 5~15 giây;
  • Chỉ thử lại với 429 và 5xx tạm thời; 400 / 401 / 403 / 404 sửa trực tiếp yêu cầu;
  • Trước khi thử lại hãy truy vấn theo ID tác vụ / ID tư liệu, tránh tạo trùng và tính phí trùng.

Tự kiểm tra nhanh

  1. Authorization có phải Bearer <API Key>, Key còn ở trạng thái bật hay không;
  2. Tên miền yêu cầu có phải địa chỉ hiện được chỉ định trong bảng điều khiển (mặc định https://locopalai.com, mô hình hải ngoại có thể là https://us-api.locopalai.com);
  3. model có đến từ data[].id của /v1/models hay không;
  4. status của tư liệu đã là Active chưa;
  5. Địa chỉ ảnh / video tham chiếu có phải địa chỉ http(s) truy cập trực tiếp từ công cộng, và không phụ thuộc Cookie hay Referer;
  6. Cùng một tác vụ / tư liệu đã từng bị gửi trùng chưa.

Khi gửi hỗ trợ vui lòng kèm theo

  • Thời gian yêu cầu và đường dẫn API;
  • Mã trạng thái HTTP và phần thân phản hồi đầy đủ (che khóa API);
  • Định danh yêu cầu, ID tác vụ hoặc ID tư liệu do nền tảng trả về;
  • ID mô hình và tham số liên quan;
  • Ví dụ yêu cầu tối thiểu có thể tái hiện.
Trang này có hữu ích không?

Trong trang này