Llumi Cut · Nordic Byte

Documentação da API

O Llumi Cut é um serviço HTTP. Você envia as mídias, manda uma timeline em JSON e baixa o resultado. Esta página resume os campos; o esquema completo e validado está em /openapi.json em cada instalação.

Autenticação

Cada instalação tem sua própria chave. Envie-a em todas as rotas /v1:

Authorization: Bearer <sua-chave>

Fluxo

  1. Envie cada arquivo com POST /v1/assets?kind=image|video|audio e o arquivo como corpo binário. A resposta é {"id": "…"}.
  2. Coloque na fila a edição com POST /v1/renders e a timeline em JSON. Use o cabeçalho Idempotency-Key para que uma nova tentativa não crie uma segunda renderização.
  3. Consulte GET /v1/renders/{id} até que status seja completed e baixe cada arquivo de result.files.

Endpoints

MétodoRotaO que faz
GET/healthStatus do serviço
POST/v1/assets?kind=image|video|audioEnvia um arquivo binário e retorna seu ID
POST/v1/rendersValida a timeline e a coloca na fila
GET/v1/rendersAs 100 renderizações mais recentes
GET/v1/renders/{id}Status, progresso, eventos e erros
POST/v1/renders/{id}/cancelCancela uma renderização na fila ou em andamento
POST/v1/renders/{id}/retryTenta de novo uma renderização parada
DELETE/v1/renders/{id}Exclui uma renderização parada e seus arquivos
GET/v1/renders/{id}/files/{name}Baixa uma saída
POST/v1/maintenance/purge?older_than_days=NExclui renderizações paradas com mais de N dias

Timeline

Só title, duration e clips são obrigatórios. A soma das durações das cenas deve ser igual a duration.

CampoValores
duration3–600 s
width · aspect640, 1280 ou 1920 (lado maior) · 16:9, 9:16, 1:1
fps24 ou 30
backgroundCor das faixas laterais, #RRGGBB
transition · transition_durationcut, fade, fadeblack, fadewhite, dissolve, slideleft, slideright, wipeleft, wiperight, smoothleft, smoothright, circleopen, circleclose · 0,1–2 s
image_motionnone, zoom_in, zoom_out, pan_left, pan_right, auto
fade_in · fade_outFade do vídeo inteiro e do seu som, 0–5 s
audio_asset_id · pausesMúsica principal opcional e até dez pausas de silêncio digital

Cenas (clips[])

CampoValores
asset_id · durationImagem ou vídeo · até 60 s
trim_start · speedSegundo inicial na fonte · 0,25–4
volumeSom próprio do clipe, 0–2 (0 silencia)
fitcontain (com faixas) ou cover (preenche recortando)
freeze · motionCongela o primeiro quadro · movimento Ken Burns
effectsAté seis entre grayscale, sepia, vintage, noir, warm, cool, blur, sharpen, vignette, invert, mirror, flip
brightness · contrast · saturation−0,5–0,5 · 0,3–2 · 0–3
transition · transition_durationTransição a partir da cena anterior

Som (audio_tracks[])

asset_id, start, trim_start, duration, volume (0–2), fade_in, fade_out, loop e duck. Uma faixa com duck: true abaixa cerca de 10 dB enquanto tocam a música principal, uma voz ou o som de um clipe.

Títulos (texts[])

text (até cinco linhas), start, end, position (nove posições) ou x/y como frações do quadro, size, color, outline_color, outline, box, box_color, box_opacity, font, bold, italic e animation (none, fade, slide_up, slide_left, pop, typewriter).

Camadas (overlays[])

asset_id (imagem ou vídeo), start, end, position ou x/y, width, height (com os dois, a caixa é preenchida: tela dividida e grades), margin, opacity, trim_start, volume, fade, border e border_color.

Legendas (captions[])

start, end e text. São exportadas em SRT e WebVTT e, com burn_subtitles: true, gravadas na imagem.

Saídas

video.mp4 (H.264 + AAC), audio.wav (trilha sonora final), song.wav (só com música principal), subtitles.srt, subtitles.vtt, qc.json (duração, resolução, fontes de som, avisos) e manifest.json.

Limites