واجهة API للتجربة الافتراضية
أضف التجربة الافتراضية إلى تطبيقك أو موقعك بطلب HTTP واحد. استجابات JSON والنتيجة عبر الاستعلام أو Webhook.
المصادقة
أرسل المفتاح في ترويسة 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);
Webhook
عند انتهاء المعالجة يُرسل طلب 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)
نقاط نهاية أخرى
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 | قفازات | أحزمة وقفازات |