Bắt đầu nhanh
Tạo ảnh Photta đầu tiên trong vòng chưa đầy năm phút.
Tóm tắt trong một câu
Đăng ký tại ai.photta.app, nhấn Generate API key, export key dưới dạng PHOTTA_API_KEY, POST tới /api/v1/tryon/apparel và polling ID tạo ảnh trả về mỗi 3 giây cho đến khi status chuyển sang completed — thường trong vòng 1.5 đến 4 phút.
- Xác thực: Bearer key
- Xử lý: async, polling
- Giới hạn: 600 requests/min
Mọi số liệu trên trang này đều lấy từ tài liệu Photta API · đã kiểm tra
RESPONSE=$(curl -s -X POST https://api.photta.app/api/v1/tryon/apparel \
-H "Authorization: Bearer $PHOTTA_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"product_type": "top",
"product_images": [
"https://cdn.yourstore.com/products/shirt-front.jpg"
],
"product_back_image": "https://cdn.yourstore.com/products/shirt-back.jpg",
"product_category": "t_shirt",
"mannequin_id": "mnk_f3a9b1",
"pose_id": "pose_c2d4e5",
"background": "https://cdn.yourstore.com/backgrounds/studio-loft.jpg",
"lock_background": true,
"resolution": "2K",
"aspect_ratio": "3:4",
"body_size": "M",
"expression": "neutral",
"user_instruction": "Keep the collar pattern crisp and centered."
}')
ID=$(echo "$RESPONSE" | jq -r '.data.id')Cơ chế hoạt động
Năm lệnh từ con số không đến ảnh đầu tiên
Paste tuần tự từng lệnh vào terminal. Mỗi đoạn code đều độc lập và chỉ dùng curl + jq.
Bước 1
Tạo một API key
Đăng ký tại ai.photta.app và mở dashboard Developers. Nhấn Generate API key — live key sẽ bắt đầu bằng photta_live_. Export key để phần hướng dẫn tiếp theo có thể đọc được từ shell của bạn.
# https://ai.photta.app → Developers → Generate API key export PHOTTA_API_KEY="photta_live_xxxxx" export PHOTTA_BASE_URL="https://api.photta.app/api/v1"Bước 2
POST lượt try-on đầu tiên của bạn
Gửi request tới /api/v1/tryon/apparel kèm URL ảnh sản phẩm và mannequin ID. API sẽ phản hồi 202 Accepted ngay lập tức và trả về generation ID trong data.id.
RESPONSE=$(curl -s -X POST https://api.photta.app/api/v1/tryon/apparel \ -H "Authorization: Bearer $PHOTTA_API_KEY" \ -H "Content-Type: application/json" \ -d '{ "product_type": "top", "product_images": [ "https://cdn.yourstore.com/products/shirt-front.jpg" ], "product_back_image": "https://cdn.yourstore.com/products/shirt-back.jpg", "product_category": "t_shirt", "mannequin_id": "mnk_f3a9b1", "pose_id": "pose_c2d4e5", "background": "https://cdn.yourstore.com/backgrounds/studio-loft.jpg", "lock_background": true, "resolution": "2K", "aspect_ratio": "3:4", "body_size": "M", "expression": "neutral", "user_instruction": "Keep the collar pattern crisp and centered." }') ID=$(echo "$RESPONSE" | jq -r '.data.id')Bước 3
Polling cho đến khi hoàn thành
GET /api/v1/tryon/apparel/:id mỗi 3 giây một lần. Thời gian hoàn thành thông thường là 1.5–4 phút. Đặt giới hạn số lần thử để tác vụ bị kẹt không làm treo script của bạn vô thời hạn.
# $ID is data.id from the POST response. Poll every 3 seconds until status is "completed" or "failed". for i in $(seq 1 120); do RESULT=$(curl -s "https://api.photta.app/api/v1/tryon/apparel/$ID" -H "Authorization: Bearer $PHOTTA_API_KEY") STATUS=$(echo "$RESULT" | jq -r '.data.status') [ "$STATUS" = "completed" ] && break [ "$STATUS" = "failed" ] && echo "generation failed" && exit 1 sleep 3 done echo "$RESULT" | jq -r '.data.output_url'Bước 4
Lưu trữ dữ liệu đầu ra
Khi status chuyển sang completed, data.output_url sẽ chứa hình ảnh đã kết xuất. Hãy tải các byte dữ liệu này về bộ lưu trữ của riêng bạn để sản phẩm của bạn không bị phụ thuộc vào CDN của Photta khi kết xuất.
OUTPUT_URL=$(echo "$RESULT" | jq -r '.data.output_url') curl -sO "$OUTPUT_URL" echo "Saved $(basename "$OUTPUT_URL")"Bước 5
Xử lý thỏa đáng các trường hợp lỗi
Rẽ nhánh xử lý dựa trên HTTP status code: 402 cho lỗi không đủ credits, 429 khi vượt rate limits (tuân thủ Retry-After), 5xx cho các lỗi máy chủ tạm thời. Mỗi thân phản hồi lỗi đều chứa error.code dưới định dạng máy có thể đọc được để bạn xử lý theo chương trình.
case "$STATUS_CODE" in 402) echo "insufficient_credits_error — top up before retrying" ;; 429) echo "rate_limit_error — wait the Retry-After seconds (30 by default)" ;; 4??) echo "$BODY" | jq '.error.type, .error.message' ;; 5??) echo "api_error — retry with backoff" ;; esac
Câu hỏi thường gặp từ developer
Câu hỏi thường gặp khi mới bắt đầu
Quá trình quickstart mất bao lâu?
Năm phút cho các bước đăng ký + tạo key + chạy lệnh cURL đầu tiên. Quá trình tạo ảnh mất từ 1.5 đến 4 phút, vì vậy hãy dự trù mười phút tính theo thời gian thực trước khi bạn thấy hình ảnh người mẫu mặc trang phục đầu tiên.
Tôi có cần thẻ tín dụng để dùng thử không?
Các tài khoản mới đều có sẵn credits dùng thử để bạn trải nghiệm trước khi thanh toán. Khi bạn sẵn sàng triển khai lên production, hãy đăng ký một gói dịch vụ để nhận số dư credit hàng tháng cao hơn và rate limits nhanh hơn.
Tôi nên thử endpoint nào trước?
Apparel try-on (/api/v1/tryon/apparel) — đây là endpoint được dùng phổ biến nhất, tài liệu chi tiết nhất và bao quát toàn bộ mô hình async + polling mà mọi endpoint khác của Photta đều tái sử dụng. Khi bạn đã quen thuộc với endpoint này, tính năng jewelry và ghost mannequin cũng hoạt động theo cách tương tự.
Tôi có thể gọi API trực tiếp từ trình duyệt không?
Không. API key của bạn phải được lưu trữ an toàn ở phía server — việc đưa key xuống trình duyệt sẽ làm lộ key cho bất kỳ ai truy cập. Hãy định tuyến các lượt gọi qua một proxy mỏng trên backend của bạn (Next.js route handler, Express, Flask, Lambda) và để trình duyệt giao tiếp với proxy này.
Các trang liên quan
Tính năng
Virtual Try-On (Trang phục)
Mặc trang phục trải phẳng (flat-lay) lên ma-nơ-canh AI với biểu cảm và kích cỡ cơ thể bạn chọn. Bốn loại sản phẩm, năm tỷ lệ khung hình.
ĐọcTính năng
Jewelry Try-On
Ảnh chụp cận cảnh crop chặt dây chuyền, nhẫn, vòng tay và hoa tai trên ma-nơ-canh trang sức chuyên dụng — xử lý chuẩn xác phần phản chiếu và bề mặt siêu nhỏ.
ĐọcTính năng
Ghost Mannequin
Tách bỏ ma-nơ-canh khỏi ảnh quần áo nhưng vẫn giữ nguyên vẹn cấu trúc bên trong. Hoàn thiện dạng 3D hoặc flat-lay, hỗ trợ xử lý hàng loạt.
ĐọcTính năng
Eyewear Studio
Mắt kính và kính râm được render cận cảnh trên người mẫu, giữ đúng chuẩn gọng kính theo ảnh sản phẩm thực tế.
ĐọcTính năng
Ảnh chi tiết
Ảnh chụp cận cảnh đường may, chất vải, phụ kiện kim loại và nhãn mác từ một ảnh sản phẩm duy nhất; bộ phân tích sẽ gợi ý các vùng cần chụp.
ĐọcTính năng
Tạo ma-nơ-canh
Tạo ma-nơ-canh trang phục hoặc trang sức riêng từ các tùy chọn, sau đó tái sử dụng ID của chúng trong mọi lệnh gọi try-on.
ĐọcTính năng
Workflows
Chạy một workflow định sẵn — ví dụ như ảnh hero shot cho trang sức — chỉ với một lệnh gọi và nhận về trọn bộ ảnh hoàn thiện.
ĐọcTính năng
Ghost Mannequin hàng loạt
Gửi toàn bộ giá treo ảnh trang phục chỉ trong một lệnh gọi và poll theo một batch ID duy nhất; từng hình ảnh được tính phí và theo dõi riêng biệt.
ĐọcAPI
Photta API
Photta API là REST API tính phí theo credits: POST ảnh sản phẩm tới endpoint tính năng, polling endpoint trạng thái của nó mỗi vài giây, tải về ảnh hoàn thiện. Tám tính năng, một key, một số dư credit duy nhất.
Đọc
Mọi số liệu trên trang này đều lấy từ tài liệu Photta API · đã kiểm tra
Bạn chỉ còn cách hình ảnh đầu tiên năm phút
- Bearer key
- async, polling
- 600 requests/min