Llumi Cut · Nordic Byte

API دستاویزات

Llumi Cut ایک HTTP سروس ہے۔ آپ میڈیا اپ لوڈ کرتے ہیں، JSON ٹائم لائن بھیجتے ہیں اور نتیجہ ڈاؤن لوڈ کرتے ہیں۔ یہ صفحہ فیلڈز کا خلاصہ ہے؛ مکمل اور تصدیق شدہ اسکیما ہر انسٹالیشن پر /openapi.json میں موجود ہے۔

تصدیق

ہر انسٹالیشن کی اپنی کلید ہوتی ہے۔ اسے ہر /v1 روٹ پر بھیجیں:

Authorization: Bearer <آپ-کی-کلید>

طریقۂ کار

  1. اپ لوڈ کریں: ہر فائل POST /v1/assets?kind=image|video|audio کے ذریعے، فائل کو بائنری باڈی کے طور پر۔ یہ {"id": "…"} واپس کرتا ہے۔
  2. قطار میں ڈالیں: ایڈٹ کو POST /v1/renders کے ذریعے، ٹائم لائن JSON کے طور پر۔ Idempotency-Key ہیڈر استعمال کریں تاکہ دوبارہ کوشش سے دوسرا رینڈر نہ بنے۔
  3. اسٹیٹس دیکھیں: GET /v1/renders/{id} کو تب تک چیک کریں جب تک status کی قدر completed نہ ہو جائے، پھر ہر فائل result.files سے ڈاؤن لوڈ کریں۔

اینڈ پوائنٹس

میتھڈپاتھکام
GET/healthسروس کی حالت
POST/v1/assets?kind=image|video|audioبائنری فائل اپ لوڈ کر کے اس کی ID واپس کرتا ہے
POST/v1/rendersٹائم لائن کی جانچ کر کے اسے قطار میں ڈالتا ہے
GET/v1/rendersآخری 100 رینڈرز
GET/v1/renders/{id}حالت، پیش رفت، ایونٹس اور غلطیاں
POST/v1/renders/{id}/cancelقطار میں موجود یا جاری رینڈر منسوخ کرتا ہے
POST/v1/renders/{id}/retryرکے ہوئے رینڈر کی دوبارہ کوشش کرتا ہے
DELETE/v1/renders/{id}رکا ہوا رینڈر اور اس کی فائلیں حذف کرتا ہے
GET/v1/renders/{id}/files/{name}ایک آؤٹ پٹ ڈاؤن لوڈ کرتا ہے
POST/v1/maintenance/purge?older_than_days=NN دن سے پرانے رکے ہوئے رینڈرز حذف کرتا ہے

ٹائم لائن

صرف title، duration اور clips لازمی ہیں۔ شاٹس کے دورانیوں کا مجموعہ duration کے برابر ہونا چاہیے۔

فیلڈقدریں
duration3–600 s
width · aspect640، 1280 یا 1920 (لمبی سائیڈ) · 16:9، 9:16، 1:1
fps24 یا 30
backgroundکناروں والی پٹیوں کا رنگ، #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_outپوری ویڈیو اور اس کی آواز کا فیڈ، 0–5 s
audio_asset_id · pausesاختیاری مرکزی گانا اور ڈیجیٹل خاموشی کے دس تک وقفے

شاٹس (clips[])

فیلڈقدریں
asset_id · durationتصویر یا ویڈیو · 60 s تک
trim_start · speedسورس میں آغاز کا سیکنڈ · 0.25–4
volumeکلپ کی اپنی آواز، 0–2 (0 اسے خاموش کرتا ہے)
fitcontain (پٹیوں کے ساتھ) یا cover (کراپ کر کے بھرتا ہے)
freeze · motionپہلا فریم منجمد کرتا ہے · Ken Burns حرکت
effectsان میں سے چھ تک: 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_durationپچھلے شاٹ سے ٹرانزیشن

آواز (audio_tracks[])

asset_id، start، trim_start، duration، volume (0–2)، fade_in، fade_out، loop اور duck۔ duck: true والا ٹریک تقریباً 10 dB دھیما ہو جاتا ہے جب گانا، کوئی آواز یا کسی کلپ کی آواز چل رہی ہو۔

ٹائٹلز (texts[])

text (پانچ لائنوں تک)، start، end، position (نو پوزیشنز) یا فریم کے کسر کے طور پر x/y، size، color، outline_color، outline، box، box_color، box_opacity، font، bold، italic اور animation (none، fade، slide_up، slide_left، pop، typewriter)۔

لیئرز (overlays[])

asset_id (تصویر یا ویڈیو)، start، end، position یا x/y، width، height (دونوں دینے پر باکس بھر جاتا ہے: اسپلٹ اسکرین اور گرڈز)، margin، opacity، trim_start، volume، fade، border اور border_color۔

سب ٹائٹلز (captions[])

start، end اور text۔ یہ SRT اور WebVTT میں ایکسپورٹ ہوتے ہیں اور burn_subtitles: true کے ساتھ تصویر میں جل جاتے ہیں۔

آؤٹ پٹس

video.mp4 (H.264 + AAC)، audio.wav (حتمی ساؤنڈ ٹریک)، song.wav (صرف مرکزی گانے کے ساتھ)، subtitles.srt، subtitles.vtt، qc.json (دورانیہ، ریزولوشن، آواز کے ذرائع، انتباہات) اور manifest.json۔

حدود