5秒の動画はできていました。しかし、埋め込みUIは完了へ変わらず、受取を照合する欄も更新されず、終了ボタンは無効のままでした。
ColabのL4でWan2.2 TI2V-5Bを動かした非公開試作の記録です。生成成功、ファイルの受取、ランタイムの終了を別の証拠で確かめたことで、画面が止まったあとも、どこまで終わったかを整理できました。
画面が更新されなくても、同じ生成をやり直さない
この試行で生成したのは、紙の舟が水面を進む無音動画1本です。Python 3.12.13とL4の環境で固定依存を導入し、固定したモデルファイルのhashを確認してから生成しました。
workerは正常終了していました。そこで生成を再投入せず、既存jobの状態と出力を読む補助経路からMP4と設定JSONを回収しました。UIの表示更新が止まった原因は、ここでは確定していません。
「生成ボタンを押せた」「処理が終わった」「利用者がファイルを受け取れた」は別の確認です。workerの正常終了だけで受取まで完了にすると、受取に失敗した状態を見落とします。
hash一致と、使える動画かの確認を分ける
受け取ったMP4は571,335 bytes、設定JSONは2,301 bytesでした。両方のサイズとSHA-256を、生成側の受取記録と照合しました。
hashが一致すれば、同じバイトを受け取れたことを確認できます。動画として求めた条件を満たすかは、別に調べます。保存済みの検証記録では次が一致しました。
| 項目 | 確認結果 |
|---|---|
| 映像形式 | H.264 / yuv420p |
| 大きさ | 832×480 |
| フレームレート・枚数 | 24fps・120frames |
| 長さ・音声 | 5.000秒・音声ストリーム0 |
| デコード | 全フレームをエラーなくデコード |
生成グラフは121framesを扱い、受取仕様に合わせて先頭120framesを出力しています。設定上の枚数と、最終ファイルの枚数も分けて記録しました。
今回の記事用の照合では、現在のMP4と設定JSONのhashが保存済み受取記録と一致することを確認しています。生成と全フレームデコードを新しく実行したわけではありません。形式の確認だけで、動きや見栄えの品質全体を保証したことにもしません。
エンジン停止と、GPUランタイムの解放も別
受取後には、所有する生成エンジンのプロセスが残っていないこと、待受ポートへ接続できないこと、workerが正常終了したことを確認した記録があります。
それでも、Colabのランタイムが解放された証拠には足りません。受取照合後も自動切断の完了を画面で確認できなかったため、通常の「接続解除して削除」で終了しました。その後、リソース欄の0セッションと、空のセッション管理一覧を確認しています。
この試行では割当前の時計から終了確認まで約19分でした。この1回の所要時間を、別モデルや別環境での完成時間には一般化しません。
完了という1語を、証拠のある状態へ分ける
今回確認できた状態を並べると、次のようになります。
| 状態 | 根拠 |
|---|---|
| 生成処理が終わった | worker正常終了 |
| 出力が仕様を満たした | 映像情報と保存済みデコード検証 |
| 同じ出力を受け取った | MP4・設定JSONのサイズとhash一致 |
| 生成エンジンが止まった | 所有プロセスと待受の終了確認 |
| ランタイムが解放された | 通常削除後のセッション0確認 |
UIの完了表示、自動終了、ブラウザ内の連続再生は未確認・未解決の範囲として残しています。実動画を取得できたことと、GUIの操作全体が完成したことを一緒に報告しないためです。
本稿は実装と保存済み検証記録に基づく整理です。開発・検証および本稿の整理・執筆にはAIを使用しています。