確認中...

設定

外部システムが `api/v1` 経由で本サービスに接続するための情報を確認できます

接続情報
外部システムが `api/v1` 経由で接続するためのURLと認証情報です。

APIキーはDBにハッシュ化して保存されます。フルキーを再表示することはできません。

外部連携の流れ
外部システムは次の流れで `api/v1` を利用できます。
1. `POST /jobs` または `POST /audio-jobs` でジョブを作成し、レスポンスの `id` を保存します。
2. `GET /jobs/{id}` または `GET /audio-jobs/{id}` で状態を確認し、`completed` になるまでポーリングします。
3. 完了後に `GET /jobs/{id}/download` または `GET /audio-jobs/{id}/download` で成果物を取得します。
X-API-Key 必須callback_url 対応
認証方法
全ての外部APIエンドポイントで X-API-Key ヘッダーが必要です。
X-API-Key: <YOUR_API_KEY>

APIキーは設定画面から生成し、利用時は X-API-Key ヘッダーで送信します。

エンドポイント一覧
ベースURL以降のパスです。全リクエストに X-API-Key ヘッダーが必要です。
POST
/jobs動画生成ジョブ作成

CSVファイルをBase64またはサーバーパスで指定し、動画生成ジョブを作成します。ジョブIDを即時返却し、バックグラウンドで処理を開始します。

GET
/jobsジョブ一覧取得

全ジョブの一覧を返します。?status=processing などでフィルタリングできます。

GET
/jobs/{id}ジョブ状態取得

指定ジョブの現在の状態を返します。status フィールドは pending / processing / completed / error のいずれかです。

GET
/jobs/{id}/download動画ダウンロード

完了したジョブのMP4動画をダウンロードします。外部システムからそのままファイル取得に利用できます。

POST
/audio-jobs音声ジョブ作成

CSVからGemini TTSを使って音声解説(WAV)を生成するジョブを作成します。

GET
/audio-jobs/{id}音声ジョブ状態取得

指定した音声ジョブの現在の状態を返します。completed になると generatedScript フィールドに解説原稿が含まれます。

GET
/audio-jobs/{id}/download音声ダウンロード

完了した音声ジョブのWAVファイルをダウンロードします。外部システムからそのままファイル取得に利用できます。

cURL サンプル
コピーしてすぐに試せるリクエスト例です。

動画生成ジョブ作成

curl -X POST "http://localhost:8000/api/v1/jobs" \
  -H "X-API-Key: <YOUR_API_KEY>" \
  -H "Content-Type: application/json" \
  -d '{
    "notebook_title": "月次レポート",
    "instructions": "CSVデータの主要な傾向を解説してください",
    "style": "whiteboard",
    "format": "explainer",
    "language": "ja",
    "csv_files": [
      {
        "filename": "report.csv",
        "content_base64": "<BASE64_ENCODED_CSV>"
      }
    ]
  }'

ジョブ状態確認

curl "http://localhost:8000/api/v1/jobs/{job_id}" \
  -H "X-API-Key: <YOUR_API_KEY>"

動画ダウンロード

curl -L "http://localhost:8000/api/v1/jobs/{job_id}/download" \
  -H "X-API-Key: <YOUR_API_KEY>" \
  --output report.mp4

音声ジョブ作成

curl -X POST "http://localhost:8000/api/v1/audio-jobs" \
  -H "X-API-Key: <YOUR_API_KEY>" \
  -H "Content-Type: application/json" \
  -d '{
    "title": "CSV音声解説",
    "instructions": "データの傾向を音声で解説してください",
    "voice_name": "Kore",
    "language": "ja",
    "csv_files": [
      {
        "filename": "data.csv",
        "content_base64": "<BASE64_ENCODED_CSV>"
      }
    ]
  }'