はじめに
こんにちは。個人開発をしているエンジニアです。
アプリやWebサービスを作っている時、一番面倒な作業って何だと思いますか?
デバッグ?ドキュメント作成?
いいえ、**「宣伝用のデモ動画作成」**です。
コードを書くのは好きですが、Premiere Pro や After Effects を開いてタイムラインを調整するのは、正直言って苦行でしかありません。
「なんとかして、この動画作成作業をコードで制御(自動化)できないか…?」
そう考えてリサーチしていたところ、Textideo というAI動画生成ツールを見つけました。APIが叩けるらしいので、今回は Python を使って**「テキストから爆速で動画を生成するワークフロー」**を構築して「やってみた」レポートをお届けします。
今回使うツール:Textideo
Textideo は、テキスト(プロンプト)を入力するだけで、AIがシーンに合わせた映像、字幕、ナレーションを生成してくれるサービスです。
選定した理由は以下の3点です。
- 日本語のニュアンスに強い(ここ重要)
- API が提供されている(自動化しやすい)
- 生成スピードが早い
実装してみた
早速、Python でスクリプトを書いていきます。
やりたいことはシンプルです。
- 動画にしたいスクリプト(台本)を定義する
- API にリクエストを送る
- 生成された動画の 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を作るのも面白そうです。
興味のある方はぜひ試してみてください。