Referensi API

VidioClient adalah titik masuk utama untuk berinteraksi dengan API VIDIO dari Python. Gunakan ini untuk mengunggah file, membuat pekerjaan reel sorotan, memeriksa status pekerjaan, merender output, dan menunggu pemrosesan selesai.

Akses API saat ini tersedia untuk rencana Studio dan di atasnya.

Model klien

VidioClient menyediakan antarmuka sederhana untuk bekerja dengan API VIDIO. Setelah membuat klien dengan kunci API Anda, Anda dapat mengunggah file input, membuat pekerjaan reel sorotan, memeriksa status pekerjaan, merender output, dan menunggu pekerjaan selesai.

Properti

api_keystring
Kunci API VIDIO Anda yang digunakan untuk mengautentikasi permintaan.

Metode

KELASVidioClient(api_key)

Inisialisasi klien

Membuat instance VidioClient baru.

Parameters

api_keystring
Kunci API VIDIO Anda.

Returns

Sebuah instance VidioClient yang sudah dikonfigurasi.

python
from vidio import VidioClient import os client = VidioClient( api_key=os.getenv("VIDIO_API_KEY") )
METODEclient.upload(file_path)

Unggah file

Mengunggah file lokal ke VIDIO dan mengembalikan hasil unggah yang berisi kunci input.

Parameters

file_pathstring
Path lokal ke file yang ingin Anda unggah.

Returns

Sebuah objek hasil unggah yang berisi `input_key`.

python
result = client.upload("/path/to/video.mp4") print(result.input_key)
METODEclient.create_highlight_reel(input_keys, video_category, output_length, aspect_ratio)

Buat reel sorotan

Membuat pekerjaan reel sorotan dari satu atau lebih file input yang diunggah.

Parameters

input_keyslist[string]
Daftar kunci file yang diunggah yang dikembalikan oleh upload(). Urutan kunci input menentukan urutan media dalam video output.
video_categorystring
Kategori video seperti bola-olahraga. Ini bisa berupa podcast, bola-olahraga, non-bola-olahraga, demo-produk-kecantikan, pernikahan, travel, lainnya. Untuk hasil terbaik, tentukan kategori yang paling sesuai dengan konten Anda. Jika konten Anda tidak cocok dengan kategori manapun, gunakan lainnya.
output_lengthinteger
Panjang output yang diinginkan dalam detik. Panjang output harus kurang dari atau sama dengan total panjang semua video input yang digabungkan.
aspect_ratiostring
Rasio aspek output seperti landscape, portrait, atau square.
kategori_musikstring, optional
Kategori musik preset untuk diterapkan pada keluaran. Nilai yang didukung adalah corporate, romantic, sports, kids_and_comedy, ambient_and_nature, horror_and_suspense, documentary, dan trending_vlogs. Jika durasi keluaran lebih pendek daripada durasi musik, trek yang dipilih akan diulang agar sesuai dengan keluaran.
volume_musikinteger, optional
Volume musik latar dari 0 sampai 100. Jika tidak disediakan, nilai default adalah 100.
volume_audio_asliinteger, optional
Volume audio sumber asli dari 0 hingga 100. Jika tidak diberikan, nilai default adalah 100.

Returns

Sebuah objek pekerjaan yang berisi `job_id` dan informasi status.

python
job = client.create_highlight_reel( input_keys=[result.input_key], video_category="bola-olahraga", output_length=30, aspect_ratio="landscape", ) print(job.job_id) print(job.status)
METODEclient.get_job(job_id)

Dapatkan pekerjaan

Mengambil status terkini dari sebuah pekerjaan.

Parameters

job_idstring
ID pekerjaan yang dikembalikan saat pekerjaan reel sorotan dibuat.

Returns

Sebuah objek pekerjaan dengan status terbaru.

Response fields

job_idstring
ID pekerjaan.
statusstring
Status pekerjaan saat ini, seperti submitted, queued, processing, processed, rendering, atau rendered.
outputslist[OutputResult]
Dikembalikan ketika pekerjaan telah sepenuhnya dirender dan data keluaran tersedia dari sub-pekerjaan terakhir.
startfloat | null
Waktu mulai segmen keluaran, jika tersedia.
endfloat | null
Waktu akhir segmen keluaran, jika tersedia.
thumbnailstring | null
Jalur atau URL thumbnail untuk keluaran.
durationfloat | null
Durasi keluaran dalam detik.
fpsfloat | null
Frame per detik untuk keluaran.
overlayslist[OverlayResult]
Overlay yang disanitasi yang disertakan dalam keluaran.
idinteger | null
ID overlay.
fileIDstring | null
ID file terkait, jika tersedia.
originalFileNamestring | null
Nama file input asli yang terkait dengan overlay, jika tersedia.
from_integer | float | null
Offset frame tempat overlay dimulai.
contentstring | null
Nilai konten overlay, seperti jalur thumbnail atau pengenal suara.
durationInFramesinteger | null
Durasi overlay dalam frame.
typestring | null
Tipe overlay seperti video atau sound.
srcstring | null
URL sumber untuk media overlay.
videoStartTimeinteger | float | null
Waktu mulai video sumber, jika berlaku.
python
job_status = client.get_job(job.job_id) print(job_status.status)
json
{ "job_id": "abc123", "status": "dirender", "outputs": [ { "start": null, "end": null, "thumbnail": "out/...jpg", "duration": 15.22, "overlays": [ { "id": 0, "fileID": "file_123", "from": 0, "content": "https://...", "durationInFrames": 284, "type": "video", "src": "https://...", "videoStartTime": 5425 }, { "id": 876361, "from": 0, "content": "running-night-393139", "durationInFrames": 912, "type": "sound", "src": "https://..." } ], "fps": 59.94 } ] }
METODEclient.wait_for_job(job_id)

Tunggu pekerjaan

Memantau API sampai pekerjaan reel sorotan mencapai status selesai.

Parameters

job_idstring
ID pekerjaan untuk ditunggu.

Returns

Objek pekerjaan akhir yang sudah selesai.

python
final_job = client.wait_for_job(job.job_id) print(final_job.status)
METODEclient.render(job_id)

Render output

Memulai rendering video output untuk pekerjaan reel sorotan yang sudah selesai.

Parameters

job_idstring
ID pekerjaan reel sorotan yang sudah selesai.
output_indexinteger, optional
Indeks dari daftar OutputResult yang akan ditampilkan. Defaultnya adalah 0. Secara umum, keluaran pertama adalah hasil terbaik.

Returns

Sebuah objek hasil render dengan status render.

python
render_result = client.render( job_id=job.job_id ) print(render_result.status)
METODEclient.wait_for_render(job_id)

Tunggu render

Memantau sampai rendering selesai dan output siap.

Parameters

job_idstring
ID pekerjaan yang terkait dengan render.

Returns

Objek hasil render akhir.

python
final_render = client.wait_for_render(job.job_id) print(final_render.output_url)