🈳

Sora でウォーターマークなしの動画を生成してダウンロード!Webアプリ Soraris

に公開

こんにちは!OpenAI の Sora API が公開されたので、せっかくなので動画生成からダウンロードまでできる Soraris というサービスを作りました。(記事も実装も、CodexとClaude Codeを使用しました)

https://soraris.vercel.app/

制作活動で動画素材を使う機会があり、Sora で生成した動画を活用していたのですが、Sora の Web サイト(sora.chatgpt.com)やアプリには少々の不便さを感じてました。

API が公開されたことをきっかけに、「ウォーターマークなしで動画をダウンロードできるツールを作ろう!」と思い立ち、スキマ時間でサクッと作ったのが Soraris です。

Soraris でできること

Soraris は、OpenAI Sora API を使って動画生成から管理までを一元化できる Web アプリです。

主な機能

  • 🎯 ウォーターマークなしの動画をダウンロード(API 経由のため)
  • 🔐 自分の OpenAI API キーを設定(暗号化して安全に保存)
  • ✍️ プロンプトを入力して Sora 2 / Sora 2 Pro で動画生成
  • ⏱️ 生成状況をリアルタイムでポーリング
  • 📚 生成した動画をライブラリで一覧表示
  • ⬇️ ダウンロードもワンクリック

まだ荒削りな MVP で、バグもあると思いますが、これから色々な機能を追加していく予定です。ぜひ触ってみてください!


Soraris の主な機能

✅ 実装済み機能

認証周り

  • Google OAuth 認証: Supabase Auth を使ったシンプルな認証フロー
  • セッション管理: サーバーサイドでセッション検証

動画生成

  • モデル選択: Sora 2 / Sora 2 Pro の切り替え
  • 詳細設定: 解像度(720p/1080p)、動画の長さ(4秒/8秒/12秒)、参照画像アップロード
  • 公開設定: プライベート / パブリック切り替え(まだ未実装)

セキュリティ

  • API キー暗号化保存: AES-256-GCM で暗号化して Supabase に保存
  • レート制限: GET: 30req/min, POST/DELETE: 10req/min
  • Content Security Policy (CSP): XSS 攻撃を防ぐ
  • セキュリティヘッダー: HSTS, X-Frame-Options, X-Content-Type-Options, XSS Protection
  • ログ保護: API キーなどセンシティブデータはログに記録しない

動画管理

  • ライブラリ表示: 生成した動画を時系列で一覧表示
  • ステータス管理: 処理中 / 完了 / 失敗 のバッジ表示
  • リアルタイムポーリング: 6秒間隔で自動更新
  • モーダル表示: Next.js 14 Parallel Routes を活用

UI/UX

  • ダークテーマ: グラスモーフィズムを取り入れたモダンなデザイン
  • レスポンシブ: モバイル / タブレット / デスクトップ対応
  • Tailwind CSS: 高速プロトタイピング
  • shadcnで実装中、HeroUIも検討

最後まで読んでいただき、ありがとうございました!


参考リンク

Discussion