{
  "plugin": {
    "name": "ai-proxy"
  },
  "groups": [
    {
      "group_name": "Claude Code use cases",
      "examples": [
        {
          "slug": "claude-code-vertex",
          "config": {
            "llm_format": "anthropic",
            "route_type": "llm/v1/chat",
            "logging": {
              "log_payloads": false,
              "log_statistics": true
            },
            "auth": {
              "allow_override": false,
              "gcp_use_service_account": true,
              "gcp_service_account_json": "$GCP_SERVICE_ACCOUNT_JSON"
            },
            "model": {
              "provider": "gemini",
              "name": "gemini-2.5-flash",
              "options": {
                "anthropic_version": "vertex-2023-10-16",
                "gemini": {
                  "api_endpoint": "$VERTEX_API_ENDPOINT",
                  "project_id": "$GCP_PROJECT_ID",
                  "location_id": "$GCP_LOCATION_ID"
                }
              }
            }
          },
          "env": {
            "GCP_SERVICE_ACCOUNT_JSON": "The GCP service account JSON credentials for authentication.",
            "VERTEX_API_ENDPOINT": "The Vertex AI API endpoint (for example, us-east5-aiplatform.googleapis.com).",
            "GCP_PROJECT_ID": "The GCP project ID.",
            "GCP_LOCATION_ID": "The GCP location/region ID (for example, us-east5)."
          },
          "required_fields": [
            "config.model",
            "config.route_type"
          ]
        },
        {
          "slug": "claude-code-bedrock",
          "config": {
            "llm_format": "anthropic",
            "route_type": "llm/v1/chat",
            "auth": {
              "allow_override": false,
              "aws_access_key_id": "$AWS_ACCESS_KEY_ID",
              "aws_secret_access_key": "$AWS_SECRET_ACCESS_KEY"
            },
            "model": {
              "provider": "bedrock",
              "name": "us.anthropic.claude-haiku-4-5-20251001-v1:0",
              "options": {
                "anthropic_version": "bedrock-2023-05-31",
                "bedrock": {
                  "aws_region": "$AWS_REGION"
                },
                "max_tokens": 8192
              }
            }
          },
          "env": {
            "AWS_ACCESS_KEY_ID": "The AWS access key ID for authentication.",
            "AWS_SECRET_ACCESS_KEY": "The AWS secret access key for authentication.",
            "AWS_REGION": "The AWS region for Bedrock service (for example, us-west-2)."
          },
          "required_fields": [
            "config.model",
            "config.route_type"
          ]
        },
        {
          "slug": "claude-code-gemini",
          "config": {
            "llm_format": "anthropic",
            "route_type": "llm/v1/chat",
            "logging": {
              "log_statistics": true,
              "log_payloads": false
            },
            "auth": {
              "allow_override": false,
              "gcp_use_service_account": true,
              "gcp_service_account_json": "$GCP_SERVICE_ACCOUNT_JSON"
            },
            "model": {
              "provider": "gemini",
              "name": "gemini-2.0-flash",
              "options": {
                "gemini": {
                  "api_endpoint": "$GEMINI_API_ENDPOINT",
                  "project_id": "$GCP_PROJECT_ID",
                  "location_id": "$GCP_LOCATION_ID"
                },
                "max_tokens": 8192
              }
            }
          },
          "env": {
            "GCP_SERVICE_ACCOUNT_JSON": "The GCP service account JSON credentials for authentication.",
            "GEMINI_API_ENDPOINT": "The Gemini API endpoint (for example, us-central1-aiplatform.googleapis.com).",
            "GCP_PROJECT_ID": "The GCP project ID.",
            "GCP_LOCATION_ID": "The GCP location/region ID (for example, us-central1)."
          },
          "required_fields": [
            "config.model",
            "config.route_type"
          ]
        },
        {
          "slug": "claude-code-huggingface",
          "config": {
            "llm_format": "anthropic",
            "route_type": "llm/v1/chat",
            "logging": {
              "log_payloads": false,
              "log_statistics": true
            },
            "auth": {
              "header_name": "Authorization",
              "header_value": "Bearer $HUGGINGFACE_API_TOKEN"
            },
            "model": {
              "provider": "huggingface",
              "name": "meta-llama/Llama-3.3-70B-Instruct"
            }
          },
          "env": {
            "HUGGINGFACE_API_TOKEN": "The API token to use to connect to HuggingFace Inference API. Obtain this from your HuggingFace account settings."
          },
          "required_fields": [
            "config.model",
            "config.route_type"
          ]
        },
        {
          "slug": "claude-code-azure",
          "config": {
            "llm_format": "anthropic",
            "route_type": "llm/v1/chat",
            "logging": {
              "log_payloads": true,
              "log_statistics": true
            },
            "auth": {
              "header_name": "Authorization",
              "header_value": "Bearer $AZURE_API_KEY"
            },
            "model": {
              "provider": "azure",
              "name": "gpt-4.1",
              "options": {
                "azure_api_version": "2024-12-01-preview",
                "azure_instance": "$AZURE_INSTANCE",
                "azure_deployment_id": "$AZURE_DEPLOYMENT_ID"
              }
            }
          },
          "env": {
            "AZURE_API_KEY": "The API key to use to connect to Azure OpenAI.",
            "AZURE_INSTANCE": "The Azure OpenAI instance name.",
            "AZURE_DEPLOYMENT_ID": "The Azure OpenAI deployment ID for the model."
          },
          "required_fields": [
            "config.model",
            "config.route_type"
          ]
        },
        {
          "slug": "claude-code-anthropic",
          "config": {
            "llm_format": "anthropic",
            "route_type": "llm/v1/chat",
            "logging": {
              "log_statistics": true
            },
            "auth": {
              "header_name": "x-api-key",
              "header_value": "$ANTHROPIC_API_KEY"
            },
            "max_request_body_size": 524288,
            "model": {
              "name": "claude-sonnet-4-5-20250929",
              "provider": "anthropic",
              "options": {
                "anthropic_version": "2023-06-01"
              }
            }
          },
          "env": {
            "ANTHROPIC_API_KEY": "The API key to use to connect to Anthropic."
          },
          "required_fields": [
            "config.model",
            "config.route_type"
          ]
        },
        {
          "slug": "claude-code-dashscope",
          "config": {
            "llm_format": "anthropic",
            "route_type": "llm/v1/chat",
            "logging": {
              "log_statistics": true,
              "log_payloads": false
            },
            "auth": {
              "header_name": "Authorization",
              "header_value": "Bearer $DASHSCOPE_API_KEY"
            },
            "max_request_body_size": 524288,
            "model": {
              "provider": "dashscope",
              "name": "qwen-plus",
              "options": {
                "max_tokens": 8192,
                "temperature": 1.0
              }
            }
          },
          "env": {
            "DASHSCOPE_API_KEY": "The API key to use to connect to DashScope. Obtain this from the Alibaba Cloud DashScope platform."
          },
          "required_fields": [
            "config.model",
            "config.route_type"
          ]
        },
        {
          "slug": "claude-code-openai",
          "config": {
            "llm_format": "anthropic",
            "route_type": "llm/v1/chat",
            "logging": {
              "log_statistics": true,
              "log_payloads": false
            },
            "auth": {
              "header_name": "Authorization",
              "header_value": "Bearer $OPENAI_API_KEY",
              "allow_override": false
            },
            "model": {
              "name": "gpt-5-mini",
              "provider": "openai"
            }
          },
          "env": {
            "OPENAI_API_KEY": "The API key to use to connect to OpenAI."
          },
          "required_fields": [
            "config.model",
            "config.route_type"
          ]
        }
      ]
    },
    {
      "group_name": "Basic use cases",
      "examples": [
        {
          "slug": "anthropic-chat-route",
          "config": {
            "route_type": "llm/v1/chat",
            "auth": {
              "header_name": "x-api-key",
              "header_value": "$ANTHROPIC_API_KEY"
            },
            "model": {
              "provider": "anthropic",
              "name": "claude-sonnet-4-6",
              "options": {
                "anthropic_version": "2023-06-01",
                "max_tokens": 512,
                "temperature": 1.0
              }
            }
          },
          "env": {
            "ANTHROPIC_API_KEY": "The API key to use to connect to Anthropic."
          },
          "required_fields": [
            "config.model",
            "config.route_type"
          ]
        },
        {
          "slug": "azure-ai-with-managed-identity",
          "config": {
            "route_type": "llm/v1/chat",
            "auth": {
              "azure_use_managed_identity": true
            },
            "model": {
              "provider": "azure",
              "name": "gpt-4o",
              "options": {
                "azure_instance": "$AZURE_INSTANCE_NAME",
                "azure_deployment_id": "$AZURE_DEPLOYMENT_ID"
              }
            }
          },
          "env": {
            "AZURE_INSTANCE_NAME": "The name of the Azure OpenAI instance.",
            "AZURE_DEPLOYMENT_ID": "The ID of the Azure OpenAI deployment."
          },
          "required_fields": [
            "config.model",
            "config.route_type"
          ]
        },
        {
          "slug": "cerebras-chat-route",
          "config": {
            "route_type": "llm/v1/chat",
            "auth": {
              "header_name": "Authorization",
              "header_value": "Bearer $CEREBRAS_API_KEY"
            },
            "model": {
              "provider": "cerebras",
              "name": "gpt-oss-120b",
              "options": {
                "max_tokens": 512,
                "temperature": 1.0
              }
            }
          },
          "env": {
            "CEREBRAS_API_KEY": "The API key to use to connect to Cerebras."
          },
          "required_fields": [
            "config.model",
            "config.route_type"
          ]
        }
      ]
    },
    {
      "group_name": "Other OpenAI processing routes",
      "examples": [
        {
          "slug": "batches-route-type",
          "config": {
            "route_type": "llm/v1/batches",
            "model_name_header": false,
            "auth": {
              "header_name": "Authorization",
              "header_value": "Bearer $OPENAI_API_KEY"
            },
            "model": {
              "provider": "openai"
            }
          },
          "env": {
            "OPENAI_API_KEY": "The API key to use to connect to OpenAI."
          },
          "required_fields": [
            "config.model",
            "config.route_type"
          ]
        }
      ]
    }
  ]
}