API Dokümantasyonu

Venis Sanal Deneme'yi uygulamanıza entegre etmek için eksiksiz referans.

Giriş

Venis API, güçlü yapay zeka destekli sanal deneme yetenekleri sunar. Bir model görüntüsü ile bir kıyafet görüntüsünü birleştirerek kıyafetlerin modeller üzerinde gerçekçi bir şekilde görselleştirilmesini sağlar.

Kimlik Doğrulama

Tüm API istekleri (sağlık kontrolleri hariç) HTTP başlıklarında bir API anahtarı gerektirir.

Başlık Formatı

Başlık Adı: X-API-Key

Değer: Size özel API anahtarınız.

http
X-API-Key: venis_live_xyz123...

Temel URL

text
https://platformapi.venis.app

Uç Noktalar

Sanal Deneme

Metod: POST

Uç Nokta: /v1/tryon

Bir sanal deneme isteğini işler. Bir kişi resmi ve bir kıyafet resmi alır ve kişiyi o kıyafeti giymiş olarak döndürür.

İstek Gövdesi

AlanTipZorunluAçıklama
image1_base64stringEvetKişinin base64 kodlu resmi.
image2_base64stringEvetKıyafetin base64 kodlu resmi.
categorystringEvetKıyafet kategorisi (örn. "dresses", "tops", "bottoms"). Yapay zeka işlemesini optimize etmeye yardımcı olur.

Yanıt

json
{
  "success": true,
  "image_base64": "iVBORw0KGgoAAAANSUhEUgAA...",
  "message": "Try-on completed successfully for tops",
  "processing_time_seconds": 4.5,
  "detected_category": "tops",
  "tries_remaining": 95
}

Python Örneği

python
import requests
import base64

API_KEY = "your_api_key_here"
URL = "https://platformapi.venis.app/v1/tryon"

def encode_image(image_path):
    with open(image_path, "rb") as image_file:
        return base64.b64encode(image_file.read()).decode('utf-8')

payload = {
    "image1_base64": encode_image("model.jpg"),
    "image2_base64": encode_image("dress.jpg"),
    "category": "dresses"
}

headers = {
    "X-API-Key": API_KEY,
    "Content-Type": "application/json"
}

response = requests.post(URL, json=payload, headers=headers)

if response.status_code == 200:
    data = response.json()
    print("Success:", data["message"])
    
    # Save the result
    with open("result.png", "wb") as f:
        f.write(base64.b64decode(data["image_base64"]))
else:
    print("Error:", response.json())

Kullanım Bilgisi

Metod: GET

Uç Nokta: /v1/keys/usage

API Anahtarı için mevcut kullanım istatistiklerini, bakiyeyi ve limitleri getirir.

Yanıt

json
{
  "user_id": "user_12345",
  "balance": 500.0,
  "tryon_limit": 1000,
  "monthly_usage": 45,
  "price_dealt": 1.5,
  "total_requests": 150,
  "successful_requests": 148,
  "failed_requests": 2,
  "is_active": true,
  "created_at": "2024-01-01T12:00:00Z"
}

Sağlık Kontrolü

Metod: GET

Uç Nokta: /health

API'nin çalışıp çalışmadığını kontrol etmek için basit bir uç nokta.

Yanıt

json
{
  "status": "healthy",
  "timestamp": "2024-02-09T12:00:00.000000",
  "version": "1.0.0"
}

Hata Yönetimi

API, isteklerin başarısını veya başarısızlığını belirtmek için standart HTTP durum kodlarını kullanır.

Durum Kodları

Durum KoduAnlamı
200Tamam - İstek başarılı.
400Hatalı İstek - Geçersiz giriş (örn. resim çok büyük, eksik alanlar) / uygunsuz istek.
401Yetkisiz - Geçersiz veya eksik API Anahtarı.
402Ödeme Gerekli - Yetersiz bakiye.
403Yasak - Erişim reddedildi.
429Çok Fazla İstek - Hız sınırı aşıldı.
500Sunucu Hatası - Sunucuda bir şeyler ters gitti.

Hata Yanıt Formatı

json
{
  "success": false,
  "error": "insufficient_balance",
  "message": "You do not have enough credits to perform this action."
}