Entegrasyon
API'mizi birkaç dakikada entegre edin. RESTful, hızlı ve güvenli.
Hızlı Başlangıç
OpticAI API'sini entegre etmek yalnızca birkaç adım alır. API anahtarınızı alın, isteği gönderin ve sonucu gösterin.
1. API Anahtarı Alın
Dashboard'unuzdan bir API anahtarı oluşturun. Anahtarınızı güvende tutun ve asla herkese açık repolara eklemeyin.
2. Örnek İstek
curl -X POST https://api.opticai.io/v1/tryon \ -H "Authorization: Bearer YOUR_API_KEY" \ -H "Content-Type: application/json" \ -d '{ "person_image": "https://example.com/photo.jpg", "glasses_image": "https://example.com/glasses.png", "output_format": "jpeg", "width": 512, "height": 512 }'
3. Yanıt
{
"success": true,
"task_id": "task_9f3a2b1c",
"image_url": "https://cdn.opticai.io/results/9f3a2b1c.jpg",
"processing_ms": 2841,
"credits_used": 1
}
Kimlik Doğrulama
Tüm API istekleri Bearer token kimlik doğrulaması gerektirir. API anahtarınızı her istekte Authorization başlığına ekleyin.
# HTTP Header Authorization: Bearer YOUR_API_KEY
Güvenlik Önerileri
- API anahtarınızı sunucu tarafında saklayın, asla istemciye yansıtmayın.
- Düzenli aralıklarla anahtarı rotasyona alın.
- Her proje için ayrı API anahtarı oluşturun.
- IP kısıtlaması ekleyerek kullanımı güvence altına alın.
Uç Nokta
OpticAI REST API'si aşağıdaki uç noktaları sunar:
| Metod | Uç Nokta | Açıklama |
|---|---|---|
| POST | /v1/tryon | Gözlük giydirme işlemi başlatır |
| GET | /v1/tasks/{id} | İşlem durumunu sorgular |
| GET | /v1/account | Hesap bilgisi ve kalan kredi |
| POST | /v1/images/upload | Görüntü yükler ve UUID alır |
POST /v1/tryon
POST https://api.opticai.io/v1/tryon Content-Type: application/json Authorization: Bearer YOUR_API_KEY
Parametreler
POST /v1/tryon için parametreler:
| Parametre | Tür | Açıklama |
|---|---|---|
| person_image* | string | Kişi fotoğrafı URL'si veya base64 |
| glasses_image* | string | Gözlük görüntüsü URL'si veya base64 |
| width | integer | Çıktı genişliği (varsayılan: 512) |
| height | integer | Çıktı yüksekliği (varsayılan: 512) |
| output_format | string | jpeg veya png (varsayılan: jpeg) |
| strength | float | AI yeniden çizim gücü 0.1–1.0 (varsayılan: 0.35) |
| webhook_url | string | Sonuç hazır olduğunda bildirim URL'si |
Yanıt
Başarılı Yanıt (200)
{
"success": true,
"task_id": "task_9f3a2b1c",
"image_url": "https://cdn.opticai.io/results/9f3a2b1c.jpg",
"image_expires_at": "2025-04-07T18:00:00Z",
"processing_ms": 2841,
"credits_used": 1,
"credits_remaining": 4999
}
Hata Yanıtı
{
"success": false,
"error": {
"code": "INSUFFICIENT_CREDITS",
"message": "Not enough credits. Please upgrade your plan."
}
}
HTTP Durum Kodları
| Kod | Açıklama |
|---|---|
| 200 | Başarılı |
| 400 | Hatalı istek |
| 401 | Yetkisiz — API anahtarı geçersiz |
| 402 | Yetersiz kredi |
| 429 | Rate limit aşıldı |
| 500 | Sunucu hatası |
Webhook'lar
Webhook'lar, işlem tamamlandığında sunucunuza otomatik bildirim gönderir. Bu sayede uzun işlemleri polling yapmadan takip edebilirsiniz.
Webhook Payload
POST https://your-server.com/webhook Content-Type: application/json X-OpticAI-Signature: sha256=HMAC_SIGNATURE { "event": "tryon.completed", "task_id": "task_9f3a2b1c", "image_url": "https://cdn.opticai.io/...", "timestamp": 1712345678 }
İmza Doğrulama (PHP)
function verifyWebhook($payload, $signature, $secret): bool { $expected = 'sha256=' . hash_hmac('sha256', $payload, $secret); return hash_equals($expected, $signature); }
SDK'lar
Resmi SDK'larımız en popüler programlama dilleri için hazırlanmaktadır. Favori dilinizi seçin ve dakikalar içinde entegre edin.