> For the complete documentation index, see [llms.txt](https://docs.burpgpt.app/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://docs.burpgpt.app/getting-started/supported-model-providers.md).

# Supported model providers

Choose a hosted, local, or self-hosted model provider and review shared request parameters.

Open the `BurpGPT Pro` tab and select `Provider settings` to choose a provider. The same configuration is used for scanning and AI Chat.

Provider, model, and scanner settings are saved in Burp's user preferences and reused across projects. The [prompt library](/analysis-and-prompts/use-the-prompt-library.md) belongs to the current project instead. Review the active provider and scanner prompt when switching engagements.

## Cloud-based providers

| Provider         | Documentation                                                       |
| ---------------- | ------------------------------------------------------------------- |
| Anthropic        | [Anthropic API documentation](https://docs.anthropic.com/en/home)   |
| Google AI Gemini | [Gemini API documentation](https://ai.google.dev/gemini-api/docs)   |
| Mistral AI       | [Mistral documentation](https://docs.mistral.ai/)                   |
| OpenAI           | [OpenAI API documentation](https://developers.openai.com/api/docs/) |

Cloud providers receive the prompts and traffic you submit. Check their data-handling policies and API access requirements before use. Provider usage is billed separately from BurpGPT Pro.

Follow the [cloud provider setup guide](/model-setup/use-supported-cloud-based-model-providers.md).

## Local and self-hosted providers

* **Ollama:** Connect to an Ollama server through its native API. See [Ollama setup](/model-setup/use-supported-local-model-providers/with-the-ollama-provider.md).
* **OpenAI-compatible API:** Connect to an endpoint that supports OpenAI-compatible chat completions. See [OpenAI-compatible setup](/model-setup/use-supported-local-model-providers/with-openai-compatible-api.md).

Local processing depends on the endpoint and model runtime you choose. Confirm that your deployment does not forward requests to a cloud service if data must remain on your infrastructure.

Run `Test request` after configuring any provider.

When you switch providers, a custom `Base URL` is retained. Review it before testing; clearing the field uses the selected provider's default where one exists. `OpenAI-compatible API` always requires an explicit base URL.

On `Provider settings`, `Manage global settings` → `Reset to defaults` resets the provider and model configuration. It leaves the scanner prompt, scan toggle, and project prompt library unchanged.

## Request parameters

The `Request parameters` editor accepts the following fields for hosted, local, and self-hosted providers. Use this reference with any provider setup guide.

| Parameter           | Value type       |
| ------------------- | ---------------- |
| `temperature`       | Number           |
| `top_p`             | Number           |
| `top_k`             | Integer          |
| `max_tokens`        | Integer          |
| `frequency_penalty` | Number           |
| `presence_penalty`  | Number           |
| `stop`              | Array of strings |

For example:

```json
{
  "temperature": 0.2,
  "max_tokens": 1024
}
```

Use `{}` to leave the parameters unspecified. Unknown field names and invalid value types are highlighted in the editor. Supported parameters and valid ranges vary by provider and model; confirm them in your provider's documentation, then run `Test request`.

Settings save as you edit. An invalid JSON draft leaves the previous saved parameter object in use. A syntactically valid object can still be saved with unsupported fields or types, so fix highlighted errors before testing, scanning, or chatting.

`max_tokens` limits generated output; it does not truncate the HTTP traffic or prompt sent to the model. Use narrower [placeholders](/analysis-and-prompts/use-placeholder-reference.md) if the input exceeds your model's context limit.
