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などのビデオカテゴリー。podcastball-sportsnon-ball-sportsbeauty-product-demoweddingtravelothersが可能です。最良の結果を得るには、コンテンツに最も適したカテゴリーを指定してください。コンテンツがどのカテゴリーにも該当しない場合は、othersを使用してください。
output_lengthinteger
秒単位の希望の出力長。出力長は、すべての入力ビデオの合計長以下である必要があります。
aspect_ratiostring
landscapeportrait、または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
現在のジョブのステータス(例:submittedqueuedprocessingprocessedrendering、または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)