動画 GIF 変換
短い動画セグメントをアニメーション GIF に変換します。タイムラインで範囲を選び、品質プリセットを選択して、投稿・メッセージ・ドキュメント・プレビュー向けの GIF をダウンロードできます。
動画を GIF に変換
ログインすると利用できます。新規登録で 100 クレジット無料。
このツールが使う FFmpeg フラグ
各パラメータが実際に何をしているかの早見表。
- -ss <start>
- 入力シーク。-i の前に置くと、ffmpeg は指定タイムスタンプ直前のキーフレームに高速ジャンプ — -i の後に置くより桁違いに速い。
- -t <duration>
- 指定秒数で処理停止。-ss と組み合わせて、マークしたクリップだけを抽出。
- fps=
- フレームレートフィルタ。10-15 fps で大抵のクリップは十分 — GIF サイズはフレーム数にほぼ比例。
- scale=W:-1:flags=lanczos
- 幅 W ピクセルにリサイズ、高さは自動。Lanczos は縮小時の画質が最も高いスケーラ。
- split[s0][s1]
- ストリームを 2 つの同一コピーに分割し、palettegen と paletteuse に同じフレームを供給。
- palettegen=max_colors=N
- 全フレームを分析し、このクリップに最適な N 色パレットを生成。GIF 画質を決める最大のレバー。
- paletteuse=dither=bayer
- Bayer ディザリングでパレットを適用 — 規則的な小さなパターンがバンディングを隠し、floyd_steinberg のようにファイルが肥大化しない。
使い方
- 01
動画をアップロード
ファイルをドロップするか URL を貼り付け。動画がインラインで再生され、必要な部分までスクラブできます。
- 02
クリップをマーク
タイムライン上のハイライト枠をドラッグして範囲を選択。下で長さを設定 — 最大 60 秒。
- 03
プリセット選択
標準 (480 px / 10 fps) で大抵 OK。アクション系はスムーズ、チャット用はコンパクト。
- 04
作成してダウンロード
選んだクリップに合わせて GIF の色を最適化し、きれいで共有しやすい結果にします。
よくある質問
なぜ GIF がきれいに見える?
選択したクリップに合わせて色を最適化してから最終 GIF を作成します。これにより、特にグラデーションや動きのある映像で色の濁りやバンディングを抑えられます。
60 秒制限の理由は?
GIF は現代の動画形式のような圧縮がなく、30 秒 480p の GIF が簡単に 20+ MB に。60 秒を超えると Slack / Twitter / GitHub などほとんどのチャンネルで貼れなくなるので上限を設定。長いアニメーションは Convert ツールで WebM を。
ファイルサイズを小さくするには?
fps を下げる(トーキングヘッドなら 8 fps で十分)、幅を下げる(チャット用 320 px)、パレットを 128 色に。コンパクトプリセットは 3 つすべてを下げています。
3 つのプリセットの違い
スムーズ = 15 fps × 720 px × 256 色(スポーツクリップ、アニメ)。標準 = 10 fps × 480 px × 256 色(デフォルト、Twitter とほとんどのチャットに最適)。コンパクト = 8 fps × 320 px × 128 色(チャット反応、IM 送信用)。
変換前にトリムできる?
はい — 上のクリップ範囲機能がまさにそれ。動画がインラインで再生され、開始/終了点をマークすると、そのセグメントだけが変換されます。
なぜ GIF で WebM や MP4 ではない?
GIF は他の形式が使えない場所で動きます — Slack のサムネイル、GitHub README、メール、古いチャットアプリ。再生環境を制御できるなら、WebM/MP4 は 5-10 倍小さくてキレイ。Convert ツールでどうぞ。
無料?
登録で 100 クレジット無料。GIF 1 本は長さと解像度によって 2-5 クレジット。サブスクなし、必要に応じてチャージ。
関連ツール
curl -X POST https://api.ffhub.io/v1/tasks \
-H 'Authorization: Bearer YOUR_API_KEY' \
-H 'Content-Type: application/json' \
-d {
"command": "-ss 5 -i https://you.com/in.mp4 -t 4 -vf fps=10,scale=480:-1:flags=lanczos,split[s0][s1];[s0]palettegen[p];[s1][p]paletteuse=dither=bayer -loop 0 output.gif"
}