API پرو مجازی
پرو مجازی را با یک درخواست HTTP به اپلیکیشن یا سایت خود اضافه کنید. پاسخ در قالب JSON، نتیجه با polling یا وبهوک.
احراز هویت
کلید را در هدر Authorization بفرستید. کلیدهای تست با hk_test_ و کلیدهای واقعی با hk_live_ شروع میشوند.
Authorization: Bearer hk_live_xxxxxxxxxxxxxxxx
ثبت پرو
POST https://houshstyle.ir/api/v1/try-on/ — multipart/form-data یا JSON با آدرس تصویر
| پارامتر | توضیح |
person_image / person_image_url | عکس شخص (یکی الزامی) |
garment_image / garment_image_url / garment_id | عکس لباس یا شناسه محصول (یکی الزامی) |
garment_type | کلید نوع لباس یا اکسسوری (جدول پایین صفحه)؛ پیشفرض w_gown |
on_model | true اگر عکس لباس تن مدل یا مانکن است (چهره و بدن مدل منتقل نمیشود) |
gender | w یا m؛ برای آیتمهای یونیسکس مثل کولهپشتی و کلاه کپ |
garment_image_2, garment_type_2, on_model_2 … | آیتم دوم و سوم (اختیاری)؛ مثلاً لباس + کفش + کیف |
resolution | standard (۱ اعتبار) | hd (۲ اعتبار) |
lock_face, remove_garment_background | true / false |
webhook_url, client_ref | اختیاری |
curl -X POST https://houshstyle.ir/api/v1/try-on/ \
-H "Authorization: Bearer $HUSH_KEY" \
-F person_image=@person.jpg \
-F garment_image=@dress.jpg \
-F garment_type=w_gown \
-F garment_image_2=@heels.jpg \
-F garment_type_2=w_heels \
-F resolution=hd \
-F webhook_url=https://your-app.com/hooks/tryon
پاسخ (202):
{"id": "8b1c…", "status": "queued", "result_url": null, "credits_charged": 2, ...}
دریافت نتیجه
GET https://houshstyle.ir/api/v1/try-on/{id}/
وضعیتها: queued، processing، completed، failed. در وضعیت completed، فیلد result_url آدرس تصویر نهایی است. اگر پرو ناموفق شود، اعتبار خودکار برمیگردد (refunded=true).
نمونه Python
import requests, time
H = {"Authorization": "Bearer hk_live_..."}
r = requests.post("https://houshstyle.ir/api/v1/try-on/", headers=H,
files={"person_image": open("me.jpg", "rb"), "garment_image": open("dress.jpg", "rb")},
data={"garment_type": "w_cocktail"})
job = r.json()
while job["status"] in ("queued", "processing"):
time.sleep(2)
job = requests.get(f"https://houshstyle.ir/api/v1/try-on/{job['id']}/", headers=H).json()
print(job["result_url"])
نمونه JavaScript (Node)
const fd = new FormData();
fd.append("person_image_url", "https://cdn.example.com/u/123.jpg");
fd.append("garment_id", "42");
const res = await fetch("https://houshstyle.ir/api/v1/try-on/", {
method: "POST", headers: { Authorization: `Bearer ${process.env.HUSH_KEY}` }, body: fd });
console.log(await res.json());
نمونه PHP
$ch = curl_init("https://houshstyle.ir/api/v1/try-on/");
curl_setopt_array($ch, [CURLOPT_POST => true, CURLOPT_RETURNTRANSFER => true,
CURLOPT_HTTPHEADER => ["Authorization: Bearer " . getenv("HUSH_KEY")],
CURLOPT_POSTFIELDS => ["person_image" => new CURLFile("me.jpg"), "garment_image" => new CURLFile("coat.jpg"),
"garment_type" => "m_blazer"]]);
echo curl_exec($ch);
وبهوک
پس از پایان پردازش، یک POST با بدنه JSON و هدرهای زیر به webhook_url ارسال میشود:
X-Hush-Timestamp: 1760780000
X-Hush-Signature: sha256=HMAC_SHA256(webhook_secret, timestamp + "." + raw_body)
{"event": "tryon.completed", "data": {"id": "...", "status": "completed", "result_url": "..."}}
# Python verify
import hmac, hashlib
expected = hmac.new(SECRET.encode(), ts.encode() + b"." + body, hashlib.sha256).hexdigest()
assert hmac.compare_digest("sha256=" + expected, signature)
سایر endpointها
GET /api/v1/usage/ — اعتبار باقیمانده و مصرف ماه جاری
GET /api/v1/garments/ — لباسهای قابل پرو (عمومی + محصولات شما)
GET /api/v1/try-on/list/ — ۵۰ پرو اخیر
کدهای خطا
| 400 invalid_image | تصویر نامعتبر، کوچک یا خیلی بزرگ |
| 401 | کلید نامعتبر یا غیرفعال |
| 402 org_credits | اعتبار سازمان تمام شده |
| 429 | عبور از محدودیت نرخ (پیشفرض ۶۰ درخواست در دقیقه) |
| 503 unavailable | سرویس موقتاً در دسترس نیست؛ چند ثانیه بعد تلاش کنید |
انواع لباس و اکسسوری (garment_type)
کلیدهای u_ یونیسکس هستند. نامهای قدیمی انگلیسی (مثل cocktail dress) هنوز پذیرفته میشوند.
لباس — زنانه
| کلید | نوع | گروه |
w_gown | لباس مجلسی بلند / ماکسی | مجلسی و عروس |
w_midi_formal | لباس مجلسی میدی / زیر زانو | مجلسی و عروس |
w_cocktail | لباس مجلسی کوتاه / کوکتل | مجلسی و عروس |
w_lace | لباس مجلسی دانتل / گیپور / توری | مجلسی و عروس |
w_sequin | لباس مجلسی پولکی / سنگدوزی | مجلسی و عروس |
w_strapless | لباس مجلسی دکلته / بدون بند | مجلسی و عروس |
w_offshoulder | لباس مجلسی یقهافتاده / آفشولدر | مجلسی و عروس |
w_ballgown | لباس مجلسی پفی / پرنسسی | مجلسی و عروس |
w_mermaid | لباس مجلسی ماهی / مرمید | مجلسی و عروس |
w_bridal | لباس عروس | مجلسی و عروس |
w_dress | پیراهن روزمره / سرتاسری زنانه | پیراهن روزمره |
w_knitdress | پیراهن بافت / تریکو | پیراهن روزمره |
w_manto | مانتو | کت، مانتو و پالتو |
w_kimono | مانتو جلوباز / کیمونو / کاردیگان بلند | کت، مانتو و پالتو |
w_coat | پالتو / بارانی زنانه | کت، مانتو و پالتو |
w_blazer | کت تک زنانه (لباس زیر خودِ شخص بماند) | کت، مانتو و پالتو |
w_blazer_inner | کت زنانه همراه تاپ / شومیزِ داخل عکس | کت، مانتو و پالتو |
w_jacket | کاپشن / ژاکت جین و چرم زنانه | کت، مانتو و پالتو |
w_puffer | کاپشن پفی / بادی زنانه | کت، مانتو و پالتو |
w_cardigan | ژاکت بافت / کاردیگان زنانه | کت، مانتو و پالتو |
w_vest | جلیقه / ژیله زنانه | کت، مانتو و پالتو |
w_chador | چادر | چادر و عبا |
w_chador_sleeved | چادر ملی / لبنانی / آستیندار | چادر و عبا |
w_abaya | عبا / عبایه زنانه | چادر و عبا |
w_top | تیشرت / تاپ زنانه | بالاتنه |
w_blouse | شومیز / پیراهن زنانه | بالاتنه |
w_tunic | تونیک | بالاتنه |
w_knit | بافت / پلیور زنانه | بالاتنه |
w_hoodie | هودی / سوئیشرت زنانه | بالاتنه |
w_jeans | شلوار جین زنانه | پایینتنه |
w_trousers | شلوار پارچهای / کتان زنانه | پایینتنه |
w_wideleg | شلوار بگ / پالازو / دمپاگشاد | پایینتنه |
w_joggers | شلوار اسلش / ورزشی زنانه | پایینتنه |
w_skirt | دامن | پایینتنه |
w_shorts | شلوارک زنانه | پایینتنه |
w_leggings | ساپورت / لگ | جوراب و ساپورت |
w_tights_sheer | جورابشلواری نازک / شیشهای | جوراب و ساپورت |
w_tights_opaque | جورابشلواری ضخیم / رنگی | جوراب و ساپورت |
w_tights_pattern | جورابشلواری طرحدار / توری | جوراب و ساپورت |
w_kneesocks | جوراب ساقبلند / زیرزانو | جوراب و ساپورت |
w_socks | جوراب ساقکوتاه / مچی زنانه | جوراب و ساپورت |
w_kaftan | کفتان / جلابیه | سنتی و محلی |
w_local | لباس محلی زنانه | سنتی و محلی |
لباس — مردانه
| کلید | نوع | گروه |
m_blazer | کت تک مردانه (پیراهن خودِ شخص بماند) | کت، مانتو و پالتو |
m_blazer_shirt | کت تک مردانه همراه پیراهنِ داخل عکس | کت، مانتو و پالتو |
m_jacket | کاپشن / ژاکت چرم و جین مردانه | کت، مانتو و پالتو |
m_puffer | کاپشن پفی / بادی مردانه | کت، مانتو و پالتو |
m_overcoat | پالتو / بارانی مردانه | کت، مانتو و پالتو |
m_cardigan | ژاکت بافت / کاردیگان مردانه | کت، مانتو و پالتو |
m_vest | جلیقه / ژیله مردانه | کت، مانتو و پالتو |
m_shirt | پیراهن رسمی مردانه | بالاتنه |
m_shirt_casual | پیراهن اسپرت / چهارخانه مردانه | بالاتنه |
m_tshirt | تیشرت مردانه | بالاتنه |
m_polo | پولوشرت | بالاتنه |
m_knit | بافت / پلیور مردانه | بالاتنه |
m_hoodie | هودی / سوئیشرت مردانه | بالاتنه |
m_jeans | شلوار جین مردانه | پایینتنه |
m_trousers | شلوار پارچهای / کتان مردانه | پایینتنه |
m_cargo | شلوار کارگو / ششجیب | پایینتنه |
m_joggers | شلوار اسلش / ورزشی مردانه | پایینتنه |
m_shorts | شلوارک مردانه | پایینتنه |
m_socks | جوراب مردانه | جوراب و ساپورت |
m_compression | ساپورت ورزشی مردانه | جوراب و ساپورت |
m_thobe | دشداشه / ثوب | سنتی و محلی |
m_bisht | بشت / عبای مردانه | سنتی و محلی |
m_kurdish | لباس کردی مردانه | سنتی و محلی |
ست و سرهمی — زنانه
| کلید | نوع | گروه |
w_suit | کت و شلوار زنانه (تاپ خودِ شخص بماند) | کت و شلوار و ست رسمی |
w_suit_full | کت و شلوار زنانه همراه تاپ / شومیزِ داخل عکس | کت و شلوار و ست رسمی |
w_skirtsuit | کت و دامن زنانه | کت و شلوار و ست رسمی |
w_manto_set | ست مانتو و شلوار | ست روزمره، ورزشی و راحتی |
w_manto_set_scarf | ست مانتو، شلوار و شال | ست روزمره، ورزشی و راحتی |
w_twopiece | ست بلوز و دامن / بلوز و شلوار | ست روزمره، ورزشی و راحتی |
w_tracksuit | ست ورزشی زنانه (سویشرت و شلوار) | ست روزمره، ورزشی و راحتی |
w_activewear | ست لگ و تاپ ورزشی | ست روزمره، ورزشی و راحتی |
w_pajama | ست راحتی / پیژامه زنانه | ست روزمره، ورزشی و راحتی |
w_jumpsuit | سرهمی شلواری زنانه | سرهمی |
w_playsuit | سرهمی شلوارکی زنانه | سرهمی |
w_overalls | سرهمی پیشبندی / اورال زنانه | سرهمی |
w_look | تیپ کامل زنانه از یک عکس (لباس + کفش + کیف) | تیپ کامل از یک عکس |
w_bridal_set | لباس عروس همراه تور سر | تیپ کامل از یک عکس |
ست و سرهمی — مردانه
| کلید | نوع | گروه |
m_suit | کت و شلوار مردانه (پیراهن خودِ شخص بماند) | کت و شلوار و ست رسمی |
m_suit_shirt | کت و شلوار مردانه همراه پیراهن و کراواتِ داخل عکس | کت و شلوار و ست رسمی |
m_threepiece | کت و شلوار سهتکه (با جلیقه) | کت و شلوار و ست رسمی |
m_tux | اسموکینگ / تاکسیدو | کت و شلوار و ست رسمی |
m_tracksuit | ست ورزشی مردانه | ست روزمره، ورزشی و راحتی |
m_pajama | ست راحتی / پیژامه مردانه | ست روزمره، ورزشی و راحتی |
m_shirt_pants | ست پیراهن و شلوار مردانه | ست روزمره، ورزشی و راحتی |
m_tee_shorts | ست تیشرت و شلوارک مردانه | ست روزمره، ورزشی و راحتی |
m_jumpsuit | سرهمی مردانه | سرهمی |
m_coverall | لباس کار سرهمی | سرهمی |
m_overalls | سرهمی پیشبندی / اورال مردانه | سرهمی |
m_look | تیپ کامل مردانه از یک عکس (لباس + کفش + کیف) | تیپ کامل از یک عکس |
ست و سرهمی — یونیسکس
| کلید | نوع | گروه |
u_onesie_hood | سرهمی کلاهدار (لباس + شلوار + کلاه) | سرهمی |
اکسسوری — زنانه
| کلید | نوع | گروه |
w_heels | کفش پاشنهبلند / مجلسی | کفش |
w_flats | کفش تخت / بالرین / لوفر زنانه | کفش |
w_sneakers | کتانی / اسنیکرز زنانه | کفش |
w_sandals | صندل / دمپایی زنانه | کفش |
w_ankleboots | نیمبوت زنانه | کفش |
w_boots | بوت / چکمه ساقبلند زنانه | کفش |
w_handbag | کیف دستی زنانه | کیف |
w_shoulderbag | کیف دوشی / کراسبادی زنانه | کیف |
w_clutch | کیف مجلسی / کلاچ | کیف |
w_necklace | گردنبند / گردنبند طلا | طلا و جواهر |
w_earrings | گوشواره | طلا و جواهر |
w_bracelet | دستبند / النگو | طلا و جواهر |
w_ring | انگشتر | طلا و جواهر |
w_jewelset | سرویس طلا و جواهر | طلا و جواهر |
w_anklet | پابند | طلا و جواهر |
w_brooch | سنجاق / گل سینه | طلا و جواهر |
w_watch | ساعت مچی زنانه | ساعت |
w_sunglasses | عینک آفتابی زنانه | عینک |
w_hat | کلاه لبهدار / حصیری / شاپو زنانه | کلاه |
w_headscarf | روسری | روسری، شال و مقنعه |
w_shawl | شال | روسری، شال و مقنعه |
w_maghnaeh | مقنعه | روسری، شال و مقنعه |
w_turban | توربان / کلاه حجاب | روسری، شال و مقنعه |
w_silkscarf | دستمالگردن / اسکارف ابریشمی | شالگردن، کراوات و پاپیون |
w_belt | کمربند زنانه | کمربند و دستکش |
w_tiara | تاج / نیمتاج | تاج و اکسسوری مو |
w_hairclip | تل / گل سر / کلیپس | تاج و اکسسوری مو |
w_veil | تور سر عروس | تاج و اکسسوری مو |
اکسسوری — مردانه
| کلید | نوع | گروه |
m_dressshoes | کفش رسمی / مجلسی مردانه | کفش |
m_loafers | کالج / لوفر مردانه | کفش |
m_sneakers | کتانی / اسنیکرز مردانه | کفش |
m_boots | بوت / نیمبوت مردانه | کفش |
m_sandals | صندل / دمپایی مردانه | کفش |
m_bag | کیف اداری / دوشی مردانه | کیف |
m_chain | زنجیر / گردنبند مردانه | طلا و جواهر |
m_bracelet | دستبند مردانه | طلا و جواهر |
m_ring | انگشتر مردانه | طلا و جواهر |
m_cufflinks | دکمه سردست | طلا و جواهر |
m_watch | ساعت مچی مردانه | ساعت |
m_sunglasses | عینک آفتابی مردانه | عینک |
m_hat | کلاه شاپو / فدورا مردانه | کلاه |
m_tie | کراوات | شالگردن، کراوات و پاپیون |
m_bowtie | پاپیون | شالگردن، کراوات و پاپیون |
m_pocketsquare | دستمال جیب کت | شالگردن، کراوات و پاپیون |
m_belt | کمربند مردانه | کمربند و دستکش |
اکسسوری — یونیسکس
| کلید | نوع | گروه |
u_backpack | کولهپشتی | کیف |
u_beltbag | کیف کمری / کیف رودوشی کوچک | کیف |
u_smartwatch | ساعت هوشمند | ساعت |
u_eyeglasses | عینک طبی / فریم | عینک |
u_cap | کلاه کپ / نقابدار | کلاه |
u_beanie | کلاه بافتنی / بینی | کلاه |
u_bucket | کلاه باکت / ماهیگیری | کلاه |
u_neckscarf | شالگردن | شالگردن، کراوات و پاپیون |
u_gloves | دستکش | کمربند و دستکش |