Tham chiếu REST API
Tra cứu route thật, xác thực cục bộ, gửi chống trùng và tải kết quả của khoá.

Trước khi bắt đầu
- Dùng script hoặc HTTP client cùng PC, không dùng trang web hay connector cloud.
- Bật máy chủ desktop và chuẩn bị khoá có đủ quyền cho quy trình.
Các bước
Kiểm tra tình trạng và schema hiện tại
Dùng URL gốc hiện tại trong Cài đặt.
GET /v1/healthvàGET /v1/openapi.jsonkhông cần khoá nhưng vẫn kiểm Origin/Host. Các route REST còn lại bên dưới cần khoá Bearer.curl.exe http://127.0.0.1:47831/v1/status -H "Authorization: Bearer <your local API key>"Chỉ dùng route đã triển khai
GET /v1/health— tình trạng máy chủ, không cần khoá.GET /v1/openapi.json— OpenAPI 3.1, không cần khoá.GET /v1/statusGET /v1/modelsGET /v1/voicesGET /v1/charactersPOST /v1/charactersPATCH /v1/characters/{id}POST /v1/referencesPOST /v1/jobsGET /v1/jobsGET /v1/jobs/{id}GET /v1/jobs/{id}/waitPOST /v1/jobs/{id}/cancelPOST /v1/outputs/{id}/extendPOST /v1/outputs/{id}/editPOST /v1/outputs/{id}/upscaleGET /v1/outputs/{id}/contentHEAD /v1/outputs/{id}/content
Thay
{id}bằng mã nhân vật, việc hoặc đầu ra tương ứng. Thao tác đọc cầnread; tải tham chiếu, gửi/huỷ việc và thao tác tiếp theo trên đầu ra cầngenerate; ghi nhân vật cầncharacters./mcplà giao thức MCP riêng, không phải thao tác REST.Chuẩn bị tham chiếu và gửi một lần
Đọc
/v1/modelstrước khi chọn model và lấy trường tạo việc từ OpenAPI. Gửi JSON vớiContent-Type: application/json.POST /v1/jobsvà thao tác extend/edit/upscale yêu cầuIdempotency-Key(1–200 ký tự ASCII hiển thị được). Giữ nguyên khoá và thân yêu cầu khi thử lại: gửi lại nhận đúng việc cũ, còn cùng khoá nhưng khác nội dung trả 409. Việc mới trả 201; yêu cầu phát lại trả 200 kèmidempotent-replayed: true.Tải tham chiếu dưới dạng byte media trực tiếp tới
/v1/references, không gửi đường dẫn tệp trong JSON. Video cầnX-Rights-Confirmed: true;X-File-Nametuỳ chọn dùng để đặt tên.Chờ, phân trang và tải về
Dùng
GET /v1/jobs/{id}/wait?timeout=50; thời gian được chặn trong khoảng 0–50 giây (mặc định 30). Xemx-wait-resultvà việc trả về; hết thời gian chờ không phải việc thất bại. Tiếp tục chờ cùng việc tớidone,failedhoặccancelled.GET /v1/jobs?limit=20&cursor=…trả việc mới nhất trước vớinextCursor; mỗi trang tối đa 100 việc. Tải đầu ra của khoá bằng GET content; HEAD đọc header và có hỗ trợ một khoảng byte.Xử lý lỗi mà không tiêu trùng
Lỗi REST dùng
application/problem+jsonvớicode,detailvà có thể cóerrorstheo trường. Phân biệt 401 khoá, 403 quyền/Origin, 404 không thuộc khoá hoặc không tồn tại, 409 xung đột, 422 dữ liệu sai và 429 giới hạn tốc độ/trần. Tuân theoRetry-Afterkhi quá tốc độ. Không tạo việc thay thế chỉ vì chờ hoặc tải về thất bại.
Khi đã xong
Client đọc schema, gửi một việc có chống trùng, chờ theo mã rồi tải đầu ra thuộc khoá.
Nếu gặp trục trặc
Vì sao thấy việc trong app nhưng khoá gọi lại trả 404?
Khoá chỉ truy cập việc, đầu ra và tham chiếu của chính nó, không phải việc tạo từ giao diện hoặc tài nguyên của khoá khác.
Vì sao thử lại trả 409?
Kiểm tra mã lỗi. idempotency_conflict nghĩa là dùng lại mã chống trùng với nội dung khác; khôi phục yêu cầu gốc thay vì đổi mã mới một cách máy móc.
