API دستاویزات
Llumi Cut ایک HTTP سروس ہے۔ آپ میڈیا اپ لوڈ کرتے ہیں، JSON ٹائم لائن بھیجتے ہیں اور نتیجہ ڈاؤن لوڈ کرتے ہیں۔ یہ صفحہ فیلڈز کا خلاصہ ہے؛ مکمل اور تصدیق شدہ اسکیما ہر انسٹالیشن پر /openapi.json میں موجود ہے۔
تصدیق
ہر انسٹالیشن کی اپنی کلید ہوتی ہے۔ اسے ہر /v1 روٹ پر بھیجیں:
Authorization: Bearer <آپ-کی-کلید>طریقۂ کار
- اپ لوڈ کریں: ہر فائل
POST /v1/assets?kind=image|video|audioکے ذریعے، فائل کو بائنری باڈی کے طور پر۔ یہ{"id": "…"}واپس کرتا ہے۔ - قطار میں ڈالیں: ایڈٹ کو
POST /v1/rendersکے ذریعے، ٹائم لائن JSON کے طور پر۔Idempotency-Keyہیڈر استعمال کریں تاکہ دوبارہ کوشش سے دوسرا رینڈر نہ بنے۔ - اسٹیٹس دیکھیں:
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=N | N دن سے پرانے رکے ہوئے رینڈرز حذف کرتا ہے |
ٹائم لائن
صرف title، duration اور clips لازمی ہیں۔ شاٹس کے دورانیوں کا مجموعہ duration کے برابر ہونا چاہیے۔
| فیلڈ | قدریں |
|---|---|
duration | 3–600 s |
width · aspect | 640، 1280 یا 1920 (لمبی سائیڈ) · 16:9، 9:16، 1:1 |
fps | 24 یا 30 |
background | کناروں والی پٹیوں کا رنگ، #RRGGBB |
transition · transition_duration | cut، fade، fadeblack، fadewhite، dissolve، slideleft، slideright، wipeleft، wiperight، smoothleft، smoothright، circleopen، circleclose · 0.1–2 s |
image_motion | none، 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 اسے خاموش کرتا ہے) |
fit | contain (پٹیوں کے ساتھ) یا 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۔
حدود
- فائلیں 250 MB تک، تصاویر 8192 × 8192 تک اور میڈیا 610 s تک۔
- 150 شاٹس، 20 آڈیو ٹریکس، 20 لیئرز، 100 ٹائٹلز اور 500 سب ٹائٹلز تک۔
- ٹائٹلز، لیئرز اور سب ٹائٹلز ویڈیو کے اندر ختم ہونے چاہییں۔ ٹرانزیشن اپنے جوڑے گئے کسی بھی شاٹ کے آدھے سے لمبی نہیں ہو سکتی۔
- ڈسک پاتھس، URLs اور پلے لسٹس بطور میڈیا قبول نہیں کیے جاتے۔