Dosyalar
Görsel, video veya ses alan modeller bunları üç biçimden herhangi biriyle kabul eder. Her model sayfası dosya
parametrelerini (örneğin image, images, videos, audios) belirtir.
1. Genel bir URL
Modelin indirebildiği herhangi bir https:// (veya http://) URL'si:
{ "image": "https://example.com/photos/product.jpg" }
Dosyaya çerez veya oturum açma olmadan erişilebilmeli ve istek başlayana kadar erişilebilir durumda kalmalıdır. Her model sayfasında dosya parametrelerinin boyut ve ölçü sınırları listelenir.
2. Veri URI'si
Küçük dosyalar, 10 MB'a kadar bir data: URI'si olarak doğrudan eklenebilir:
{ "image": "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAA..." }
Base64, gövdeyi dosyadan yaklaşık üçte bir oranında daha büyük hâle getirir; bu nedenle büyük dosyalar için yüklemeleri tercih edin.
3. Yükleme
Yerel dosyalar için bir yükleme URL'si isteyin, baytları buraya PUT ile gönderin ve döndürülen file_url değerini modele aktarın.
Yükleme URL'si oluşturmak ücretsizdir.
curl -X POST "https://api.doitong.com/v1/files" \
-H "Authorization: Bearer $DOITONG_API_KEY" \
-H "Content-Type: application/json" \
-d '{"filename": "product.jpg", "content_type": "image/jpeg", "size": 482113}'
{
"object": "upload",
"upload_url": "https://…signed upload URL…",
"file_url": "https://content.doitong.com/…/product.jpg",
"method": "PUT",
"headers": { "Content-Type": "image/jpeg" },
"content_type": "image/jpeg",
"expires_in": 3600,
"max_bytes": 15728640
}
curl -X PUT "<upload_url>" -H "Content-Type: image/jpeg" --data-binary @product.jpg
curl -X POST "https://api.doitong.com/v1/run/{model_id}?wait=20" \
-H "Authorization: Bearer $DOITONG_API_KEY" \
-H "Content-Type: application/json" \
-d '{"image": "https://content.doitong.com/…/product.jpg", "prompt": "..."}'
- Desteklenen yüklemeler:
.jpg,.jpeg,.png,.webp(15 MB'a kadar) ve.mp4,.mov,.webm(200 MB'a kadar). Uzantı türü belirler;content_typebununla eşleşmelidir. - Yükleme URL'si bir saat geçerlidir.
file_urlgeçerliliğini korur. - Ses için genel bir URL veya veri URI'si kullanın.
Çıktı dosyaları
Çıktı dosyalarının ne kadar süreyle saklanacağını siz seçersiniz:
- Sonsuza kadar (
permanent, varsayılan): dosyaları siz silene kadar, GB başına ayda 100 API kredisi ($0,10); ücret API bakiyesinden günde bir kez alınır (1 GB = 1024³ bayt). - 7 gün (
temporary): ücretsizdir, ardından depolama alanımızdan silinir.
Varsayılanı dashboard içindeki "Dosyaları sonsuza kadar sakla" anahtarıyla veya
PATCH /account/storage ile ayarlayın; her çalıştırma için ?storage=temporary (veya permanent) ile geçersiz kılın:
curl -X PATCH "https://api.doitong.com/v1/account/storage" \
-H "Authorization: Bearer $DOITONG_API_KEY" \
-H "Content-Type: application/json" \
-d '{"mode": "temporary"}'
Her istek kendi storage değerini (mode, bytes, expires_at, expired) gösterir. Ayar yeni istekler için geçerlidir;
zaten sonsuza kadar sakladığınız dosyalar, DELETE /requests/{id}/files ile silene kadar kalır (İstekler
bölümüne bakın). API bakiyesi depolama ücretini karşılayamazsa e-posta alırsınız ve saklanan dosyalar geçici hâle gelmeden önce
bakiye yüklemek için 30 gününüz olur.