APIリファレンス
VidioClientは、PythonからVIDIO APIと対話するための主要なエントリーポイントです。これを使用してファイルをアップロードしたり、ハイライトリールジョブを作成したり、ジョブのステータスを確認したり、出力をレンダリングしたり、処理が完了するのを待機したりできます。
APIアクセスは現在、Studioプラン以上で利用可能です。
クライアントモデル
VidioClientは、VIDIO APIを操作するためのシンプルなインターフェースを提供します。APIキーを使用してクライアントを作成した後、入力ファイルをアップロードし、ハイライトリールジョブを作成し、ジョブのステータスをポーリングし、出力をレンダリングし、ジョブが完了するのを待つことができます。
プロパティ
api_keystring
リクエストを認証するために使用するあなたのVIDIO APIキー。
メソッド
クラス
VidioClient(api_key)クライアントを初期化
新しいVidioClientインスタンスを作成します。
Parameters
api_keystring
あなたのVIDIO APIキー。
Returns
構成されたVidioClientインスタンス。
python
from vidio import VidioClient
import os
client = VidioClient(
api_key=os.getenv("VIDIO_API_KEY")
)メソッド
client.upload(file_path)ファイルをアップロード
ローカルファイルをVIDIOにアップロードし、入力キーを含むアップロード結果を返します。
Parameters
file_pathstring
アップロードしたいファイルのローカルパス。
Returns
`input_key`を含むアップロード結果オブジェクト。
python
result = client.upload("/path/to/video.mp4")
print(result.input_key)メソッド
client.create_highlight_reel(input_keys, video_category, output_length, aspect_ratio)ハイライトリールを作成
1つ以上のアップロードされた入力ファイルからハイライトリールジョブを作成します。
Parameters
input_keyslist[string]
upload()によって返されたアップロードファイルキーのリスト。入力キーの順序は、出力ビデオのメディアの順序を決定します。video_categorystring
ball-sportsなどのビデオカテゴリー。podcast、ball-sports、non-ball-sports、beauty-product-demo、wedding、travel、othersが可能です。最良の結果を得るには、コンテンツに最も適したカテゴリーを指定してください。コンテンツがどのカテゴリーにも該当しない場合は、othersを使用してください。output_lengthinteger
秒単位の希望の出力長。出力長は、すべての入力ビデオの合計長以下である必要があります。
aspect_ratiostring
landscape、portrait、またはsquareなどの出力アスペクト比。music_categorystring, optional
出力に適用するプリセットの音楽カテゴリ。サポートされている値は
corporate, romantic, sports, kids_and_comedy, ambient_and_nature, horror_and_suspense, documentary、および trending_vlogs です。出力の長さが音楽の長さより短い場合、選択したトラックは出力に合わせてループします。音楽の音量integer, optional
背景音楽の音量は
0から100の範囲です。指定されない場合、デフォルトは100です。元のオーディオ音量integer, optional
元のソースのオーディオ音量は
0 から 100 の範囲です。指定しない場合、デフォルトは 100 です。Returns
`job_id`とステータス情報を含むジョブオブジェクト。
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)メソッド
client.get_job(job_id)ジョブを取得
ジョブの現在のステータスを取得します。
Parameters
job_idstring
ハイライトリールジョブが作成されたときに返されたジョブID。
Returns
最新のステータスを持つジョブオブジェクト。
Response fields
job_idstring
ジョブID。
statusstring
現在のジョブのステータス(例:
submitted、queued、processing、processed、rendering、またはrendered)。outputslist[OutputResult]
ジョブが完全にレンダリングされ、最後のサブジョブから出力データが利用可能なときに返されます。
startfloat | null
利用可能な場合の出力セグメントの開始時刻。
endfloat | null
利用可能な場合の出力セグメントの終了時刻。
thumbnailstring | null
出力のサムネイルのパスまたはURL。
durationfloat | null
出力の継続時間(秒)。
fpsfloat | null
出力のフレームレート(fps)。
overlayslist[OverlayResult]
出力に含まれるサニタイズ済みのオーバーレイ。
idinteger | null
オーバーレイID。
fileIDstring | null
利用可能な場合の関連ファイルID。
originalFileNamestring | null
利用可能な場合にオーバーレイに関連する元の入力ファイル名。
from_integer | float | null
オーバーレイが始まるフレームのオフセット。
contentstring | null
サムネイルのパスやサウンド識別子など、オーバーレイのコンテンツ値。
durationInFramesinteger | null
オーバーレイの継続時間(フレーム数)。
typestring | null
オーバーレイの種類(例:
videoまたはsound)。srcstring | null
オーバーレイメディアのソースURL。
videoStartTimeinteger | float | null
該当する場合のソースビデオの開始時刻。
python
job_status = client.get_job(job.job_id)
print(job_status.status)ジェイソン
{
"job_id": "abc123",
"status": "レンダリング済み",
"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
}
]
}メソッド
client.wait_for_job(job_id)ジョブを待機
ハイライトリールジョブが完了状態になるまでAPIをポーリングします。
Parameters
job_idstring
待機するジョブID。
Returns
最終的に完了したジョブオブジェクト。
python
final_job = client.wait_for_job(job.job_id)
print(final_job.status)メソッド
client.render(job_id)出力をレンダリング
完了したハイライトリールジョブの出力ビデオのレンダリングを開始します。
Parameters
job_idstring
完了したハイライトリールジョブID。
output_indexinteger, optional
レンダリングする
OutputResult リストのインデックス。デフォルトは 0。一般に、最初の出力が最良の結果です。Returns
レンダーステータスを持つレンダー結果オブジェクト。
python
render_result = client.render(
job_id=job.job_id
)
print(render_result.status)メソッド
client.wait_for_render(job_id)レンダーを待機
レンダーが完了し、出力が準備できるまでポーリングします。
Parameters
job_idstring
レンダーに関連付けられたジョブID。
Returns
最終的なレンダー結果オブジェクト。
python
final_render = client.wait_for_render(job.job_id)
print(final_render.output_url)