REST API リファレンス
GeMM の REST API リファレンスです。すべての操作は Backend API を通じて行います。
認証
Backend API は JWT(JSON Web Token)認証を使用します。
ログイン(トークン取得)
POST /api/auth/login
curl -X POST http://localhost:8000/api/auth/login \
-H "Content-Type: application/json" \
-d '{"username": "admin", "password": "your-password"}'
レスポンス:
{
"access": "eyJ...",
"refresh": "eyJ..."
}
トークンの更新
POST /api/auth/refresh
トークンの検証
POST /api/auth/verify
現在のユーザー情報
GET /api/auth/me
以降のリクエストでは Authorization ヘッダーにトークンを付与してください:
curl -H "Authorization: Bearer eyJ..." http://localhost:8000/api/...
メディア管理
メディア一覧の取得
GET /api/media_db
解析結果付きのメディア一覧:
GET /api/media_with_results
メディア詳細の取得
GET /api/media/{media_id}
ファイルのアップロード
POST /api/upload
curl -X POST http://localhost:8000/api/upload \
-H "Authorization: Bearer eyJ..." \
-F "file=@/path/to/video.mp4"
ファイルのダウンロード
GET /api/download?path={file_path}
フォルダのダウンロード(ZIP)
GET /api/download_folder?path={folder_path}
フォルダの作成
POST /api/create_folder
ファイル/フォルダの削除
POST /api/delete
一括削除
POST /api/bulk_delete_files
リネーム
POST /api/rename
コピー
POST /api/copy
移動
POST /api/move
フォルダツリーの取得
GET /api/folder-tree
ファイルの再スキャン
POST /api/rescan
解析
解析の開始(非同期)
POST /api/start_analysis_async
curl -X POST http://localhost:8000/api/start_analysis_async \
-H "Authorization: Bearer eyJ..." \
-H "Content-Type: application/json" \
-d '{
"file_paths": ["/app/media/video.mp4"],
"analysis_options": {
"defaultPrompt": "何が写っていますか?",
"common_cfg": {
"temperature": 0.0,
"max_tokens": 512
}
}
}'
解析ステータスの確認
GET /api/analysis_status
現在実行中の解析
GET /api/current_analysis
解析結果の取得
GET /api/analysis_result?path={file_path}
解析ロック管理
POST /api/analysis-lock/acquire
POST /api/analysis-lock/release
GET /api/analysis-lock/status
検索
セマンティック検索
GET /api/search?q={query}
curl "http://localhost:8000/api/search?q=赤いヘルメットの作業員" \
-H "Authorization: Bearer eyJ..."
動画フレーム検索
POST /api/video-frames/search
curl -X POST http://localhost:8000/api/video-frames/search \
-H "Authorization: Bearer eyJ..." \
-H "Content-Type: application/json" \
-d '{"query": "安全装備を着用していない人物"}'
物体検出による検索(Grounding DINO)
POST /api/video-frames/search-objects
セマンティックビュー
セマンティックビューデータの取得
GET /api/semantic-view
UMAPの計算
POST /api/compute-umap
エンベディング生成状態の確認
GET /api/embedding-status
クエリ位置の取得
POST /api/query-position
CLIPエンベディングの生成
POST /api/clip/generate-embeddings
システム
システム準備状態の確認
GET /api/system/ready
ライセンス情報の取得
GET /api/license
ハードウェアライセンスの確認
GET /api/hardware_license
エラーレスポンス
| HTTPステータス | 説明 |
|---|---|
| 400 | リクエストが不正 |
| 401 | 認証エラー |
| 403 | 権限不足 |
| 404 | リソースが見つからない |
| 500 | サーバーエラー |