🈳

Azureについに動画生成AIのSoraが来たのでおもむろに試してみる🚀

に公開

これまでOpenAIの先進的な動画生成AIとして注目を集めてきたSoraが、Microsoft Build 2025でついにAzureの堅牢なプラットフォーム上で利用可能になるとアナウンスがありました!

公式の紹介動画はこちらです。
https://youtu.be/ewbtbhBJ1UU?si=ttGQiZNu9RTMTPZS

はじめに

現在AIは、もはや単なるテキスト処理だけを行うものではなくなってきています。マルチモーダルモデルによる深い理解が可能になり、言葉だけでなく、視覚、音声を理解できるようになりました。(嗅覚はまだです)

製品説明からマーケティングキャンペーンまでの一貫した流れを想像してみてください。19世紀の写真技術の誕生に匹敵するように、マルチモーダルAIの台頭は、絵画に取って代わることなく芸術的表現の境界を拡張した写真のように、新しい創造的媒体を導入しています。

Microsoftは、GPT-image-1のリリースから1ヶ月余りで、今度はSoraをAzure AI Foundryでpublic previewとして提供開始することを発表しました。これは単に新しいサービスが追加されたというだけでなく、APIから利用できるようになったということで、AIを活用したクリエイティブなワークフローや、エンタープライズ領域における動画活用の可能性を大きく押し広げるものです。

ちなみにGPT-image-1についても記事を書いています↓
https://zenn.dev/chips0711/articles/28eee04b8f2cfd

この記事では、AzureにSoraが搭載されたことの概要、利用開始方法、そして実際にコードを使って動画を生成してみた体験と、そこから見えてくる活用例について、解説していければと思います!

読者の皆さんが、Soraを自身のプロジェクトや業務にどう活かせるか、具体的なイメージを掴むための一助となれば幸いです。

Azure AI FoundryにおけるSoraの登場とその意味

実は私、先日開催されたMicrosoft Build 2025に現地参加しておりまして、まさにその熱気の中でこの発表に触れる機会がありました。Keynoteの初日、サティア・ナデラCEOが登壇され、AzureのAI戦略について語る中で、Sora APIの提供開始についても言及されたのです。ただ、本当に一瞬でした。多くの新発表が目白押しだったこともあり、Sora APIに関する部分は、まるで重要な伏線のように、さらりと触れられただけだったのが印象的です。

Microsoft Build 2025でのSora発表
写真1: Microsoft Build 2025でのSora API関連発表(現地で筆者が撮影)

このスライド自体も、本当に数秒表示されただけだったと記憶しています。しかし、その短い言及の中に、Azure上でSoraという最先端の動画生成AIがAPIとして利用可能になるという、大きな期待感が込められていました。まさに、クリエイターや開発者が新しい創造性の次元を切り開くための、強力なツールが提供される瞬間を垣間見た思いでした。

ちなみに・・・Microsoft Build 2025の現地レポートは以下にあります↓
https://zenn.dev/chips0711/articles/a923c7b9fc9869

Azure AI Foundryは、AIモデルの発見、カスタマイズ、ファインチューニング、デプロイ、そして運用管理までを一気通貫で支援する、エンタープライズグレードのプラットフォームです。ここにSoraが加わることで、開発者はテキストプロンプトから、驚くほどリアルで想像力豊かなビデオシーンを生成する能力を手に入れることができます。Microsoft Tech Communityのブログでも語られているように、これは単なる技術の進歩ではなく、映画制作者からデザイナー、教育者まで、多様なプロフェッショナルが自らのアイデアをかつてないほど自由に表現できるようになる可能性を秘めています。

さらに重要なのは、Azureのプラットフォーム上で提供されることで、セキュリティ、スケーラビリティといったエンタープライズ要件を満たしつつ、Azure AI Content Safetyのような責任あるAIのためのツールとの統合も進んでいる点です。これにより、革新的な技術を安全かつ倫理的に活用するための基盤が整えられているというのはなかなかの推せるポイントかなと個人的には考えています。

SoraをAzureで使い始めるには

実際にAzureでSoraを試すには、いくつかのステップが必要です。
全体像としては、以下の流れとなります。


図1: AzureでSoraを利用開始するまでの流れ

Microsoftの公式ドキュメントによると、まずはAzureサブスクリプションと、サポートされているリージョンに作成されたAzure OpenAIリソースが必要になります。

重要な制限事項:リージョンの制約

現在、SoraはEast US 2リージョンでのみ利用可能です(2025年6月時点)。これは重要な制限事項として知っておく必要があります。

Video generation models
Sora: East US 2

今後他のリージョンでも順次展開される予定ですが、現時点でSoraを利用する場合は、East US 2リージョンでAzure OpenAIリソースを作成する必要があります。

このあたりの最新情報は以下から確認できます。
https://learn.microsoft.com/en-us/azure/ai-services/openai/concepts/models?tabs=global-standard%2Cstandard-chat-completions

前提条件

技術要件

  • Azureサブスクリプション(無料アカウントでも可)
  • Python 3.8以上(Python 3.10以上を推奨)
  • East US 2リージョンに作成されたAzure OpenAIリソース
  • Soraモデルのデプロイメント

認証要件
Microsoft Entra ID(旧Azure AD)を使用したキーレス認証が推奨されています:

  • Azure CLIのインストール
  • ユーザーアカウントに「Cognitive Services User」ロールの割り当て

具体的な手順としては、Azure AI Foundryへのサインインから始まり、必要に応じて新しいプロジェクトを作成します。

その後、以下の図のようにFoundry内のモデルカタログからAzure OpenAI Soraを選択し、モデルをデプロイします。

デプロイが完了すると、APIエンドポイントやキーが利用可能になります。

そして、Soraを試す上で非常に強力なツールとなるのが、Azure AI Foundry内の「video playground」です。Microsoft Developer Blogsでも紹介されているように、このplaygroundは、Soraのような最先端の動画生成モデルを、コーディングの知識がなくても直感的に試せる、まさに「実験場」のような環境です。

以下のように左メニューにある「プレイグラウンド」をクリックすると、「ビデオプレイグラウンド」など様々なプレイグラウンドを含む一覧が表示されます。

そして、「ビデオプレイグラウンドを試す」をクリックすると、以下のようにビデオプレイグラウンドの画面が表示されます。

Video playgroundは、開発者向けに設計された高精度なプロトタイピング環境として機能します。localhostの設定や依存関係の競合を心配することなく、プロンプト構造の実験、モデルの一貫性評価、業界特有のユースケースに向けた出力最適化が可能です。ここでは、テキストプロンプトを入力し、アスペクト比(16:9、1:1など)、解像度(最大1080p)、動画の長さ(最大20秒)といった生成コントロールを調整しながら、Soraの能力をインタラクティブに探求できます。

特筆すべきは、プロンプト最適化機能です。AIを使ってプロンプトの書き直しを行い、複数のバリエーションを視覚的に比較できます。さらに、あらかじめ用意された業界特化型プロンプトも利用でき、Microsoftが厳選した9つのビデオサンプルから学ぶこともできます。

私が特に便利だと感じたのは、playgroundで試行錯誤した結果、生成された動画に対応するコードスニペット(Python、JavaScript、GO、cURLなど)をその場で取得できる点です。「Port to VS Code」機能により、Video Playgroundでの実験結果を、そのままVisual Studio Codeでの本格開発に移行できます。これにより、「アイデアをplaygroundで試し、良さそうなものが見つかったら、そのコードを元に本格的な開発を始める」というスムーズな移行が可能になります。

Video Playgroundでテストすべき重要なポイント

Microsoft公式devブログでは、Video Playgroundを使用する際に評価すべき項目が詳しく紹介されています:

プロンプト-動作変換の精度

  • 動画モデルがプロンプトを論理的かつ時間的に意味のある方法で解釈しているか
  • 記述されたアクションやシーンと動きが一貫しているか

フレーム一貫性

  • キャラクター、オブジェクト、スタイルがフレーム間で一貫しているか
  • 視覚的アーティファクト、ジッター、不自然な遷移がないか

シーン制御能力

  • シーン構成、被写体の行動、カメラアングルをどの程度制御できるか
  • シーン遷移や背景環境をガイドできるか

レイテンシとパフォーマンス

  • 異なるプロンプトタイプや解像度で動画生成にかかる時間
  • 5秒対15秒のクリップ生成における費用対効果

プロンプトの改善提案をしてくれるAI機能も搭載されており、まさにアイデアからプロトタイプ、そして本番コードへの道のりを加速させてくれる存在です。

実際にコードでSoraを動かしてみる

Video playgroundでの体験も素晴らしいものでしたが、やはりAPIを通じてプログラムから制御できてこそ、その真価が発揮されるというものです。公式ドキュメントGitHubで公開されているデモコードを参考に、Pythonを使ってSora APIを呼び出し、動画を生成してみました。

準備するもの

環境変数として設定が必要な情報

  • AZURE_OPENAI_ENDPOINT: Azure OpenAI ServiceのエンドポイントURL
  • AZURE_OPENAI_API_KEY: Azure OpenAI ServiceのAPIキー
  • AZURE_OPENAI_DEPLOYMENT_NAME: Soraモデルのデプロイ名(Azure AI Foundryでデプロイ時に設定したもの)
  • OPENAI_API_VERSION: SoraがサポートするAPIバージョン(例: preview

これらの情報は、AzureポータルやAzure AI Foundryのデプロイメント詳細画面から取得できます。

セキュリティに関する重要な注意
APIキーの取り扱いには細心の注意が必要です:

  • APIキーを直接コードに含めない
  • 公開リポジトリにAPIキーを投稿しない
  • Azure Key Vaultを使用してAPIキーを安全に保存
  • 本番環境ではMicrosoft Entra ID認証の使用を強く推奨

開発環境のセットアップ

公式クイックスタートガイドに従って、適切な開発環境を構築します:

# プロジェクトフォルダの作成
mkdir video-generation-quickstart && cd video-generation-quickstart

# 仮想環境の作成(推奨)
python3 -m venv .venv
source .venv/bin/activate  # Linux/macOS
# .venv\Scripts\activate   # Windows

# 必要なパッケージのインストール
pip install azure-identity requests

筆者はuvを使用しましたが今回程度の利用であればお好みでいいと思います。

Pythonでの実装例

Azure OpenAI ServiceでSoraを使用する場合、REST API直接使用が現在唯一の方法です。標準のopenaiライブラリには、Sora用のメソッドはまだ実装されていません。

REST API直接使用(現在唯一の方法)

公式クイックスタートガイドで紹介されている方法です:

import requests
import time
import os
import dotenv

dotenv.load_dotenv(override=False)

# 環境変数から設定を読み込み
endpoint = os.environ["AZURE_OPENAI_ENDPOINT"]
api_key = os.environ["AZURE_OPENAI_API_KEY"]

api_version = "preview"
headers = {"api-key": api_key, "Content-Type": "application/json"}

# 1. 動画生成ジョブの作成
create_url = f"{endpoint}/openai/v1/video/generations/jobs?api-version={api_version}"
body = {"prompt": "ジャズバーでピアノを弾く犬。", "width": 480, "height": 480, "n_seconds": 5, "model": "sora"}

response = requests.post(create_url, headers=headers, json=body)
response.raise_for_status()
print("Full response JSON:", response.json())
job_id = response.json()["id"]
print(f"Job created: {job_id}")

# 2. ジョブステータスのポーリング
status_url = f"{endpoint}/openai/v1/video/generations/jobs/{job_id}?api-version={api_version}"
status = None

while status not in ("succeeded", "failed", "cancelled"):
    time.sleep(5)  # ポーリング間隔
    status_response = requests.get(status_url, headers=headers).json()
    status = status_response.get("status")
    print(f"Job status: {status}")

# 3. 生成された動画の取得
if status == "succeeded":
    generations = status_response.get("generations", [])
    if generations:
        print("✅ Video generation succeeded.")
        generation_id = generations[0].get("id")
        video_url = f"{endpoint}/openai/v1/video/generations/{generation_id}/content/video?api-version={api_version}"
        video_response = requests.get(video_url, headers=headers)

        if video_response.ok:
            output_filename = "output.mp4"
            with open(output_filename, "wb") as file:
                file.write(video_response.content)
                print(f'Generated video saved as "{output_filename}"')
    else:
        raise Exception("No generations found in job result.")
else:
    raise Exception(f"Job didn't succeed. Status: {status}")

実行時の出力例

{
    "object": "video.generation.job",
    "id": "task_01jwcet0eje35tc5jy54yjax5q", 
    "status": "queued",
    "created_at": 1748469875,
    "prompt": "A cat playing piano in a jazz bar.",
    "model": "sora",
    "n_variants": 1,
    "n_seconds": 5,
    "height": 480,
    "width": 480
}

動画ファイルは、プログラムの実行パス配下にmp4形式で格納されます。

生成された動画はこちらです。なかなか雑なプロンプトでもそれなりの動画が生成されていますね。
https://x.com/chipsnack0711/status/1929066158784762259

処理フローの解説

Soraでの動画生成は以下の3つのステップで構成されます:

  1. ジョブ作成: プロンプトとパラメータを指定して動画生成ジョブを作成
  2. ステータス監視: ジョブの進行状況をポーリングで確認
  3. 結果取得: 生成が完了したら動画ファイルをダウンロード

典型的なジョブステータスの遷移
queuedpreprocessingrunningprocessingsucceeded

動画生成には通常数分かかるため、適切なポーリング間隔(5-10秒)で状況を確認することが重要です。

プロンプトの工夫次第で、多様なスタイルや内容の動画を生成できる点がSoraの魅力ですが、同時に奥深さでもあります。「こういう動画が欲しい」という明確なビジョンを、いかに的確な言葉で表現するかが鍵となります。例えば、単に「猫」とするよりも「黒い子猫が赤い毛糸玉で遊んでいる、クローズアップショット、明るい日差し」のように、具体的な対象、行動、構図、光の条件などを記述することで、より意図に近い結果が得られやすかったです。

動画生成パラメータの詳細

Soraでは以下のパラメータで動画生成を制御できます:

現在サポートされている仕様

  • 解像度: 最大1080p
  • 動画の長さ: 最大20秒
  • アスペクト比: landscape/portrait/square(16:9、1:1など)
  • 出力形式: MP4

生成制御パラメータ例

{
    "prompt": "説明的なプロンプト",
    "width": 480,      # 動画の幅(ピクセル)
    "height": 480,     # 動画の高さ(ピクセル)  
    "n_seconds": 5,    # 動画の長さ(秒)
    "model": "sora"    # モデル名
}

Video playgroundのプロンプト再生成機能も、この表現力を高める上で役立つヒントを与えてくれるでしょう。また、image-to-video機能も近日中に追加予定とのことで、静止画からの動画生成も可能になる見込みです。

何ができるのか? Soraのポテンシャルを探る

実際にコードを介してSoraに触れてみると、そのポテンシャルは計り知れないと感じます。まさに、クリエイティビティの新たな扉が開かれたと言えるでしょう。Microsoft公式ブログでは、具体的な業界での活用事例が詳しく紹介されており、その幅広い応用可能性が明確になります。

1. コンテンツ制作の革新

🌱 持続可能性・環境分野

  • 気候変動対策、リサイクル、環境保護への意識向上を目的とした短編コンテンツの生成
  • ブランドの責任ある取り組みを示すために、サプライチェーンの軌跡やカーボンオフセットの取り組みを視覚化

📚 教育分野

  • K-12および高等教育向けの視覚的な学習補助教材(例:タンパク質生成の科学、語学学習)
  • 企業研修用の短編動画(新人研修、コンプライアンス、スキル開発)

✈️ 旅行・ライフスタイル分野

  • 訪問者を引きつけるための目的地の魅力的な映像生成
  • 旅行体験の映画的な振り返りや憧れの旅路の創造

特に注目すべきは、個々の視聴者に合わせたパーソナライズド動画広告の大量生成や、ニュース記事から要約動画を自動生成するといった応用です。API連携によって、これらの活用が現実味を帯びてきます。映画制作者が複雑なシーンのプリビジュアライゼーションを行ったり、デザイナーが製品コンセプトを動画で表現したりすることも、より手軽になるはずです。

2. プロトタイピングとアイデア検証の高速化

🎮 ゲーム開発分野
SoraとGPT-image-1の組み合わせにより、ゲーム開発プロセスも革新されます:

  • 没入感のある環境、キャラクター、アセットをシンプルなプロンプトから瞬時に生成
  • プロトタイプ作成とクリエイティブワークフローの高速化
  • ゲーム内UIモックアップの手動デザインなしでの視覚化

📢 広告・マーケティング分野

  • クライアント提案やソーシャルメディアA/Bテスト用の魅力的な画像・動画広告案の生成
  • ブランドの一貫性を保ちながらの異なる地域・オーディエンス向けのビジュアル・動画のカスタマイズ
  • 製品名や概要から完全なクリエイティブアセット(バナー、サムネイル、短編動画クリップ)の自動生成

新しい製品やサービスのコンセプト、UI/UXデザインのアイデアなどを、Soraを使って素早く動画として具現化できます。これにより、関係者間でのイメージ共有がスムーズになり、企画の初期段階で具体的なフィードバックを得やすくなります。

3. 既存業務プロセスの変革

🛒 Eコマース分野

  • 様々なスタイルや設定でのスタジオ品質の商品画像作成(モデル着用ショットやライフスタイルシーンを含む)
  • 再撮影や手動編集なしでの休日・トレンド向けビジュアルの即座の更新

製造業における複雑な機械の操作マニュアル、不動産業におけるバーチャル物件ツアー、小売業における商品説明動画など、これまでテキストや静止画が中心だった情報を、より直感的で理解しやすい動画に置き換えることができます。Sora APIを既存の業務システムやデータベースと連携させれば、例えば「製品ID XXXXXの紹介動画を生成」といった形で、必要な動画をオンデマンドで作成することも考えられます。


図2: REST APIによるSora動画生成のシーケンス

もちろん、Soraは魔法の杖ではありません。生成される動画の品質はプロンプトの質に大きく左右されますし、時には意図しない、あるいは不自然な結果が出力されることもあります。また、非常に複雑な物理現象の再現や、長時間の首尾一貫したストーリーを持つ動画の生成には、まだ課題も残っているでしょう。

企業での実践例:WPPの活用事例

https://www.youtube.com/watch?v=IkF2HwCmoJM

実際の企業活用例として、Microsoft Tech Communityのブログにあるように、広告代理店大手のWPPグループ傘下のT&Pmでは、Sora APIを通じてワークフローの大幅な効率化を実現しているとのことでした。同社では以下のような課題を抱えていました:

  • 早期コンセプトの視覚化が困難
  • アイデアから制作完了までのスケールアップに時間がかかる
  • クライアントとの協働において、パーソナライズされたスケーラブルなソリューションの提供が困難

Sora APIの導入により、これらの課題が解決されています。特に非同期タスクに最適化されたSora APIの特性により、「APIアクセスは他のサービスでは実現できない方法でワークフローを統合・高速化してくれる。本当に作業が楽になった」(WPP)との評価を得ているとのことで、参考になる事例ではないでしょうか。

責任あるAIの実装

Azureプラットフォーム上でSoraが提供されることの重要な価値の一つが、責任あるAIの観点からの安全性確保です:

Azure AI Content Safety統合

  • すべてのモデルエンドポイントがAzure AI Content Safetyと統合されており、有害で安全でない動画は自動的にフィルタリングされます
  • C2PA(Coalition for Content Provenance and Authenticity)統合により、生成されたコンテンツの出自を明確に追跡可能
  • 乱用監視機能により、不適切な使用を検出・防止

これらの限界を理解し、適切に使いこなすための知識と経験、そしてAzure AI Content Safetyのようなツールを活用しつつ、「責任あるAI」の観点からの慎重な利用が求められます。

まとめ そしてこれから

Azure AI FoundryにSoraが搭載されたことは、先進的な動画生成AIのパワーを、より多くの開発者やクリエイターが、より安全かつスケーラブルな形で活用できるようになったことを意味します。実際にコードを書いてAPIを叩いてみると、その手軽さと、生成される動画が持つ表現力に、大きな可能性を感じずにはいられません。

Sora APIの独自性
特に注目すべきは、SoraがAzure AI Foundryユーザー向けのAPI-firstアプローチで提供されていることです。これにより、創造的なチームは自分たちのツールに直接Soraを組み込むことができ、ワークフロー、アプリ、顧客向けツールに深く統合することが可能になります。現在Soraはtext-to-videoに対応しており、間もなくimage-to-videoも利用可能になる予定です。

さらに、SoraとGPT-image-1の組み合わせにより、画像から動画まで、包括的な視覚コンテンツ生成パイプラインを構築することも可能です。Microsoft Mechanicsの動画では、Sora APIの実際の動作を詳しく見ることができ、より深い理解を得ることができます。

これはまだ、AIによるクリエイティビティ新時代の序章に過ぎないでしょう。Soraの機能が進化し、Azureの他のサービス(例えばAzure AI Searchと連携して社内ドキュメントから動画を生成する、など)との連携が深まるにつれて、私たちの想像を超えるような活用事例が次々と生まれてくるはずです。

この記事が、皆さんがSoraを探求する上での第一歩となれば幸いです。ぜひ、Azure AI FoundryでSoraを試し、その力を直接体験してみてください。そして、皆さんのアイデアや発見を、コミュニティで共有していただけることを楽しみにしています。

AIによる動画生成は、私たちの創造性を解き放ち、コミュニケーションの未来を塗り替える可能性を秘めています。

以上となります、ここまでお読みいただきありがとうございます!

参考リンク

免責事項

本記事は情報提供を目的としており、2025年5月20日時点の情報に基づいています。本記事について、内容の正確性・完全性は保証されず、誤りを含む可能性があります。公式ドキュメントで最新情報をご確認ください。記事内のコードサンプルは自己責任でご利用ください。APIキー等の機密情報は適切に管理し、公開環境での使用時はセキュリティに十分ご注意ください。本記事内容の利用によって生じたいかなる損害(サービスの中断、データ損失、営業損失等を含む)についても、著者は一切の責任を負いません。本記事に掲載されている各社製品・サービスは各社の利用規約に従ってご利用ください。

Discussion