Open Prompts は、AI 画像プロンプトテンプレートの発見・共有・再利用のためのオープンソースプラットフォームです。キュレーションされたギャラリーでテンプレートを閲覧し、生成スタジオで開いて、プラガブルなプロバイダーで画像を作成できます。ひとつのワークフローのまま完結します。
リポジトリ:github.com/rudy2steiner/open-prompts
Apache License, Version 2.0 の下で提供されています。
多くのチームはプロンプトをドキュメント、スレッド、スプレッドシートに散在させています。Open Prompts は、プレビュー画像・タグ・モデル・公開範囲(公開 / 非公開 / 下書き)を備えた テンプレート に整理します。ユーザーは次のことができます。
- ギャラリー でコミュニティおよびカタログのプロンプトを探索
- テンプレートからワンクリックで 生成
- 公開プロンプトを 提出 して審査に回す、またはアカウントから 非公開 テンプレートを作成
- GitHub、Google、または メール でサインイン(運用者は管理者資格情報)
アプリは Next.js、next-intl(英語・中国語・日本語)、NextAuth、Postgres(例:Supabase)で構築されています。画像生成はサーバー API 経由で、現時点では Atlas Cloud に対応(Replicate は予定で未対応)、および有料 API 不要の テストモード があります。
| 領域 | 内容 |
|---|---|
| ギャラリー | モデル・タグで検索・フィルタ。詳細表示から Create へ遷移(プロンプトは事前入力)。 |
| Create スタジオ | テンプレートカルーセル、プロンプトエディタ、アスペクト比 / 品質 / バッチ制御、プロバイダー選択、セッション履歴(ブラウザ localStorage)。 |
| Submit フロー | 単一ページウィザード。ギャラリー公開(公開 → 審査キュー)または ?visibility=private で 非公開 テンプレートを保存。 |
| アカウント | マイテンプレート、管理者 審査キュー(承認 / 却下)、クレジット・サブスクリプションのプレースホルダー UI。 |
| 認証 | GitHub / Google OAuth。設定済み管理者向けメール・パスワード。公開の自己登録 UI はなし。 |
| 管理者モデレーション | 全テンプレートを対象とした審査キュー。ステータスと公開範囲はギャラリー規則に整合。 |
| X インポート | Submit で公開ツイート URL を貼り付け、タイトル・説明・プロンプト・画像を事前入力。 |
| i18n | ロケールルート:/(英語)、/zh、/ja。共通ヘッダー・フッター。 |
| セルフホスト | Apache 2.0。環境変数でプロバイダーと DB を設定。Vercel または任意の Node ホストにデプロイ可能。 |
- Node.js 18+(20 LTS 推奨)
- npm(または pnpm / yarn)
- Postgres データベース(Supabase が適しています)
- 任意:Atlas Cloud の API キー(実際の生成用)
git clone https://github.com/rudy2steiner/open-prompts.git
cd open-prompts
npm installcp .env.example .env.local最低限、次を設定します。
| 変数 | 用途 |
|---|---|
DATABASE_URL |
Postgres 接続文字列(マイグレーションと管理者クエリには Supabase Session pooler ポート 5432 を推奨) |
NEXTAUTH_URL |
http://localhost:3000 |
NEXTAUTH_SECRET |
openssl rand -base64 32 で生成 |
NEXT_PUBLIC_SITE_URL |
ローカルでは NEXTAUTH_URL と同じ(SEO 用) |
サインインと管理者:
| 変数 | 用途 |
|---|---|
GITHUB_ID / GITHUB_SECRET |
GitHub OAuth アプリ |
GOOGLE_CLIENT_ID / GOOGLE_CLIENT_SECRET |
Google OAuth クライアント |
ADMIN_EMAIL |
管理者メール(複数はカンマ区切り。ログインメールと完全一致すること) |
ADMIN_PASSWORD |
8 文字以上。起動時 / 管理者ログイン時に DB と同期 |
画像生成(Atlas Cloud またはテストモード):
| 変数 | 用途 |
|---|---|
DEFAULT_IMAGE_PROVIDER |
atlascloud(Replicate は未対応) |
ATLASCLOUD_API_KEY |
Atlas Cloud API キー |
USE_TEST_MODE |
true で実 API をスキップ |
TEST_IMAGE_URL |
テストモードで返す画像 URL |
クレジット上限と任意の OpenAI 設定は .env.example を参照してください。
Supabase SQL エディタまたは psql でマイグレーションを適用し、必要に応じてシードします。
# 任意:Drizzle で schema を push
npm run db:push
# 同梱データセットからギャラリーテンプレートを投入
npm run seed:prompts
# 管理者パスワードを DB に反映(ログイン失敗時)
npm run seed:adminマイグレーション SQL は supabase/migrations/ と scripts/apply-owner-visibility-migration.sql にあります。
npm run devhttp://localhost:3000 を開きます(デフォルトポート 3000)。
- Vercel でリポジトリをインポート(Next.js プリセット、ビルド
npm run build)。 - 手順 2 と同じ環境変数を設定。
NEXTAUTH_URLとNEXT_PUBLIC_SITE_URLはhttps://your-app.vercel.appにする。 - Supabase で
supabase/migrations/を実行し、ローカルでそのDATABASE_URLに対してnpm run seed:promptsとnpm run seed:adminを実行。 - OAuth コールバックを登録:
…/api/auth/callback/githubと…/api/auth/callback/google(Vercel のドメインに置き換え)。
環境変数変更後は再デプロイ。管理者ログインに失敗したら、本番の DATABASE_URL で npm run seed:admin を実行。
| プロバイダー | 状態 | 設定 |
|---|---|---|
| Atlas Cloud | 対応済み | ATLASCLOUD_API_KEY、ATLASCLOUD_BASE_URL |
| Replicate | 予定(未対応) | .env.example に将来用の変数あり。現時点では DEFAULT_IMAGE_PROVIDER=replicate にしないでください |
| テストモード | 開発 / デモ | USE_TEST_MODE=true、TEST_IMAGE_URL |
Create ページでは、ブラウザ(localStorage)で API キーを上書きできます。本番ではサーバー側の環境変数を推奨します。
- Next.js 14(App Router)
- next-intl · NextAuth.js
- Drizzle ORM + Postgres
- Tailwind CSS · daisyUI
Issue と Pull Request を歓迎します。大きな変更は、まず Issue で方向性を相談してください。
Open Prompts は 再利用可能な画像プロンプト の実用的なハブを目指しています。ギャラリーで効果的なプロンプトを見つけ、選んだモデルで生成し、テンプレートをコミュニティに還元する——非公開の下書きと、公開掲載のためのモデレーションを両立します。Fork して Supabase と組み合わせて Vercel にデプロイし、好みの画像 API を接続し、Apache 2.0 の下でチーム向けにワークフローを調整できます。
このプロジェクトが役に立ったら、リポジトリに Star を付け、GitHub Issues でフィードバックを共有してください。