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.
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
Metode
VidioClient(api_key)Inicijalizuj klijenta
Kreira novu instancu VidioClient-a.
Parameters
Returns
Konfigurisana instanca VidioClient-a.
from vidio import VidioClient
import os
client = VidioClient(
api_key=os.getenv("VIDIO_API_KEY")
)client.upload(file_path)Učitaj datoteku
Učitava lokalnu datoteku na VIDIO i vraća rezultat učitavanja koji sadrži ulazni ključ.
Parameters
Returns
Objekat rezultata učitavanja koji sadrži `input_key`.
result = client.upload("/path/to/video.mp4")
print(result.input_key)client.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
upload(). Redosled ulaznih ključeva određuje redosled medija u izlaznom videu.ball-sports. Može biti podcast, ball-sports, non-ball-sports, beauty-product-demo, wedding, travel, others. Za najbolje rezultate, navedite kategoriju koja najviše odgovara vašem sadržaju. Ako vaš sadržaj ne odgovara nijednoj kategoriji, koristite others.cut_method ai-cut; nije obavezno kada je cut_method no-cut. Dužina izlaza treba da bude manja ili jednaka zbirnoj dužini svih ulaznih videa.landscape, portrait ili square.ai-cut i no-cut. Podrazumevana vrednost je ai-cut.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, odabrana numera će se ponavljati da bi odgovarala trajanju izlaza.0 do 100. Ako nije navedeno, podrazumevano je 100.0 do 100. Ako nije navedeno, podrazumevano je 100.Returns
Objekat posla koji sadrži `job_id` i informacije o statusu.
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)client.get_job(job_id)Dohvati posao
Dohvata trenutni status posla.
Parameters
Returns
Objekat posla sa najnovijim statusom.
Response fields
submitted, queued, processing, processed, rendering, ili rendered.video ili sound.job_status = client.get_job(job.job_id)
print(job_status.status){
"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
}
]
}client.wait_for_job(job_id)Čekaj na posao
Proverava API dok posao za naglašavanje ne dosegne stanje završeno.
Parameters
Returns
Završeni objekat posla.
final_job = client.wait_for_job(job.job_id)
print(final_job.status)client.render(job_id)Renderuj izlaz
Pokreće renderovanje izlaznog videa za završeni posao naglašavanja.
Parameters
OutputResult koji treba prikazati. Podrazumevano je 0. Uopšteno, prvi izlaz je najbolji rezultat.Returns
Objekat rezultata renderovanja sa statusom renderovanja.
render_result = client.render(
job_id=job.job_id
)
print(render_result.status)client.wait_for_render(job_id)Čekaj na render
Proverava dok se render ne završi i izlaz ne bude spreman.
Parameters
Returns
Završeni objekat rezultata renderovanja.
final_render = client.wait_for_render(job.job_id)
print(final_render.output_url)