New API
July 25, 2026 · View on GitHub
📝 プロジェクト説明
Important
- 本プロジェクトは、合法的に許可された AI API ゲートウェイ、組織レベルの認証、マルチモデル管理、利用量分析、コスト管理、プライベートデプロイのシナリオのみを対象としています。
- ユーザーは、上流の API キー、アカウント、モデルサービス、インターフェース権限を合法的に取得し、上流のサービス利用規約および適用される法律法規を遵守する必要があります。
- ユーザーは、利用方法が上流のサービス利用規約および適用される法律法規に準拠していることを確認してください。
- 生成 AI サービスを公衆に提供する場合、ユーザーは適用される規制要件を遵守し、管轄区域で求められる届出、ライセンス、コンテンツセキュリティ、本人確認、ログ保持、税務、上流認可などのすべての義務を履行してください。
🤝 信頼できるパートナー
順不同
🙏 特別な感謝
感謝 JetBrains が本プロジェクトに無料のオープンソース開発ライセンスを提供してくれたことに感謝します
🚀 クイックスタート
Docker Composeを使用(推奨)
# プロジェクトをクローン
git clone https://github.com/QuantumNous/new-api.git
cd new-api
# docker-compose.yml 設定を編集
nano docker-compose.yml
# サービスを起動
docker-compose up -d
Dockerコマンドを使用
# 最新のイメージをプル
docker pull calciumion/new-api:latest
# SQLiteを使用(デフォルト)
docker run --name new-api -d --restart always \
-p 3000:3000 \
-e TZ=Asia/Shanghai \
-v ./data:/data \
calciumion/new-api:latest
# MySQLを使用
docker run --name new-api -d --restart always \
-p 3000:3000 \
-e SQL_DSN="root:123456@tcp(localhost:3306)/oneapi" \
-e TZ=Asia/Shanghai \
-v ./data:/data \
calciumion/new-api:latest
💡 ヒント:
-v ./data:/dataは現在のディレクトリのdataフォルダにデータを保存します。絶対パスに変更することもできます:-v /your/custom/path:/data
🎉 デプロイが完了したら、http://localhost:3000 にアクセスして使用を開始してください!
Warning
本プロジェクトを公衆向け生成 AI サービスまたは API 再販サービスとして運営する場合、ユーザーは届出、コンテンツセキュリティ、本人確認、ログ保持、税務、決済、上流認可などの必要なコンプライアンス義務を先に完了してください。
📖 その他のデプロイ方法についてはデプロイガイドを参照してください。
📚 ドキュメント
📖 公式ドキュメント | 
クイックナビゲーション:
| カテゴリ | リンク |
|---|---|
| 🚀 デプロイガイド | インストールドキュメント |
| ⚙️ 環境設定 | 環境変数 |
| 📡 APIドキュメント | APIドキュメント |
| ❓ よくある質問 | FAQ |
| 💬 コミュニティ交流 | 交流チャネル |
✨ 主な機能
詳細な機能については機能説明を参照してください。
🎨 コア機能
| 機能 | 説明 |
|---|---|
| 🎨 新しいUI | モダンなユーザーインターフェースデザイン |
| 🌍 多言語 | 簡体字中国語、繁体字中国語、英語、フランス語、日本語をサポート |
| 🔄 データ互換性 | オリジナルのOne APIデータベースと完全に互換性あり |
| 📈 データダッシュボード | ビジュアルコンソールと統計分析 |
| 🔒 権限管理 | トークングループ化、モデル制限、ユーザー管理 |
💰 認可済み利用量とコスト管理
- ✅ 合法的に許可されたシナリオでの内部チャージとクォータ割り当て(EPay、Stripe)
- ✅ 組織レベルのリクエスト単位、使用量ベース、キャッシュヒットのコスト会計
- ✅ OpenAI、Azure、DeepSeek、Claude、Qwen などのモデルのキャッシュ課金統計
- ✅ 内部管理または認可済み企業顧客向けの柔軟な課金ポリシー
🔐 認証とセキュリティ
- 😈 Discord認証ログイン
- 🤖 LinuxDO認証ログイン
- 📱 Telegram認証ログイン
- 🔑 OIDC統一認証
- 🔍 Key使用量クォータ照会(new-api-key-toolと併用)
🚀 高度な機能
APIフォーマットサポート:
- ⚡ OpenAI Responses
- ⚡ OpenAI Realtime API(Azureを含む)
- ⚡ Claude Messages
- ⚡ Google Gemini
- 🔄 Rerankモデル(Cohere、Jina)
インテリジェントルーティング:
- ⚖️ チャネル重み付けランダム
- 🔄 失敗自動リトライ
- 🚦 ユーザーレベルモデルレート制限
フォーマット変換:
- 🔄 OpenAI Compatible ⇄ Claude Messages
- 🔄 OpenAI Compatible → Google Gemini
- 🔄 Google Gemini → OpenAI Compatible - テキストのみ、関数呼び出しはまだサポートされていません
- 🚧 OpenAI Compatible ⇄ OpenAI Responses - 開発中
- 🔄 思考からコンテンツへの機能
Reasoning Effort サポート:
詳細設定を表示
OpenAIシリーズモデル:
o3-mini-high- 高思考努力o3-mini-medium- 中思考努力o3-mini-low- 低思考努力gpt-5-high- 高思考努力gpt-5-medium- 中思考努力gpt-5-low- 低思考努力
Claude思考モデル:
claude-3-7-sonnet-20250219-thinking- 思考モードを有効にする
Google Geminiシリーズモデル:
gemini-2.5-flash-thinking- 思考モードを有効にするgemini-2.5-flash-nothinking- 思考モードを無効にするgemini-2.5-pro-thinking- 思考モードを有効にするgemini-2.5-pro-thinking-128- 思考モードを有効にし、思考予算を128トークンに設定する- Gemini モデル名の末尾に
-low/-medium/-highを付けることで推論強度を直接指定できます(追加の思考予算サフィックスは不要です)。
🤖 モデルサポート
詳細についてはAPIドキュメント - ゲートウェイインターフェース
| モデルタイプ | 説明 | ドキュメント |
|---|---|---|
| 🤖 OpenAI-Compatible | OpenAI互換モデル | ドキュメント |
| 🤖 OpenAI Responses | OpenAI Responsesフォーマット | ドキュメント |
| 🎨 Midjourney-Proxy | Midjourney-Proxy(Plus) | ドキュメント |
| 🎵 Suno-API | Suno API | ドキュメント |
| 🔄 Rerank | Cohere、Jina | ドキュメント |
| 💬 Claude | Messagesフォーマット | ドキュメント |
| 🌐 Gemini | Google Geminiフォーマット | ドキュメント |
| 🔧 Dify | ChatFlowモード | - |
| 🎯 カスタム上流 | 合法的に許可された上流エンドポイントの設定をサポート | - |
📡 サポートされているインターフェース
完全なインターフェースリストを表示
🚢 デプロイ
Tip
最新のDockerイメージ: calciumion/new-api:latest
📋 デプロイ要件
| コンポーネント | 要件 |
|---|---|
| ローカルデータベース | SQLite(Dockerは /data ディレクトリをマウントする必要があります) |
| リモートデータベース | MySQL ≥ 5.7.8 または PostgreSQL ≥ 9.6 |
| コンテナエンジン | Docker / Docker Compose |
| システムアーキテクチャ | 64ビットのみ対応(amd64 / arm64)。32ビットシステムは非対応 |
⚙️ 環境変数設定
一般的な環境変数設定
| 変数名 | 説明 | デフォルト値 |
|---|---|---|
SESSION_SECRET | 認証署名シークレット。すべてのノードで同じ値が必要 | - |
SESSION_COOKIE_SECURE | false/未設定ではローカル HTTP 開発プロキシ向けに refresh/logout の OriginGuard を無効化し、true では Secure Cookie と厳格な Origin 検証を有効化 | false |
SESSION_COOKIE_TRUSTED_URL | Secure モードでは必須。refresh/logout を許可する完全一致の HTTPS Origin をカンマ区切りで指定。relay CORS 設定ではありません | - |
TRUSTED_PROXIES | 未設定/空ではループバック、RFC 1918、IPv6 ULA を信頼して起動時に警告し、none ではすべて無効、明示的なプロキシ IP/CIDR リストは既定値を完全に置き換えます | 127.0.0.0/8, ::1, 10.0.0.0/8, 172.16.0.0/12, 192.168.0.0/16, fc00::/7 |
USER_SESSION_ACTIVE_LIMIT | 1 ユーザーあたりの有効なログイン Session 上限 | 50 |
USER_SESSION_ISSUANCE_LIMIT | カウント期間内に作成できる Session 数の上限(取り消し済みを含む) | 100 |
USER_SESSION_ISSUANCE_WINDOW_SECONDS | Session 発行のカウント期間(秒)。取り消し済み Session の保持期間を超える場合は自動的に制限 | 86400 |
USER_SESSION_REVOKED_RETENTION_DAYS | 監査と発行数計算のため取り消し済み Session を保持する日数 | 7 |
USER_SESSION_HOURLY_ALERT_THRESHOLD | 1 時間あたりのグローバル Session 発行数の警告閾値。ログインは拒否しません | 5000 |
CRYPTO_SECRET | キャッシュキー用 HMAC シークレット。Redis を共有するノードでは同じ実効値が必要 | デフォルトは SESSION_SECRET |
| `SQL_DSN** | データベース接続文字列 | - |
REDIS_CONN_STRING | Redis接続文字列 | - |
STREAMING_TIMEOUT | ストリーミング応答のタイムアウト時間(秒) | 300 |
STREAM_SCANNER_MAX_BUFFER_MB | ストリームスキャナの1行あたりバッファ上限(MB)。4K画像など巨大なbase64 data: ペイロードを扱う場合は値を増加させてください | 64 |
MAX_REQUEST_BODY_MB | リクエストボディ最大サイズ(MB、解凍後に計測。巨大リクエスト/zip bomb によるメモリ枯渇を防止)。超過時は 413 | 32 |
AZURE_DEFAULT_API_VERSION | Azure APIバージョン | 2025-04-01-preview |
ERROR_LOG_ENABLED | エラーログスイッチ | false |
PYROSCOPE_URL | Pyroscopeサーバーのアドレス | - |
PYROSCOPE_APP_NAME | Pyroscopeアプリ名 | new-api |
PYROSCOPE_BASIC_AUTH_USER | Pyroscope Basic Authユーザー | - |
PYROSCOPE_BASIC_AUTH_PASSWORD | Pyroscope Basic Authパスワード | - |
PYROSCOPE_MUTEX_RATE | Pyroscope mutexサンプリング率 | 5 |
PYROSCOPE_BLOCK_RATE | Pyroscope blockサンプリング率 | 5 |
HOSTNAME | Pyroscope用のホスト名タグ | new-api |
📖 完全な設定: 環境変数ドキュメント
🔧 デプロイ方法
方法 1: Docker Compose(推奨)
# プロジェクトをクローン
git clone https://github.com/QuantumNous/new-api.git
cd new-api
# 設定を編集
nano docker-compose.yml
# サービスを起動
docker-compose up -d
方法 2: Dockerコマンド
SQLiteを使用:
docker run --name new-api -d --restart always \
-p 3000:3000 \
-e TZ=Asia/Shanghai \
-v ./data:/data \
calciumion/new-api:latest
MySQLを使用:
docker run --name new-api -d --restart always \
-p 3000:3000 \
-e SQL_DSN="root:123456@tcp(localhost:3306)/oneapi" \
-e TZ=Asia/Shanghai \
-v ./data:/data \
calciumion/new-api:latest
💡 パス説明:
./data:/data- 相対パス、データは現在のディレクトリのdataフォルダに保存されます- 絶対パスを使用することもできます:
/your/custom/path:/data
⚠️ マルチマシンデプロイの注意事項
Warning
- すべてのノードで同じプライマリデータベースと同じ
SESSION_SECRETを使用してください。異なる場合、Access Token、Refresh セッション、一時認証フローを一貫して検証できません。 - 同じ Redis に接続するノードでは同じ
CRYPTO_SECRETも設定してください。異なる場合、キャッシュキーのダイジェストが一致せず、共有エントリを正しく再利用できません。
ログイン Session とユーザー単位の有効数/発行数制限では、データベースが信頼できる唯一の情報源です。Redis の Session エントリは短期キャッシュであり、TTL は SYNC_FREQUENCY(デフォルト 60 秒)に従い、Session の残り有効期間を超えません。
| Redis トポロジー | Session 状態の伝播 | レート制限 |
|---|---|---|
| すべてのノードで Redis を共有 | 取り消しとバージョン更新は通常即時に伝播 | Redis の制限枠はノード間で共有 |
| ノードごとに独立した Redis | 有効な SYNC_FREQUENCY 以内にデータベースへフォールバックして収束。バージョンローテーション直後の新しい Token は、古いキャッシュを持つノードで一時的に 401 になる場合があります | ノードごとに独立して計数するため、クラスター全体では設定値の約ノード数倍まで許可される可能性があります |
| Redis なし | Session の検証ごとにデータベースを直接参照 | メモリ内の制限枠はノードごとに独立 |
SYNC_FREQUENCY を短くすると独立 Redis のキャッシュ陳腐化時間は短くなりますが、有効な SID ごと、ノードごと、TTL ごとにデータベースへの主キー照会が 1 回増えます。この保証は Session 認証の陳腐化時間を限定するものです。レート制限や Redis を使うその他のコントロールプレーンキャッシュは、引き続きトポロジーに依存します。
Token、Origin 検証、PAT の契約についてはユーザー認証とログインセッションを参照してください。
🔄 チャネルリトライとキャッシュ
リトライ設定: 設定 → 運営設定 → 一般設定 → 失敗リトライ回数
キャッシュ設定:
REDIS_CONN_STRING:Redisキャッシュ(推奨)MEMORY_CACHE_ENABLED:メモリキャッシュ
🔗 関連プロジェクト
上流プロジェクト
| プロジェクト | 説明 |
|---|---|
| One API | オリジナルプロジェクトベース |
| Midjourney-Proxy | Midjourneyインターフェースサポート |
補助ツール
| プロジェクト | 説明 |
|---|---|
| new-api-key-tool | キー使用量クォータ照会ツール |
| new-api-horizon | New API高性能最適化版 |
💬 ヘルプサポート
📖 ドキュメントリソース
| リソース | リンク |
|---|---|
| 📘 よくある質問 | FAQ |
| 💬 コミュニティ交流 | 交流チャネル |
| 🐛 問題のフィードバック | 問題フィードバック |
| 📚 完全なドキュメント | 公式ドキュメント |
🤝 貢献ガイド
あらゆる形の貢献を歓迎します!
- 🐛 バグを報告する
- 💡 新しい機能を提案する
- 📝 ドキュメントを改善する
- 🔧 コードを提出する
📜 ライセンス
このプロジェクトは GNU Affero General Public License v3.0 (AGPLv3) の下でライセンスされています。
本プロジェクトは、One API(MITライセンス)をベースに開発されたオープンソースプロジェクトです。
お客様の組織のポリシーがAGPLv3ライセンスのソフトウェアの使用を許可していない場合、またはAGPLv3のオープンソース義務を回避したい場合は、こちらまでお問い合わせください:support@quantumnous.com
