0
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

動画編集が辛すぎるので、AI (Textideo) API と Python で製品デモ動画を完全自動生成してみた

0
Posted at

はじめに

こんにちは。個人開発をしているエンジニアです。

アプリやWebサービスを作っている時、一番面倒な作業って何だと思いますか?
デバッグ?ドキュメント作成?
いいえ、**「宣伝用のデモ動画作成」**です。

コードを書くのは好きですが、Premiere Pro や After Effects を開いてタイムラインを調整するのは、正直言って苦行でしかありません。

「なんとかして、この動画作成作業をコードで制御(自動化)できないか…?」

そう考えてリサーチしていたところ、Textideo というAI動画生成ツールを見つけました。APIが叩けるらしいので、今回は Python を使って**「テキストから爆速で動画を生成するワークフロー」**を構築して「やってみた」レポートをお届けします。

今回使うツール:Textideo

Textideo は、テキスト(プロンプト)を入力するだけで、AIがシーンに合わせた映像、字幕、ナレーションを生成してくれるサービスです。

選定した理由は以下の3点です。

  1. 日本語のニュアンスに強い(ここ重要)
  2. API が提供されている(自動化しやすい)
  3. 生成スピードが早い

実装してみた

早速、Python でスクリプトを書いていきます。
やりたいことはシンプルです。

  1. 動画にしたいスクリプト(台本)を定義する
  2. API にリクエストを送る
  3. 生成された動画の URL を取得する

環境準備

まずは必要なライブラリをインストールします。

pip install requests
import requests
import time
import json

# Textideoの設定 (ダミー値です、実際のドキュメントを参照してください)
API_KEY = "YOUR_TEXTIDEO_API_KEY"
BASE_URL = "https://api.textideo.com/v1"

def generate_video(prompt, style="cinematic"):
    """
    テキストから動画生成タスクを送信する関数
    """
    url = f"{BASE_URL}/generate"
    headers = {
        "Authorization": f"Bearer {API_KEY}",
        "Content-Type": "application/json"
    }
    
    # パラメータ設定
    payload = {
        "prompt": prompt,
        "aspect_ratio": "16:9",  # YouTube/PC用
        "style": style,          # 映像スタイル指定
        "language": "ja-JP"      # 日本語設定
    }

    print(f"🚀 生成タスクを送信中... プロンプト: {prompt[:20]}...")
    
    try:
        response = requests.post(url, headers=headers, json=payload)
        response.raise_for_status() # エラーチェック
        task_id = response.json().get("task_id")
        print(f"✅ タスクID取得成功: {task_id}")
        return task_id
    except Exception as e:
        print(f"❌ エラーが発生しました: {e}")
        return None

def check_status(task_id):
    """
    生成ステータスをポーリングする関数
    """
    url = f"{BASE_URL}/tasks/{task_id}"
    headers = {"Authorization": f"Bearer {API_KEY}"}
    
    print("⏳ 生成待ち...", end="", flush=True)
    
    while True:
        response = requests.get(url, headers=headers)
        status = response.json().get("status")
        
        if status == "completed":
            video_url = response.json().get("video_url")
            print(f"\n🎉 動画生成完了! URL: {video_url}")
            return video_url
        elif status == "failed":
            print("\n💀 生成に失敗しました。")
            break
        
        print(".", end="", flush=True)
        time.sleep(5) # 5秒ごとに確認

# --- メイン処理 ---
if __name__ == "__main__":
    # ここに宣伝したいアプリの紹介文を入れるだけ!
    my_script = """
    最新のAIタスク管理ツールの紹介です。
    複雑なプロジェクトも、AIが自動でスケジュールを最適化。
    エンジニアの生産性を劇的に向上させます。
    今すぐ無料で試してみましょう。
    """
    
    # 実行
    task_id = generate_video(my_script, style="tech_futuristic")
    
    if task_id:
        check_status(task_id)

実行結果

スクリプトを実行して、待つこと数分...。
コンソールに 🎉 動画生成完了! と表示されました。

正直、驚きました。

単にストック動画を繋ぎ合わせただけでなく、AIが自動でスケジュールを最適化 という文脈を理解して、PC画面でグラフが動くようなテック系の映像素材が自動で選定(生成)されています。
ナレーションのイントネーションもかなり自然です。

工数はどれくらい削減できたか?

実際に手を動かした時間を比較してみました。

作業工程 従来 (手動) Textideo + Python
素材探し 60分 0分 (AI生成)
編集・カット 90分 0分 (AI生成)
字幕入れ 30分 0分 (自動挿入)
合計 約3時間 約5分 (コード実行のみ)

エンジニアにとって、この効率化は革命的です。

まとめ

「動画編集スキルはないけど、自作アプリのPVを作りたい」というエンジニアにとって、Textideo はかなり強力な武器になると感じました。

今回は単純な単発生成でしたが、これを応用して GitHub Actions に組み込めば、「リリースノートを更新したら自動で紹介動画が生成されて Slack に飛んでくる」 みたいなBotを作るのも面白そうです。

興味のある方はぜひ試してみてください。

参考リンク

0
1
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?