ビデオストックAPI

外部RSSにまだ追加されていないエピソードのビデオを先にアップロードし、変換処理を進められます。RSSにエピソードが現れると、GUIDまたはタイトル・公開予定日時を使って自動で紐づけます。

登録手順

  1. ファイルアップロードAPIでビデオをアップロードします。大容量ファイルはマルチパートAPIを利用できます。
  2. 完了後に返されたpathcreateVideoStockItemへ渡します。
  3. videoStockItemまたはvideoStockItemsで状態を確認します。
  4. 必要に応じてRSS再取得APIを呼び出します。
mutation AddVideoStock(
  $podcastId: ID!
  $videoPath: String!
  $expectedTitle: String!
) {
  createVideoStockItem(
    podcastId: $podcastId
    videoPath: $videoPath
    expectedTitle: $expectedTitle
    expectedGuid: "rss-episode-guid"
    expectedPublishedAt: "2026-09-10T12:00:00+09:00"
  ) {
    id
    status
    failureReason
    matchedEpisode { id title }
  }
}

expectedGuidexpectedPublishedAtは省略できます。GUIDが分かる場合は指定を推奨します。日時はISO 8601形式で指定してください。

サムネイルを指定する場合は、type: IMAGEでアップロードしたJPEG、PNG、GIF、WebP(10MB以下)のpathvideoThumbnailPathへ渡します。

状態の取得

query VideoStock($podcastId: ID!) {
  videoStockItems(podcastId: $podcastId, limit: 50) {
    id
    expectedTitle
    expectedGuid
    expectedPublishedAt
    status
    failureReason
    matchedEpisode { id title }
    updatedAt
  }
}

状態はUPLOADINGPROCESSINGREADYFAILEDMATCHEDCANCELLEDです。

制限と再試行

  • 対象: 外部配信番組の所有者
  • 登録回数: 利用者ごとに1時間30件
  • 同時処理: 利用者ごとに3件
  • ビデオ: MP4、MOV、WebM(最大100GB)
  • 同じアップロードパスを再送した場合: 48時間は同じ登録結果を返します

FAILEDの場合はfailureReasonを確認してください。アップロード完了前のマルチパートpathや、別利用者が発行したpathは登録できません。