メインコンテンツへスキップ
Factory CLIは、BYOK(Bring Your Own Key)を通じてカスタムモデル設定をサポートしています。独自のOpenAIやAnthropicキーを使用し、任意のオープンソースモデルプロバイダーに接続するか、お使いのハードウェア上でローカルにモデルを実行できます。設定完了後は、/modelコマンドを使用してモデル間を切り替えることができます。
Your API keys remain local and are not uploaded to Factory servers. Custom models are only available in the CLI and won’t appear in Factory’s web or mobile platforms.
Model selector showing custom models Install the CLI with the 5-minute quickstart →

設定リファレンス

~/.factory/settings.jsoncustomModels配列にカスタムモデルを追加してください:
{
  "customModels": [
    {
      "model": "your-model-id",
      "displayName": "My Custom Model",
      "baseUrl": "https://api.provider.com/v1",
      "apiKey": "${PROVIDER_API_KEY}",
      "provider": "generic-chat-completion-api",
      "maxOutputTokens": 16384
    }
  ]
}
In settings.json (and settings.local.json), apiKey supports environment variable references using ${VAR_NAME} syntax. For example, "apiKey": "${PROVIDER_API_KEY}" reads from the environment variable named PROVIDER_API_KEY (for example: export PROVIDER_API_KEY=your_key_here).
Legacy support: Custom models in ~/.factory/config.json using snake_case field names (custom_models, base_url, etc.) are still supported for backwards compatibility. Both files are loaded and merged, with settings.json taking priority. Env var expansion for apiKey applies to settings.json/settings.local.json and not to legacy config.json.

サポートされているフィールド

フィールドタイプ必須説明
modelstringAPI経由で送信されるモデル識別子(例:claude-sonnet-4-5-20250929gpt-5-codexqwen3:4b
displayNamestringモデルセレクターに表示される人間が読みやすい名前
baseUrlstringAPIエンドポイントのベースURL
apiKeystringプロバイダー用のAPIキー。空にはできません。settings.json/settings.local.jsonでの${VAR_NAME}をサポートします(例:${PROVIDER_API_KEY}PROVIDER_API_KEY環境変数を使用します)。
providerstring次のいずれか:anthropicopenai、またはgeneric-chat-completion-api
maxOutputTokensnumberモデルレスポンスの最大出力トークン数
noImageSupportbooleanこのモデルで画像入力を無効にするにはtrueに設定
extraArgsobjectAPIリクエストに含める追加のプロバイダー固有の引数
extraHeadersobjectリクエストと共に送信する追加のHTTPヘッダー

extraArgsの使用

temperatureやtop_pなどのプロバイダー固有のパラメータを渡します:
{
  "customModels": [
    {
      "model": "your-model",
      "displayName": "Custom Model",
      "baseUrl": "https://your-provider.com/v1",
      "apiKey": "YOUR_API_KEY",
      "provider": "generic-chat-completion-api",
      "extraArgs": {
        "temperature": 0.7,
        "top_p": 0.9
      }
    }
  ]
}

extraHeadersの使用

APIリクエストにカスタムHTTPヘッダーを追加します:
{
  "customModels": [
    {
      "model": "your-model",
      "displayName": "Custom Model",
      "baseUrl": "https://your-provider.com/v1",
      "apiKey": "YOUR_API_KEY",
      "provider": "generic-chat-completion-api",
      "extraHeaders": {
        "X-Custom-Header": "value",
        "Authorization": "Bearer YOUR_TOKEN"
      }
    }
  ]
}

プロバイダーの理解

FactoryはAPI互換性を決定する3つのプロバイダータイプをサポートしています:
プロバイダーAPI形式使用目的ドキュメント
anthropicAnthropic Messages API (v1/messages)公式APIまたは互換プロキシ上のAnthropicモデルAnthropic Messages API
openaiOpenAI Responses API公式APIまたは互換プロキシ上のOpenAIモデル。GPT-5やGPT-5-Codexなどの最新モデルに必要。OpenAI Responses API
generic-chat-completion-apiOpenAI Chat Completions APIOpenRouter、Fireworks、Together AI、Ollama、vLLM、およびほとんどのオープンソースプロバイダーOpenAI Chat Completions API
Factory is actively verifying Droid’s performance on popular models, but we cannot guarantee that all custom models will work out of the box. Only Anthropic and OpenAI models accessed via their official APIs are fully tested and benchmarked.
Model Size Consideration: Models below 30 billion parameters have shown significantly lower performance on agentic coding tasks. While these smaller models can be useful for experimentation and learning, they are generally not recommended for production coding work or complex software engineering tasks.

プロンプトキャッシング

Factory CLIは利用可能な場合にプロンプトキャッシングを自動的に使用してAPIコストを削減します:
  • 公式プロバイダー(anthropicopenai:Factoryは公式APIを通じてプロンプトキャッシングの使用を試みます。キャッシング動作は各プロバイダーの実装と要件に従います。
  • 汎用プロバイダー(generic-chat-completion-api:プロンプトキャッシングサポートはプロバイダーによって異なり、保証されません。一部のプロバイダーはキャッシングをサポートする場合もあれば、そうでない場合もあります。

プロンプトキャッシングの確認

カスタムモデルでプロンプトキャッシングが正しく動作しているかを確認するには:
  1. カスタムモデルで会話を実行
  2. Droid CLIで/costコマンドを使用してコスト内訳を表示
  3. 出力でキャッシュヒット率と節約額を確認
期待されるキャッシング節約が表示されない場合は、プロバイダーのプロンプトキャッシングサポートと要件についてのドキュメントを参照してください。

クイックスタート

特定の設定例を表示するには、左ナビゲーションからプロバイダーを選択してください:
  • Baseten - カスタムモデルのデプロイと提供
  • DeepInfra - オープンソースモデル向けの費用対効果の高い推論
  • Fireworks AI - オープンソースモデル向けの高性能推論
  • Google Gemini - GoogleのGeminiモデルへのアクセス
  • Groq - GroqのLPU™ Inference Engineによる超高速推論
  • Hugging Face - HF Inference API上のモデルへの接続
  • Ollama - ローカルまたはクラウドでのモデル実行
  • OpenAI & Anthropic - 公式モデル用の独自APIキーの使用
  • OpenRouter - 単一インターフェース経由での複数プロバイダーへのアクセス

カスタムモデルの使用

設定完了後、CLIでカスタムモデルにアクセスできます:
  1. /modelコマンドを使用
  2. カスタムモデルはFactory提供モデルの下にある別の「カスタムモデル」セクションに表示されます
  3. 任意のモデルを選択して使用開始
カスタムモデルはdisplayNameで設定した名前で表示され、異なるプロバイダーと設定を簡単に識別できます。

トラブルシューティング

セレクターにモデルが表示されない

  • ~/.factory/settings.json(レガシー形式を使用している場合はconfig.json)でJSON構文を確認
  • 設定変更はファイル監視により自動的に検出されます
  • すべての必須フィールドが存在することを確認

「Invalid provider」エラー

  • プロバイダーは正確にanthropicopenai、またはgeneric-chat-completion-apiである必要があります
  • タイプミスを確認し、適切な大文字小文字を確保

認証エラー

  • APIキーが有効で利用可能なクレジットがあることを確認
  • APIキーに適切な権限があることを確認
  • ベースURLがプロバイダーのドキュメントと一致することを確認

ローカルモデルが接続できない

  • ローカルサーバーが実行中であることを確認(例:ollama serve
  • ベースURLが正しく、必要に応じて/v1/サフィックスが含まれていることを確認
  • モデルがローカルでプルされ/利用可能であることを確認

レート制限またはクォータエラー

  • プロバイダーのレート制限と使用クォータを確認
  • プロバイダーのダッシュボードで使用量を監視

請求

  • Factory のマークアップや使用料なしで、プロバイダーに直接お支払いいただきます
  • プロバイダーのダッシュボードでコストと使用量を追跡