APIリファレンス
Video Inference APIは、Roboflow Python SDKおよびREST APIを通じて利用できます。
ベースURL
APIは次のURLを使用します:
https://api.roboflow.com
APIメソッド
roboflowのPipパッケージを使用してビデオ推論にアクセスすることを強く推奨します。
生のVideo Inference APIは https://api.roboflow.com
には3つのメソッドがあります:
POST
/video_upload_signed_url/?api_key={{WORKSPACE_API_KEY}}
このエンドポイントは、ユーザーがビデオをアップロードできる署名付きURLを返します。 エンドポイントは、次のようなファイル名を含むJSON入力を受け付けます
{
"file_name": "my_video_file.mp4"
}
署名付きURLが返されます
{
"signed_url": "https://storage.googleapis.com/roboflow_video_inference_input/GNPwawe7dxWthlZZ24r72VRTV852/oct27_video_file.mp4?X-Goog-Algorithm=GOOG4-RSA-SHA256&X-Goog-Credential=roboflow-staging%40appspot.gserviceaccount.com%2F2023110......."
}
その後、お好みのアップロードプログラム(cURLなど)を使って、署名付きURLにビデオファイルをPUTできます。
curl -X PUT "my_signed_url" \
-H "Content-Type: application/octet-stream" \
--data-binary "@your_video.mp4"
POST
/videoinfer/?api_key={{WORKSPACE_API_KEY}}
このエンドポイントは、ビデオ推論ジョブを処理するためのjson入力を受け付けます。INPUT_URLは公開されている任意のURLを指定でき、最初に署名付きURLを作成してRoboflowにビデオをアップロードする必要はありません。
リクエストのボディの例は以下の通りです:
{
"input_url": "{{INPUT_URL}}",
"infer_fps": 5,
"models": [
{
"model_id": "rock-paper-scissors-presentation",
"model_version": "4",
"inference_type": "object-detection",
"inference_params": {"confidence": 0.4}
}
]
}
ご注意ください models[*].inference_params
はオプションです。
レスポンスは次のようなJSON文字列です
{
"job_id": "fec28362-f7d9-4cc0-a805-5e94495d063d",
"message": "このエンドポイントはvideojobを作成します"
}
複数のモデルを models
配列で指定できます。 infer_fps
フィールドは少なくとも 1
に設定する必要があり、その値はビデオのフレームレートを超えてはいけません。ほとんどのユースケースでは、ビデオのフレームレートは infer_fps
.
GET
/videoinfer/?api_key={{WORKSPACE_API_KEY}}&job_id={{JOB_ID}}
このエンドポイントはジョブの現在のステータスを返します。このエンドポイントはレート制限されているため、1分に1回以上ポーリングしないでください。
ジョブが成功した場合、返されるJSONの status
キーが0に設定され、 output_signed_url
キーにはビデオ推論結果のダウンロードリンクが含まれます。
status
が1に設定されている場合は、ジョブの処理が完了していないことを示します。それより大きい値はジョブの失敗を示します。
から保存されたJSONファイルをダウンロードしたら、 output_signed_url
場所でパースして推論情報を取得できます。jsonファイルのフォーマットは こちらで説明されています.
Last updated
Was this helpful?