API Referenca

VidioClient je glavni ulaz za interakciju sa VIDIO API-jem iz Pythona. Koristite ga za učitavanje datoteka, kreiranje poslova za naglašavanje, proveru statusa posla, renderovanje izlaza i čekanje da se obrada završi.

API pristup je trenutno dostupan za Studio plan i više.

Model klijenta

VidioClient pruža jednostavno sučelje za rad sa VIDIO API-jem. Nakon što kreirate klijenta sa vašim API ključem, možete učitavati ulazne datoteke, kreirati poslove za naglašavanje, proveravati status posla, renderovati izlaze i čekati da poslovi završe.

Osobine

api_keystring
Vaš VIDIO API ključ koji se koristi za autentifikaciju zahteva.

Metode

KLASAVidioClient(api_key)

Inicijalizuj klijenta

Kreira novu instancu VidioClient-a.

Parameters

api_keystring
Vaš VIDIO API ključ.

Returns

Konfigurisana instanca VidioClient-a.

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

Učitaj datoteku

Učitava lokalnu datoteku na VIDIO i vraća rezultat učitavanja koji sadrži ulazni ključ.

Parameters

file_pathstring
Lokalni put do datoteke koju želite da učitate.

Returns

Objekat rezultata učitavanja koji sadrži `input_key`.

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

Kreiraj naglašavanje

Kreira posao za naglašavanje iz jedne ili više učitanih ulaznih datoteka.

Parameters

input_keyslist[string]
Lista ključeva učitanih datoteka vraćenih od strane upload(). Redosled ulaznih ključeva određuje redosled medija u izlaznom videu.
video_categorystring
Kategorija videa kao što je ball-sports. Može biti podcast, ball-sports, non-ball-sports, beauty-product-demo, wedding, travel, others. Za najbolje rezultate, navedite kategoriju koja se najviše podudara sa vašim sadržajem. Ako vaš sadržaj ne spada u nijednu kategoriju, koristite others.
output_lengthinteger
Željena dužina izlaza u sekundama. Dužina izlaza treba da bude manja ili jednaka ukupnoj dužini svih ulaznih videa kombinovano.
aspect_ratiostring
Izlazni odnos širine i visine kao što su landscape, portrait, ili square.
kategorija_muzikestring, optional
Predefinisana kategorija muzike koja će se primeniti na izlaz. Podržane vrednosti su corporate, romantic, sports, kids_and_comedy, ambient_and_nature, horror_and_suspense, documentary i trending_vlogs. Ako je trajanje izlaza kraće od trajanja muzike, izabrana numera će se ponavljati da bi odgovarala izlazu.
music_volumeinteger, optional
Jačina pozadinske muzike od 0 do 100. Ako nije navedeno, podrazumevana vrednost je 100.
original_audio_volumeinteger, optional
Originalna jačina zvuka izvornog zapisa od 0 do 100. Ako nije navedeno, podrazumevana vrednost je 100.

Returns

Objekat posla koji sadrži `job_id` i informacije o statusu.

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

Dohvati posao

Dohvata trenutni status posla.

Parameters

job_idstring
ID posla vraćen kada je posao za naglašavanje kreiran.

Returns

Objekat posla sa najnovijim statusom.

Response fields

job_idstring
ID posla.
statusstring
Trenutni status posla, kao što su submitted, queued, processing, processed, rendering, ili rendered.
outputslist[OutputResult]
Vraća se kada je posao potpuno renderovan i kada su izlazni podaci dostupni iz poslednjeg pod-posla.
startfloat | null
Vreme početka izlaznog segmenta, ako je dostupno.
endfloat | null
Vreme završetka izlaznog segmenta, ako je dostupno.
thumbnailstring | null
Putanja ili URL sličice za izlaz.
durationfloat | null
Trajanje izlaza u sekundama.
fpsfloat | null
Broj frejmova u sekundi za izlaz.
overlayslist[OverlayResult]
Sanitizovani preklopi (overlays) uključeni u izlaz.
idinteger | null
ID preklopa.
fileIDstring | null
Povezani ID fajla, kada je dostupan.
originalFileNamestring | null
Originalno ime ulaznog fajla povezano sa preklopom, kada je dostupno.
from_integer | float | null
Pomak frejma na kojem preklop počinje.
contentstring | null
Vrednost sadržaja preklopa, kao što je putanja do sličice ili identifikator zvuka.
durationInFramesinteger | null
Trajanje preklopa u frejmovima.
typestring | null
Tip preklopa, kao na primer video ili sound.
srcstring | null
Izvorni URL za medij preklopa.
videoStartTimeinteger | float | null
Vreme početka izvornog videa, ako je primenljivo.
python
job_status = client.get_job(job.job_id) print(job_status.status)
json
{ "job_id": "abc123", "status": "renderovano", "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": "trčanje-noć-393139", "durationInFrames": 912, "type": "sound", "src": "https://..." } ], "fps": 59.94 } ] }
METODAclient.wait_for_job(job_id)

Čekaj na posao

Proverava API dok posao za naglašavanje ne dosegne stanje završeno.

Parameters

job_idstring
ID posla na koji treba čekati.

Returns

Završeni objekat posla.

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

Renderuj izlaz

Pokreće renderovanje izlaznog videa za završeni posao naglašavanja.

Parameters

job_idstring
ID završenog posla za naglašavanje.
output_indexinteger, optional
Indeks liste OutputResult koji treba prikazati. Podrazumevano je 0. Uopšteno, prvi izlaz je najbolji rezultat.

Returns

Objekat rezultata renderovanja sa statusom renderovanja.

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

Čekaj na render

Proverava dok se render ne završi i izlaz ne bude spreman.

Parameters

job_idstring
ID posla povezanog sa renderovanjem.

Returns

Završeni objekat rezultata renderovanja.

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