Geliştiriciler
API referansı
Her modele tek bir HTTPS ucundan ulaş. Kimlik doğrulaması API anahtarını Bearer token olarak göndermekle olur; krediler kartla ya da kripto parayla yüklenir.
Bölümler
Kimlik doğrulama
API anahtarını her istekte Authorization başlığında Bearer token olarak gönder. Anahtarlar vll_ önekiyle başlar ve API anahtarları sayfasında oluşturulur.
Authorization: Bearer vll_...
Model kataloğu
GET/v1/models
Geçerli modeller, boyutlar ve çözünürlükler, kredi bedelleriyle birlikte. Kendi tarafında sabit bir fiyat listesi tutmak yerine bu ucu oku. Her boyut, etiketinin yanında ratio ve tier taşır, yani en-boy oranını ya da çözünürlük kademesini öğrenmek için etiketi ayrıştırman gerekmez; her model de max_prompt_length taşır — o modelin prompt için (ve kendi sınırını ilan etmeyen her serbest metin parametresi için) uyguladığı karakter sınırı.
curl https://vellria.com/v1/models \ -H "Authorization: Bearer vll_..."
Görsel üretimi
POST/v1/generate/image
curl https://vellria.com/v1/generate/image \
-H "Authorization: Bearer vll_..." \
-H "Content-Type: application/json" \
-d '{
"model": "vellria-lite",
"prompt": "A cat asleep in space, cinematic light",
"size": "1024*1024",
"seed": 42
}'- model: vellria-lite · size: 1024*1024 | 1536*1024 | 1024*1536 | 2048*1152 | 1152*2048 | 2048*2048 · seed: tam sayı 0–2147483647, gönderilmezse rastgele üretilir ve yanıtta yankılanır · her boyut için 1 kredi
- model: vellria-seedream5-pro · size: 1536*1536 | 1776*1328 | 1328*1776 | 2048*1152 | 1152*2048 · reasoning: enabled | disabled (varsayılan: enabled) · her boyut için 8 kredi
- model: vellria-seedream5-pro-edit · görselden görsele · image_urls: 1–10 https adresi (zorunlu) · size: 1536*1536 | 1776*1328 | 1328*1776 | 2048*1152 | 1152*2048 · reasoning: enabled | disabled (varsayılan: enabled) · her boyut için 8 kredi + ilkinden sonraki her referans görsel için 1 kredi
- model: vellria-qwen-3 · size: 1024*1024 | 1536*1024 | 1024*1536 | 2048*1152 | 1152*2048 | 2048*2048 · seed: tam sayı 0–2147483647, gönderilmezse rastgele üretilir ve yanıtta yankılanır · negative_prompt: metin, en çok 10000 karakter · her boyut için 5 kredi
- model: vellria-qwen-3-edit · görselden görsele · image_urls: 1–3 https adresi (zorunlu) · size: 1024*1024 | 1280*960 | 960*1280 | 1280*720 | 720*1280 | 1440*1440 · seed: tam sayı 0–2147483647, gönderilmezse rastgele üretilir ve yanıtta yankılanır · negative_prompt: metin, en çok 10000 karakter · her boyut için 5 kredi + ilkinden sonraki her referans görsel için 1 kredi
- model: vellria-qwenpro · size: 1024*1024 | 1536*1024 | 1024*1536 · seed: tam sayı 0–2147483647, gönderilmezse rastgele üretilir ve yanıtta yankılanır · negative_prompt: metin, en çok 10000 karakter · her boyut için 7 kredi
- model: vellria-qwenpro-edit · görselden görsele · image_urls: 1–3 https adresi (zorunlu) · size: 1024*1024 | 1280*960 | 960*1280 | 1280*720 | 720*1280 | 1440*1440 · seed: tam sayı 0–2147483647, gönderilmezse rastgele üretilir ve yanıtta yankılanır · negative_prompt: metin, en çok 10000 karakter · her boyut için 7 kredi + ilkinden sonraki her referans görsel için 1 kredi
- model: vellria-seedream5-lite · size: 3072*3072 | 3456*2592 | 2592*3456 | 3744*2496 | 2496*3744 | 4096*2304 | 2304*4096 | 4704*2016 · her boyut için 5 kredi
- model: vellria-seedream5-lite-edit · görselden görsele · image_urls: 1–14 https adresi (zorunlu) · size: 3072*3072 | 3456*2592 | 2592*3456 | 3744*2496 | 2496*3744 | 4096*2304 | 2304*4096 | 4704*2016 · her boyut için 5 kredi
- model: vellria-wan26 · size: 1024*1024 | 1280*720 | 720*1280 | 1280*960 | 960*1280 | 1280*1280 | 1440*1440 | 1920*1080 | 1080*1920 · seed: tam sayı 0–2147483647, gönderilmezse rastgele üretilir ve yanıtta yankılanır · negative_prompt: metin, en çok 10000 karakter · her boyut için 6 kredi
- model: vellria-wan26-edit · görselden görsele · image_urls: 1–4 https adresi (zorunlu) · size: 1024*1024 | 1280*720 | 720*1280 | 1280*960 | 960*1280 | 1280*1280 | 1664*936 | 936*1664 · seed: tam sayı 0–2147483647, gönderilmezse rastgele üretilir ve yanıtta yankılanır · negative_prompt: metin, en çok 10000 karakter · her boyut için 6 kredi
Video üretimi
POST/v1/generate/video
curl https://vellria.com/v1/generate/video \
-H "Authorization: Bearer vll_..." \
-H "Content-Type: application/json" \
-d '{
"model": "vellria-seedance-2-5-video",
"prompt": "Ocean waves at sunset, slow dolly forward",
"duration": 5,
"resolution": "1080p"
}'- model: vellria-seedance-2-5-video · duration: 4–30 saniye · resolution: 480p | 720p | 1080p · 480p 28 · 720p 60 · 1080p 120 kredi/sn
- model: vellria-seedance-2-5-image-video · görselden videoya · image_urls: 1–1 https adresi (zorunlu) · duration: 4–30 saniye · resolution: 480p | 720p | 1080p · 480p 28 · 720p 60 · 1080p 120 kredi/sn
- model: vellria-seedance-2-0-fast-video · duration: 4–15 saniye · resolution: 480p | 720p | 720p-SR | 1080p-SR | 1440p-SR · ratio: adaptive | 21:9 | 16:9 | 4:3 | 1:1 | 3:4 | 9:16 · 480p 5 · 720p 10 · 720p-SR 8 · 1080p-SR 17 · 1440p-SR 30 kredi/sn
- model: vellria-seedance-2-0-fast-image-video · görselden videoya · image_urls: 1–1 https adresi (zorunlu) · duration: 4–15 saniye · resolution: 480p | 720p | 720p-SR | 1080p-SR | 1440p-SR · ratio: adaptive | 21:9 | 16:9 | 4:3 | 1:1 | 3:4 | 9:16 · 480p 5 · 720p 10 · 720p-SR 8 · 1080p-SR 17 · 1440p-SR 30 kredi/sn
- model: vellria-minimax-h3-video · duration: 4–15 saniye · resolution: 480P | 768P | 1440p-sr | 4k-sr · ratio: 21:9 | 16:9 | 4:3 | 1:1 | 3:4 | 9:16 · 480P 5 · 768P 7 · 1440p-sr 12 · 4k-sr 16 kredi/sn
- model: vellria-minimax-h3-image-video · görselden videoya · image_urls: 1–1 https adresi (zorunlu) · duration: 4–15 saniye · resolution: 480P | 768P | 1440p-sr | 4k-sr · 480P 5 · 768P 7 · 1440p-sr 12 · 4k-sr 16 kredi/sn
- model: vellria-minimax-h3-max-video · duration: 5–15 saniye · resolution: 480P | 768P | 1440p-sr | 4k-sr · ratio: 21:9 | 16:9 | 4:3 | 1:1 | 3:4 | 9:16 · 480P 8 · 768P 15 · 1440p-sr 30 · 4k-sr 50 kredi/sn
- model: vellria-minimax-h3-max-image-video · görselden videoya · image_urls: 1–1 https adresi (zorunlu) · duration: 5–15 saniye · resolution: 480P | 768P | 1440p-sr | 4k-sr · 480P 8 · 768P 15 · 1440p-sr 30 · 4k-sr 50 kredi/sn
- model: vellria-happyhorse-1-1-video · duration: 3–15 saniye · resolution: 480p | 720p | 1080p · ratio: 21:9 | 16:9 | 5:4 | 4:3 | 1:1 | 3:4 | 4:5 | 9:16 | 9:21 · 480p 11 · 720p 22 · 1080p 29 kredi/sn
- model: vellria-happyhorse-1-1-image-video · görselden videoya · image_urls: 1–1 https adresi (zorunlu) · duration: 3–15 saniye · resolution: 480p | 720p | 1080p · 480p 11 · 720p 22 · 1080p 29 kredi/sn
- model: vellria-wan-3-video · duration: 2–30 saniye · resolution: 480p | 720p | 1080p · ratio: adaptive | 16:9 | 4:3 | 1:1 | 3:4 | 9:16 · 480p 8 · 720p 16 · 1080p 32 kredi/sn
- model: vellria-wan-3-image-video · görselden videoya · image_urls: 1–1 https adresi (zorunlu) · duration: 2–30 saniye · resolution: 480p | 720p | 1080p · 480p 8 · 720p 16 · 1080p 32 kredi/sn
- model: vellria-wan-3-pro-video · duration: 2–30 saniye · resolution: 480p | 720p | 1080p · ratio: adaptive | 16:9 | 4:3 | 1:1 | 3:4 | 9:16 · 480p 11 · 720p 22 · 1080p 45 kredi/sn
- model: vellria-wan-3-pro-image-video · görselden videoya · image_urls: 1–1 https adresi (zorunlu) · duration: 2–30 saniye · resolution: 480p | 720p | 1080p · 480p 11 · 720p 22 · 1080p 45 kredi/sn
Görsel yükleme
POST/v1/uploads
Referans görselleri kendin barındırmak zorunda değilsin: dosyayı bu uca ham gövde olarak gönder, herkese açık bir adres al ve o adresi image_urls içinde kullan. Content-Type başlığı zorunludur ve gövdeyle eşleşmelidir; kabul edilen türler image/jpeg, image/png, image/webp, image/bmp ve image/gif, dosya başına 20 MB sınırıyla. Adres tahmin edilemez bir kimlik taşır ve üretilen dosyalarla aynı süre saklanır; süresi dolduğunda uç HTTP 410 ve content_expired döner.
curl https://vellria.com/v1/uploads \ -H "Authorization: Bearer vll_..." \ -H "Content-Type: image/png" \ --data-binary @reference.png
Üretim durumunu sorgula
GET/v1/generations/{id}
Üretimler eşzamansız çalışır; durum queued → processing → completed (kuyrukta → işleniyor → tamamlandı) sırasını izler. Üretim başarısız olduğunda kredi kendiliğinden iade edilir.
curl https://vellria.com/v1/generations/{id} \
-H "Authorization: Bearer vll_..."Klasörler
GET/v1/projects
Klasörler üretimlerini gruplar, başka hiçbir şey yapmaz: kredi harcamaz ve hiçbir dosyaya dokunmaz. POST /v1/projects ile oluştur (1–64 karakterlik bir ad, hesap başına en çok 100 klasör), POST /v1/projects/{id} ile adını değiştir, DELETE /v1/projects/{id} ile kaldır. Klasör silmek üretim silmez: satırlar kalır, project_id alanları null olur. Bir üretimi klasöre koymak için POST /v1/generations/{id}/project, çıkarmak için aynı uca project_id: null gönder. Geri okumak için GET /v1/generations?project={id} tek klasörü, GET /v1/generations?project=none ise hiçbir klasörde olmayan üretimleri döner.
curl https://vellria.com/v1/projects \
-H "Authorization: Bearer vll_..." \
-H "Content-Type: application/json" \
-d '{ "name": "Campaign" }'
curl -X POST https://vellria.com/v1/generations/{id}/project \
-H "Authorization: Bearer vll_..." \
-H "Content-Type: application/json" \
-d '{ "project_id": "prj_..." }'
curl "https://vellria.com/v1/generations?project=none" \
-H "Authorization: Bearer vll_..."Kredi yükleme
POST/v1/billing/create-payment
Krediler kripto parayla ya da kartla yüklenir. GET /v1/billing/packages iki paket listesi döner, crypto ve card, çünkü her paket tek bir ödeme yöntemine aittir: kripto paketleri bonus taşır, kart paketleri taşımaz. Her paketin bir id'si vardır ve satın almak o id'yi package_id olarak göndermek demektir; fiyat ve kredi katalogdan okunur, aynı istekteki price_amount yok sayılır. GET /v1/billing/currencies hesapta açık coin'leri, GET /v1/billing/min-amount ise seçilen coin için alt sınırı verir; bu değerleri kendi tarafına sabit yazma. POST /v1/billing/create-payment ya bir kripto package_id ya da 5 ile 10000 USD arasında serbest bir price_amount alır ve kripto ödeme adresini, memo isteyen ağlarda payin_extra_id alanını ve adresin ne zaman geçersizleşeceğini döner; serbest tutar düz kredi oranıyla hesaplanır ve bonus taşımaz, yani aynı tutar eşdeğer paketten daha az kredi getirir. POST /v1/billing/create-checkout ise barındırılan kart checkout'unu açar ve ödeyeni göndereceğin checkout_url'i döner; pay_currency ve price_amount almaz, yalnız bir kart package_id alır, çünkü her paket kart sağlayıcısında ayrı bir üründür. Yanlış listeden gelen package_id HTTP 400 ile invalid_package kodunu döner. İkisi de aynı ödeme kaydını döner. Ödeme onaylandığında kredi kendiliğinden yazılır; durumu GET /v1/billing/payments/{id} ile yoklayabilirsin.
curl https://vellria.com/v1/billing/create-payment \
-H "Authorization: Bearer vll_..." \
-H "Content-Type: application/json" \
-d '{
"package_id": "crypto_99",
"pay_currency": "usdttrc20"
}'
curl https://vellria.com/v1/billing/create-checkout \
-H "Authorization: Bearer vll_..." \
-H "Content-Type: application/json" \
-d '{ "package_id": "card_20" }'Saklama süresi
Üretilen dosyalar 14 gün saklanır, sonra sunucudan silinir. Kayıt ödeme geçmişinde kalır ama dosyaya ulaşılamaz olur. GET /v1/generations yanıtı retention_days alanını, her üretim de expires_at alanını taşır; süresi dolmuş bir dosya istendiğinde HTTP 410 ve content_expired kodu döner. Daha uzun tutman gereken her şeyi indir. Saklama süresini erken de bitirebilirsin: DELETE /v1/generations/{id} saklanan dosyayı hemen kaldırır ve zamanlanmış temizlik ne yapıyorsa onu yapar ve purged_at damgasını basar. Üretim satırının kendisi hiçbir zaman silinmez, yani harcanan kredi geçmişinde görünmeye devam eder ve iade edilmez; dosya ucu da bundan sonra aynı HTTP 410 ve content_expired ile yanıtlar. İkinci kez silmek hata değildir, aynı sonucu döner; hâlâ queued ya da processing durumundaki bir üretim henüz silinemez ve HTTP 409 ile generation_in_progress kodunu döner.
curl -X DELETE https://vellria.com/v1/generations/{id} \
-H "Authorization: Bearer vll_..."Hesabı kapatma
DELETE/v1/account
Hesabını kapatmak üretimlerini ve saklanan dosyalarını, yüklediklerini, API anahtarlarını ve destek mesajlarını siler, oturumunu da kapatır. Hesapta kalan kredi kaybolur, iade edilmez. Ödeme kayıtları fatura kaydı olarak saklanır, yani kapatılmış bir hesap tutmakla yükümlü olduğumuz ödeme geçmişinde görünmeye devam eder. Uç yalnız oturumla kimlik doğrular: konsoldaki Hesap sayfasından çağrılır ve API anahtarı taşıyan istek HTTP 403 ile reddedilir. Ödemesi henüz kesinleşmemiş bir hesap kapatılamaz, HTTP 409 ile pending_payment kodunu döner, çünkü o ödemenin kredisi hâlâ yazılabilir; hesap başka bir hesaba bağlanırken de aynı 409 merge_in_progress ile döner. İki durumda da biraz bekleyip yeniden dene.
Hız sınırları
Dakikada 20 görsel ve 10 video. Sınırı aşan istek HTTP 429 döner; Retry-After başlığındaki süre kadar bekle ve yeniden dene.
İçerik politikası
Promptun modele giderken yeniden yazılmaz ya da yumuşatılmaz: bir model prompt genişleticisini ayar olarak sunuyorsa o ayar kapalı gönderilir. Geriye dar bir güvenlik filtresi kalır ve kapsadığı her şey bu.
- Reşit olmayanların betimlenmesi ve gerçek kişileri konu alan rızasız içerik sıfır toleransla reddedilir ve hesabın kalıcı olarak kapatılmasıyla sonuçlanır.
- Modeli çalıştıran sağlayıcı kendi güvenlik filtresini uygular ve isteği başladıktan sonra da reddedebilir; üretim başarısız işaretlenir ve başlangıçta düşülen kredi kendiliğinden iade edilir.
- Bunun dışında hiçbir şey elenmez. Yetişkinler için kurgusal yetişkin içeriği yazıldığı gibi çalışır ve modele giden ifade senin gönderdiğin ifadedir.
