API dokümantasyonu
Llumi Cut bir HTTP hizmetidir. Medyayı yüklersiniz, JSON zaman çizelgesini gönderirsiniz ve sonucu indirirsiniz. Bu sayfa alanları özetler; doğrulanmış tam şema her kurulumda /openapi.json adresindedir.
Kimlik doğrulama
Her kurulumun kendi anahtarı vardır. Bu anahtarı her /v1 isteğinde gönderin:
Authorization: Bearer <anahtarınız>Akış
- Her dosyayı
POST /v1/assets?kind=image|video|audioile, dosyayı ikili gövde olarak göndererek yükleyin. Yanıt{"id": "…"}olur. - Zaman çizelgesini JSON olarak
POST /v1/rendersadresine göndererek kurguyu kuyruğa alın. Yeniden denemenin ikinci bir render oluşturmaması içinIdempotency-Keybaşlığını kullanın. statusdeğericompletedolana kadarGET /v1/renders/{id}adresini sorgulayın, ardından her dosyayıresult.filesiçinden indirin.
Uç noktalar
| Yöntem | Yol | Ne yapar |
|---|---|---|
| GET | /health | Hizmet durumu |
| POST | /v1/assets?kind=image|video|audio | İkili bir dosya yükler ve ID'sini döndürür |
| POST | /v1/renders | Zaman çizelgesini doğrular ve kuyruğa alır |
| GET | /v1/renders | Son 100 render |
| GET | /v1/renders/{id} | Durum, ilerleme, olaylar ve hatalar |
| POST | /v1/renders/{id}/cancel | Kuyruktaki veya çalışan bir render'ı iptal eder |
| POST | /v1/renders/{id}/retry | Durmuş bir render'ı yeniden dener |
| DELETE | /v1/renders/{id} | Durmuş bir render'ı ve dosyalarını siler |
| GET | /v1/renders/{id}/files/{name} | Bir çıktıyı indirir |
| POST | /v1/maintenance/purge?older_than_days=N | N günden eski durmuş render'ları siler |
Zaman çizelgesi
Yalnızca title, duration ve clips zorunludur. Çekim sürelerinin toplamı duration değerine eşit olmalıdır.
| Alan | Değerler |
|---|---|
duration | 3–600 sn |
width · aspect | 640, 1280 veya 1920 (uzun kenar) · 16:9, 9:16, 1:1 |
fps | 24 veya 30 |
background | Kenar boşluklarının rengi, #RRGGBB |
transition · transition_duration | cut, fade, fadeblack, fadewhite, dissolve, slideleft, slideright, wipeleft, wiperight, smoothleft, smoothright, circleopen, circleclose · 0,1–2 sn |
image_motion | none, zoom_in, zoom_out, pan_left, pan_right, auto |
fade_in · fade_out | Videonun tamamı ve sesi için açılma ve kararma, 0–5 sn |
audio_asset_id · pauses | İsteğe bağlı ana şarkı ve en fazla on dijital sessizlik duraklaması |
Çekimler (clips[])
| Alan | Değerler |
|---|---|
asset_id · duration | Görsel veya video · en fazla 60 sn |
trim_start · speed | Kaynaktaki başlangıç saniyesi · 0,25–4 |
volume | Klibin kendi sesi, 0–2 (0 sesi kapatır) |
fit | contain (kenar boşluklu) veya cover (kırparak doldurur) |
freeze · motion | İlk kareyi dondurur · Ken Burns hareketi |
effects | grayscale, sepia, vintage, noir, warm, cool, blur, sharpen, vignette, invert, mirror, flip arasından en fazla altı tane |
brightness · contrast · saturation | −0,5–0,5 · 0,3–2 · 0–3 |
transition · transition_duration | Önceki çekimden geçiş |
Ses (audio_tracks[])
asset_id, start, trim_start, duration, volume (0–2), fade_in, fade_out, loop ve duck. duck: true olan bir parça; şarkı, bir konuşma ya da bir klibin sesi çalarken yaklaşık 10 dB kısılır.
Başlıklar (texts[])
text (en fazla beş satır), start, end, position (dokuz konum) ya da karenin oranı olarak x/y, size, color, outline_color, outline, box, box_color, box_opacity, font, bold, italic ve animation (none, fade, slide_up, slide_left, pop, typewriter).
Katmanlar (overlays[])
asset_id (görsel veya video), start, end, position ya da x/y, width, height (ikisi birlikte verilirse kutu doldurulur: bölünmüş ekran ve ızgaralar), margin, opacity, trim_start, volume, fade, border ve border_color.
Altyazılar (captions[])
start, end ve text. SRT ve WebVTT olarak dışa aktarılır; burn_subtitles: true ile görüntüye gömülür.
Çıktılar
video.mp4 (H.264 + AAC), audio.wav (son ses kanalı), song.wav (yalnızca ana şarkı varsa), subtitles.srt, subtitles.vtt, qc.json (süre, çözünürlük, ses kaynakları, uyarılar) ve manifest.json.
Sınırlar
- Dosyalar en fazla 250 MB, görseller en fazla 8192 × 8192, medya en fazla 610 sn.
- En fazla 150 çekim, 20 ses parçası, 20 katman, 100 başlık ve 500 altyazı.
- Başlıklar, katmanlar ve altyazılar video bitmeden sona ermelidir. Bir geçiş, bağladığı çekimlerden herhangi birinin yarısından uzun olamaz.
- Disk yolları, URL'ler ve oynatma listeleri medya olarak kabul edilmez.