GEMINI LABEN
GA — Gemini Omni Flash が8月27日に一般提供へ入りました。モデル ID は gemini-omni-1.1-flash で、会話形式の動画生成と編集を担いますEXTEND — 既存クリップの末尾に続きを生成してつなげられます。extend タスクでもプロンプトの直接指示でも指定でき、短い尺の制約を継ぎ足しで越えていく設計ですRESOLUTION — video_config に resolution が加わり 360p・720p・1080p・4k を選べます。1080p と 4K はアップスケール出力のため、素材によって仕上がりに差が出ますDEPRECATION — gemini-omni-flash-preview は9月30日に廃止されます。プレビュー版のエンドポイントを本番で参照しているコードは差し替えが必要ですTRANSCRIBE — Gemini 3.5 Transcribe と Transcribe Live が8月26日に GA となりました。85言語以上の言語検出、話者分離、単語単位のタイムスタンプに対応しますSHUTDOWN — gemini-robotics-er-1.6-preview が8月31日に停止します。残り2日で、移行先は7月30日から公開プレビューの ER 2 系ですGA — Gemini Omni Flash が8月27日に一般提供へ入りました。モデル ID は gemini-omni-1.1-flash で、会話形式の動画生成と編集を担いますEXTEND — 既存クリップの末尾に続きを生成してつなげられます。extend タスクでもプロンプトの直接指示でも指定でき、短い尺の制約を継ぎ足しで越えていく設計ですRESOLUTION — video_config に resolution が加わり 360p・720p・1080p・4k を選べます。1080p と 4K はアップスケール出力のため、素材によって仕上がりに差が出ますDEPRECATION — gemini-omni-flash-preview は9月30日に廃止されます。プレビュー版のエンドポイントを本番で参照しているコードは差し替えが必要ですTRANSCRIBE — Gemini 3.5 Transcribe と Transcribe Live が8月26日に GA となりました。85言語以上の言語検出、話者分離、単語単位のタイムスタンプに対応しますSHUTDOWN — gemini-robotics-er-1.6-preview が8月31日に停止します。残り2日で、移行先は7月30日から公開プレビューの ER 2 系です
記事一覧/API / SDK
API / SDK/2026-08-29中級

Omni Flash の 4K を API 側で受け取るか、配布直前に自分で上げるか

Gemini Omni Flash の 1080p と 4K はアップスケール出力です。解像度を引き上げる地点を配布先から逆算して決める手順と、受け取った動画の細部を自分で確かめる方法をまとめました。

gemini110omni-flash2video6interactions-api5resolution

プレミアム記事

新しい iPhone が出るたびに、壁紙アプリの解像度の分岐を書き足しています。画面の pt が増えたぶんだけ配布する画像の実ピクセルが変わるので、素材の側をどれだけ立派に作っても、最後は受け取り側のバケットに合わせて切り直すことになります。Android 側では密度分割で低密度のリソースが落ちてしまい、drawable-nodpi/ に置き直して解決したこともありました。

配布物の解像度を決めているのは素材ではなく、受け取る側の条件でした。個人開発でこの順序を取り違えると、作り直しがそのまま時間の損失になります。

gemini-omni-1.1-flash が一般提供に入り、動画の出力解像度を 360p から 4k まで選べるようになりました。ただしドキュメントには、1080p と 4K がアップスケールによる出力だと明記されています。ここで「とりあえず 4K にしておく」と決めてしまうと、壁紙で踏んだのと同じ順序の取り違えが起きます。

resolution は response_format の中にあります

最初につまずきやすいのが、パラメータの置き場所です。解像度は generation_config.video_config ではなく、response_format の中に入れます。video_config に入るのは tasktext_to_video / image_to_video / reference_to_video / edit / extend)のほうです。

置き場所を間違えても、リクエストは通ります。そして既定の 720p が返ってきます。エラーで気づける類の間違いではないため、最初の 1 本は必ず ffprobe で寸法を確認してください。

import base64
from google import genai
 
client = genai.Client()
 
interaction = client.interactions.create(
    model="gemini-omni-1.1-flash",
    input="A drone shot of a mountain landscape at sunrise.",
    response_format={
        "type": "video",
        "aspect_ratio": "9:16",   # 既定は 16:9。縦動画なら明示が要ります
        "resolution": "1080p",    # ここ。video_config ではありません
    },
)
 
with open("hires.mp4", "wb") as f:
    f.write(base64.b64decode(interaction.output_video.data))

選べる値と、その意味は次のとおりです。

出力生成の実体
360p360pネイティブ
720p720p(既定)ネイティブ
1080p1080pアップスケール
4k4Kアップスケール

つまり、この API がネイティブに作れる上限は 720p です。1080p と 4K は、その 720p を引き伸ばした結果に名前を付けたものだと読めます。詳細は Gemini Omni Flash の公式ドキュメント に一覧があります。

4K を選んで増えるもの、増えないもの

アップスケールという言葉は知っていても、実際に何がどう変わるのかは手を動かさないと掴めません。API を叩く前に、手元の合成素材で性質だけを確かめました。

用意したのは 3 本です。いずれも 2 秒・24fps・CRF 18 で、名目の寸法はすべて 3840x2160 に揃えてあります。

  1. 細かい縞とエッジを持つ絵を、はじめから 3840x2160 で作ったもの(ネイティブ 4K 相当)
  2. 同じ絵を 1280x720 で作り、Lanczos で 3840x2160 に引き伸ばしたもの(アップスケール 4K 相当)
  3. なだらかなグラデーションだけの絵を、はじめから 3840x2160 で作ったもの(細部を持たないネイティブ 4K)

ffprobe で寸法を読むと、3 本とも 3840,2160 です。ファイルのメタデータだけでは区別が付きません。一方で、同じエンコード設定なのにビットレートは大きく割れました。

素材名目寸法ビットレートファイルサイズ(2秒)
ネイティブ 4K(細密)3840x216017.19 Mbps4,299,566 B
アップスケール 4K3840x21607.25 Mbps1,812,869 B
ネイティブ 4K(平坦)3840x21600.59 Mbps147,756 B

同じ寸法・同じ CRF で、アップスケール由来はネイティブの 42% ほどのビットレートに収まりました。エンコーダは「そこに無い細部」には符号を割かないので、当然といえば当然の結果です。ただ、この当然が実務では効いてきます。4K を指定して増えるのは寸法であって、情報量ではありません。

ここまでお読みいただきありがとうございます。

この記事の続きを読む

この先には、実装コードやベンチマーク結果など、実務でお役に立てる内容をご用意しています。このサイトは広告を掲載しておらず、サーバーや開発にかかる費用はメンバーの皆様のご支援で成り立っています。もしお役に立てていましたら、ご支援いただけますと大変ありがたいです。

この記事で得られること
配布先の受け入れ条件を先に決めてから解像度を選べるようになり、4K を指定したのに寸法だけが増えていた、という後戻りを避けられます
受け取った mp4 の名目解像度に見合う細部が実際に入っているかを、ffmpeg と 40 行ほどのスクリプトで自分で判定できるようになります
同じ寸法・同じ CRF でもアップスケール由来はビットレートが半分以下になるという性質を使い、画質ではなく受け取り量で解像度を決められるようになります
Stripe による安全な決済 · いつでもキャンセル可能

この記事を購入する

この先の内容をすべてお読みいただけます。一度のご購入で、いつでも何度でもアクセスできます。このサイトは広告を掲載しておらず、皆さまのご支援がサーバー費用などの運営を支えています。

または
メンバーシップなら全記事が読み放題 →
シェア

お読みいただきありがとうございます

Gemini Lab は広告なしで運営しており、サーバー費用などの運営コストはメンバーシップのご支援で賄っています。実装コード・ベンチマーク・本番設計パターンなど、実務でお役立ていただける記事を毎日更新しています。もし読んでよかったと感じていただけましたら、ぜひご覧ください。

  • コピー&ペーストで使える実装コード付き
  • 毎日新しい上級ガイドを追加
  • ¥580/月 または ¥2,480 の永久アクセス
メンバーシップを見る →

関連記事

API / SDK2026-07-07
Omni Flash で短尺動画から SNS 告知メタデータを1パス抽出する
公開プレビューの Gemini Omni Flash に短尺動画を1回渡すだけで、告知文・チャプター・見せ場タイムスタンプを構造化 JSON で受け取る実装をまとめます。フレーム抽出を挟む多コール構成との違い、fps と media_resolution の効かせどころ、1本あたりのコスト試算まで、個人開発の告知作業を回す視点で扱います。
API / SDK2026-08-23
アプリに載せる AI 機能を、実行時呼び出しから配布前の一括処理に寄せました
アプリに Gemini を組み込むとき、実行時に呼ぶか配布前に呼び終えるかで呼び出し回数の増え方が変わります。素材数に比例させる設計へ切り替えた判断基準と、冪等な一括処理の実装をまとめました。
API / SDK2026-08-22
メディエーショングループが20を超えたとき、設定の抜けをどう見つけるか
広告メディエーションのグループが増えると、設定の抜けや型のずれが静かに溜まります。設定を1枚の表に正規化して機械でずれを確定させ、判断が必要なセルだけを Gemini に渡す分担にした手順をまとめました。
📚RECOMMENDED BOOKS
大規模言語モデル入門
山田育矢
LLM開発
生成AIプロンプトエンジニアリング入門
我妻幸長
プロンプト
Claude CodeによるAI駆動開発入門
平川知秀
AI駆動開発
※ アフィリエイトリンクを含みます
もっと見る →