<!-- Canonical URL: https://ask.atlascloud.ai/ja/migrate-sora-app-input-files-output-urls -->

# Soraアプリの移行時、入力ファイルと出力URLはどうなる？

> プロバイダーのファイル参照と動画リンクは移植可能な資産ではありません。元の入力バイトを独自の資産IDで保持し、移行先の形式で再アップロードし、両方のジョブを個別にマッピングして、期限切れ前に完成動画を永続ストレージへコピーします。

Soraアプリを移行すると、入力参照は通常、移行先向けに再アップロードまたは再形式化する必要があり、生成動画のURLは一時的なダウンロード場所として扱う必要があります。永続ファイル、チェックサム、アクセス方針、プロバイダー対応を管理する資産層を設けます。

リクエスト形式が互換でも、ファイルIDや出力リンクが移植可能になるわけではありません。それらは発行したプロバイダーのリソースです。

## 資産とプロバイダー参照を分離する

アプリケーション資産IDを安定キーにします。

```json
{
  "asset_id": "asset_01J...",
  "kind": "input_image",
  "sha256": "...",
  "storage_key": "inputs/asset_01J...png",
  "provider_refs": {
    "openai": "provider-specific-reference"
  }
}
```

移行元ファイルID、動画ジョブID、署名付きURLはレコードの属性であり、製品の永続契約ではありません。

## 入力参照を再作成する

OpenAIの動画エンドポイントはプロンプトと任意の`input_reference`画像を受け取ります。移行先はmultipart、事前アップロード済みID、公開URL、base64データを要求する場合があります。

独自ストレージから原本を読み、種類と寸法を検証し、移行先固有の参照を作ります。OpenAIの識別子を別ベンダーへ送れると仮定しません。

外部参照しか保存していない場合は、まだダウンロードできるか確認します。期限切れまたは削除済みなら再アップロードが必要で、ID変換では失われたバイトを復元できません。

## ジョブオブジェクトを明示的に対応付ける

Soraの動画生成は非同期です。ジョブにはID、状態、進捗、モデル、長さ、サイズ、時刻、有効期限が含まれます。移行先ジョブを移行元と並べて保存します。

| アプリケーション項目 | 移行元の対応 | 移行先の対応 |
|---|---|---|
| 内部ジョブID | データベース | 同じ値 |
| プロバイダージョブID | OpenAI動画ID | 移行先ジョブID |
| 状態 | 移行元状態 | 正規化した移行先状態 |
| 入力資産 | 移行元参照 | 再アップロードした参照 |
| 出力資産 | 取得済みバイト | 移行先から取得したバイト |

段階的移行中に移行元の対応を上書きしません。両方を残すとロールバックと調査が可能です。

## URLだけでなく内容を取得する

OpenAI APIは完了動画のコンテンツエンドポイントを提供し、資産に期限がある場合は`expires_at`を返します。応答中のURLは期限切れ、認証必須、または直接公開に不適切な場合があります。

完了時にワーカーは次を行います。

1. 認証済みエンドポイントから動画を取得する。
2. 独自オブジェクトストレージへストリームする。
3. 種類、サイズ、チェックサムを検証する。
4. 来歴、モデル、プロンプト方針、生成パラメーターを記録する。
5. 独自の認可済みURLから提供する。

サムネイル、プレビュー、その他の必要なバリアントにも同じ処理を適用します。

## 保持とプライバシーを計画する

ファイルの複製はデータガバナンス範囲を変えます。アップロード、中間物、最終動画、サムネイル、失敗ジョブごとに保持期間を定義します。暗号化し、サービス権限を制限し、署名URLや生のプロンプトを記録しません。

削除依頼ではアプリのコピーを消し、利用可能ならプロバイダー削除APIも呼びます。再試行を冪等にするため、機密でない削除記録を残します。

## 切り替え前にメディア動作をテストする

対応形式、向き、解像度、長さ、最大サイズのケースを作ります。必要ならアルファとカラープロファイルも確認します。出力では期限切れリンク、部分取得、種類不一致、Range、キャンセル、ワーカー障害後の再試行をテストします。

コンテンツ方針とモデレーションも比較します。両方が形式を受け付けても結果が同じとは限りません。

## まとめ

Soraの参照とURLは移植可能な資産ではありません。原本を保存し、新しい参照を作り、完成動画を速やかに取得し、独自の資産IDを公開します。これにより期限切れリンクによるデータ損失を防ぎます。

## FAQ

### OpenAIのinput_referenceを別の動画プロバイダーへ送れますか？

通常はできません。独自ストレージから元ファイルを読み、移行先が要求するmultipartアップロード、ファイルID、URL、またはbase64参照を作成します。

### Soraの出力URLは永続的ですか？

一時的または認証が必要な配信場所として扱います。ジョブには有効期限が含まれる場合があるため、早めに独自ストレージへダウンロードします。

### プロバイダーのファイルIDしか保存していない場合は？

リソースが利用可能なうちに元のバイトを取得します。期限切れまたは削除済みなら、ユーザーに再アップロードを依頼する必要があります。

### アプリケーションが公開すべきIDは？

独自の安定した資産IDとジョブIDを公開します。移行元と移行先のIDは取得、サポート、ロールバック用の対応として保持します。

### 切り替え後に移行元の対応を上書きしますか？

上書きしません。段階的移行中は両方を残し、動作比較と安全なロールバックを可能にします。

### 動画資産では何をテストしますか？

対応する形式、サイズ、長さ、向き、バリアントに加え、期限切れ、部分ダウンロード、キャンセル、保存の再試行をテストします。
