Tài liệu API

virtual-tryon

Thay Đồ Ảnh AI · Giữ Nguyên Mặt & Nền — Mặc thử áo, quần, váy hoặc nguyên bộ trang phục lên ảnh người mẫu thật · giữ nguyên khuôn mặt và bối cảnh gốc sắc nét chuẩn Full-Size 2K trực tiếp trên Chrome.

type: imageoutput: image99 ₫ / ảnh

Input — tham số đầu vào

POST/v1/generations

Gửi JSON gồm "model": "virtual-tryon" và các tham số dưới đây ở cùng cấp. Tham số không có trong bảng sẽ bị từ chối (400).

Tham sốKiểuGiá trị hỗ trợMô tả
modelrequiredstringvirtual-tryonMã model
image_urlrequiredstring (URL image)
Ảnh người mẫu — JPG, PNG, WebP · rõ khuôn mặt và dáng đứng để AI giữ nguyên mặt & vóc dáng
garment_urlrequiredstring (URL image)
Ảnh trang phục / Phụ kiện — Ảnh quần áo trải sàn, treo móc hoặc người mẫu khác đang mặc trang phục cần lấy
outfit_partrequiredenum
fulltopbottomdressaccessory

Mặc định: full

Phần trang phục cần thay
backgroundrequiredenum
keep_originalstudio

Mặc định: keep_original

Chế độ bối cảnh nền
aspectrequiredenum
9:163:41:116:9

Mặc định: 9:16

Tỷ lệ khung hình
ninteger

1 – 4

Mặc định: 1

Số lượng ảnh
promptstring

Tối đa 2.000 ký tự

Ghi chú bổ sung (Không bắt buộc)
  • Tham số file (string URL) nhận link công khai http(s) — máy chủ tự tải về — hoặc URL trả về từ API tải file POST /account/ai/uploads.
  • Bỏ trống tham số không bắt buộc thì dùng giá trị mặc định.

Ví dụ request

curl -X POST https://thu.nov.ai.vn/api/v1/generations \
  -H "X-API-Key: $API_KEY" -H "Content-Type: application/json" \
  -d '{
  "model": "virtual-tryon",
  "image_url": "https://example.com/image.jpg",
  "garment_url": "https://example.com/image.jpg",
  "outfit_part": "full",
  "background": "keep_original",
  "aspect": "9:16",
  "n": 1,
  "prompt": "Một chú mèo phi hành gia"
}'

Output — kết quả trả về

Tác vụ chạy bất đồng bộ. POST /v1/generations trả ngay đối tượng generation với status queued hoặc processing; hỏi lại GET /v1/generations/{id} mỗi 5–10 giây tới khi status là succeeded, failed hoặc cancelled.

GET/v1/generations/{id}
{
  "id": "3f1c...-uuid",
  "object": "generation",
  "code": "T8KQ2M4X",
  "model": "virtual-tryon",
  "status": "succeeded",       // queued | processing | succeeded | failed | cancelled
  "progress": 100,
  "cost": 2400,                // số tiền đã trừ
  "currency": "VND",
  "refunded": false,
  "output": {
    "type": "image",
    "files": [{ "url": "https://thu.nov.ai.vn/uploads/ai/outputs/....png", "type": "image", "name": "image.png" }],
    "text": null
  },
  "error": null,
  "created_at": "2026-10-30T08:00:00.000Z",
  "completed_at": "2026-10-30T08:01:12.000Z"
}
TrườngÝ nghĩa
output.files[].urlLink file kết quả — nên tải về hệ thống của bạn, file trên máy chủ có thể được dọn sau một thời gian.
output.textNội dung văn bản (chỉ có với model trả văn bản).
costSố tiền VND đã trừ vào số dư; lỗi hoặc huỷ thì tự hoàn lại (refunded = true).
errorLý do lỗi khi status = failed.

Báo giá trước khi chạy

POST/v1/generations/estimate

Cùng body với POST /v1/generations, không chạy và không trừ tiền.

# => { "object": "estimate", "model": "virtual-tryon", "cost": 2400, "currency": "VND" }
Lấy API key