とくに厄介な失敗があります。参照動画は自分のパソコンでは普通に再生できるのに、生成すると毎回失敗し、エラーは InvalidParameter: Bad Request の一文だけで、どのパラメータが悪いのかも書かれていません。プロンプトや長さを変えても、何度リトライしても同じです。
原因の1つを突き止めました。その動画は、カットしたあと書き出し直していないものでした。
原因:カットした部分がファイルに残っている
ツールによっては、動画をカットしても映像を実際には削除せず、「X秒目から再生する」という指示(エディットリストと呼ばれます)をファイルに書き込むだけのものがあります。カットされたデータは、ファイルの先頭にそのまま残ります。
- プレーヤーはこの指示に従って先頭を飛ばすので、見た目には何の問題もありません。
- モデル側のデコーダーはこの指示を読まず、先頭にある映像に戻せないデータを読んで失敗します。
上流のエラーもパラメータ名を示さないので、どちら側からも原因が見えず、リトライを繰り返すしかなくなります。
自分で確認する方法
ffprobe(ffmpeg に含まれています)で2つのコマンドを実行します。
# 1. 最初の映像パケットのタイムスタンプ:マイナスなら該当
ffprobe -v error -select_streams v:0 -show_packets -read_intervals "%+#1" \
-of csv=p=0 -show_entries packet=pts_time your-video.mp4
# 2. フレーム数とパケット数:パケットの方が多ければ、映像に戻せないデータがある
ffprobe -v error -select_streams v:0 -count_frames -count_packets \
-show_entries stream=nb_read_frames,nb_read_packets -of csv=p=0 your-video.mp4
手元で再現しました。普通の動画を用意し、再エンコードせずに先頭3.3秒をカットしています。
| 最初のパケットのタイムスタンプ | フレーム数 / パケット数 | ファイルに記録された開始時刻 | |
|---|---|---|---|
| 普通の動画 | 0 | 1920 / 1920 | 0 |
| 簡易カットした動画 | −3.3秒 | 482 / 680 | 0 |
最後の列に注目してください。ファイル自身の開始時刻は0のままなので、通常のメタデータを見ても問題は見つかりません。最初のパケットを確認する必要があります。
自分で直す方法
編集ソフトからもう一度書き出す(上書き保存ではなく、新しいファイルとして書き出す)か、ffmpeg で再エンコードします。
ffmpeg -i your-video.mp4 -c:v libx264 -crf 14 -preset medium -pix_fmt yuv420p \
-c:a copy -movflags +faststart fixed-video.mp4
再エンコードでは、デコーダーが「X秒目から再生する」という指示に従うので、カット後の部分だけがそのまま出てきます。再現では、修正後は最初のパケットが0、482フレーム / 482パケット、長さ8.03秒となり、カット後にあるべき状態と一致しました。
⚠️ -c copy -avoid_negative_ts make_zero は使わないでください。再エンコードしない修正方法としてよく紹介されていて、確かにタイムスタンプは正常に見えるようになりますが、カットした部分を先頭に戻してしまいます。再現では、フレーム数が482から680に戻り、長さも8秒から11.3秒になりました。タイムラインはきれいになっても、中身はもうカットしたクリップではありません。
XinYu では:アップロード時に自動で修正
2026年9月19日から、アップロードされた動画は最初のパケットのタイムスタンプを確認し、マイナスなら自動で高画質(crf 14)に再エンコードしています。問題が起きた元の動画では、修正前後の類似度は 45.6 dB で、見た目ではほぼ区別できません。問題のないファイルが再エンコードされることはありません。
修正後、問題のあった同じ動画を同じ設定で送り直したところ、1回で通りました。
それより前にアップロードした動画の場合、古いファイルは自動では修正されません。ノードでリトライしても古いファイルが使われるため、失敗が続きます。**同じファイルをもう一度アップロードするだけで大丈夫です。**事前に書き出し直す必要はありません。
参照が拒否される、ほかのよくある原因
タイムスタンプに問題がなければ、次の点も確認してください。
- 合計の長さが上限を超えている:Seedance 2.5 の参照動画は合計30秒までです。超えている場合は送信前に表示されます。
- 動画編集の元動画が短すぎる・長すぎる:動画編集の元動画は4〜30秒である必要があります。
- 参照画像のアスペクト比:Seedance の参照画像はアスペクト比 0.40〜2.50 である必要があります。詳しくはこちらの記事をご覧ください。
