Llumi Cut · Nordic Byte

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ış

  1. Her dosyayı POST /v1/assets?kind=image|video|audio ile, dosyayı ikili gövde olarak göndererek yükleyin. Yanıt {"id": "…"} olur.
  2. Zaman çizelgesini JSON olarak POST /v1/renders adresine göndererek kurguyu kuyruğa alın. Yeniden denemenin ikinci bir render oluşturmaması için Idempotency-Key başlığını kullanın.
  3. status değeri completed olana kadar GET /v1/renders/{id} adresini sorgulayın, ardından her dosyayı result.files içinden indirin.

Uç noktalar

YöntemYolNe yapar
GET/healthHizmet durumu
POST/v1/assets?kind=image|video|audioİkili bir dosya yükler ve ID'sini döndürür
POST/v1/rendersZaman çizelgesini doğrular ve kuyruğa alır
GET/v1/rendersSon 100 render
GET/v1/renders/{id}Durum, ilerleme, olaylar ve hatalar
POST/v1/renders/{id}/cancelKuyruktaki veya çalışan bir render'ı iptal eder
POST/v1/renders/{id}/retryDurmuş 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=NN 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.

AlanDeğerler
duration3–600 sn
width · aspect640, 1280 veya 1920 (uzun kenar) · 16:9, 9:16, 1:1
fps24 veya 30
backgroundKenar boşluklarının rengi, #RRGGBB
transition · transition_durationcut, fade, fadeblack, fadewhite, dissolve, slideleft, slideright, wipeleft, wiperight, smoothleft, smoothright, circleopen, circleclose · 0,1–2 sn
image_motionnone, zoom_in, zoom_out, pan_left, pan_right, auto
fade_in · fade_outVideonun 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[])

AlanDeğerler
asset_id · durationGörsel veya video · en fazla 60 sn
trim_start · speedKaynaktaki başlangıç saniyesi · 0,25–4
volumeKlibin kendi sesi, 0–2 (0 sesi kapatır)
fitcontain (kenar boşluklu) veya cover (kırparak doldurur)
freeze · motionİlk kareyi dondurur · Ken Burns hareketi
effectsgrayscale, 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