> ## Documentation Index
> Fetch the complete documentation index at: https://docs.aipower.org/llms.txt
> Use this file to discover all available pages before exploring further.

# AI Providers

> Connect the model providers and service integrations used by AI Puffer.

## Overview

AI Puffer uses a <Tooltip headline="Bring your own key" tip="You use your own provider account and API key. AI Puffer does not include provider credits.">bring-your-own-key</Tooltip> model. Add your provider credentials, sync models, then choose the provider and model inside each module.

<Info>
  When you purchase AI Puffer Pro, you get access to additional plugin features. API usage is separate. You still need your own provider account and billing setup for OpenAI, Google, Anthropic, xAI, or any other provider you connect. AI Puffer does not include API credits.
</Info>

<Columns cols={2}>
  <Card title="OpenAI" icon="https://mintcdn.com/aipuffer-a96fe641/65Dxat_5K2P6C8ev/images/logos/providers/openai.svg?fit=max&auto=format&n=65Dxat_5K2P6C8ev&q=85&s=2d699fd830ab01b49e3e70a7743e2a43" href="#openai" horizontal width="16" height="16" data-path="images/logos/providers/openai.svg">
    Text, images, embeddings, speech, web, and realtime.
  </Card>

  <Card title="Google" icon="https://mintcdn.com/aipuffer-a96fe641/65Dxat_5K2P6C8ev/images/logos/providers/google.svg?fit=max&auto=format&n=65Dxat_5K2P6C8ev&q=85&s=a3d22c630b1174f3208368eb26c1c496" href="#google" horizontal width="16" height="16" data-path="images/logos/providers/google.svg">
    Gemini, images, video, embeddings, TTS, and grounding.
  </Card>

  <Card title="Anthropic" icon="https://mintcdn.com/aipuffer-a96fe641/X0nqw4JBEOZDBlpE/images/logos/providers/anthropic.svg?fit=max&auto=format&n=X0nqw4JBEOZDBlpE&q=85&s=01dce22ab6f88bc2c8e8e550b9e7f057" href="#anthropic" horizontal width="16" height="16" data-path="images/logos/providers/anthropic.svg">
    Text, web search, and supported image analysis.
  </Card>

  <Card title="OpenRouter" icon="https://mintcdn.com/aipuffer-a96fe641/65Dxat_5K2P6C8ev/images/logos/providers/openrouter.svg?fit=max&auto=format&n=65Dxat_5K2P6C8ev&q=85&s=d1f5fd38d03c2add42f26eacd3173455" href="#openrouter" horizontal width="16" height="16" data-path="images/logos/providers/openrouter.svg">
    Access many text, image, embedding, and web-capable models.
  </Card>

  <Card title="Azure" icon="https://mintcdn.com/aipuffer-a96fe641/65Dxat_5K2P6C8ev/images/logos/providers/azure.svg?fit=max&auto=format&n=65Dxat_5K2P6C8ev&q=85&s=ce5f475072ef2858a2ed72ff542da5f4" href="#azure" horizontal width="16" height="16" data-path="images/logos/providers/azure.svg">
    Azure OpenAI deployments for text, images, embeddings, and speech.
  </Card>

  <Card title="DeepSeek" icon="https://mintcdn.com/aipuffer-a96fe641/65Dxat_5K2P6C8ev/images/logos/providers/deepseek.svg?fit=max&auto=format&n=65Dxat_5K2P6C8ev&q=85&s=9061a37597ffbfb787eab8d88cc5d432" href="#deepseek" horizontal width="16" height="16" data-path="images/logos/providers/deepseek.svg">
    Text generation for chat, writing, forms, and automations.
  </Card>

  <Card title="xAI" icon="sparkles" href="#xai" horizontal>
    Grok text models, web search, supported image analysis, and image generation.
  </Card>

  <Card title="Ollama" icon="https://mintcdn.com/aipuffer-a96fe641/65Dxat_5K2P6C8ev/images/logos/providers/ollama.svg?fit=max&auto=format&n=65Dxat_5K2P6C8ev&q=85&s=6e6dcc958f8fec88dc4469962d919ea9" href="#ollama" horizontal width="16" height="16" data-path="images/logos/providers/ollama.svg">
    Local or self-hosted text and embedding models.
  </Card>
</Columns>

AI providers power text, image, audio, <Tooltip headline="Embeddings" tip="Numerical representations of text used for vector search and knowledge retrieval.">embedding</Tooltip>, and retrieval features.

| Provider   | Text | Images | Embeddings | Audio     | Video | Web | Realtime |
| ---------- | ---- | ------ | ---------- | --------- | ----- | --- | -------- |
| OpenAI     | ✓    | ✓      | ✓          | TTS + STT | -     | ✓   | ✓        |
| Google     | ✓    | ✓      | ✓          | TTS       | ✓     | ✓   | -        |
| Anthropic  | ✓    | -      | -          | -         | -     | ✓   | -        |
| OpenRouter | ✓    | ✓      | ✓          | -         | -     | ✓   | -        |
| Azure      | ✓    | ✓      | ✓          | STT       | -     | -   | -        |
| DeepSeek   | ✓    | -      | -          | -         | -     | -   | -        |
| xAI        | ✓    | ✓      | -          | -         | -     | ✓   | -        |
| Ollama     | ✓    | -      | ✓          | -         | -     | -   | -        |

`✓` means supported. `-` means not supported in the current provider strategy.

**AI Puffer > Settings** is the central area for managing your connections to different AI providers.

<Frame>
  <img src="https://mintcdn.com/aipuffer-a96fe641/65Dxat_5K2P6C8ev/images/screenshots/ai-providers/settings.png?fit=max&auto=format&n=65Dxat_5K2P6C8ev&q=85&s=9f7882da237a95d31b6f28f86328f14b" alt="Settings" width="2118" height="1412" data-path="images/screenshots/ai-providers/settings.png" />
</Frame>

## OpenAI

OpenAI supports the widest set of AI Puffer features.

1. Open **AI Puffer > Settings > AI**.
2. Select **OpenAI**.
3. Paste your OpenAI API key.
4. Keep the default base URL unless you use a compatible custom endpoint.
5. Open **Advanced** and click **Sync Models**.
6. Select the model you want to use by default.

For knowledge features, OpenAI embedding models are available in embedding model selectors. OpenAI Vector Stores are created and managed in **Knowledge Base > Stores**.

<Frame>
  <img src="https://mintcdn.com/aipuffer-a96fe641/ItRQV5nJxQuQNGvH/images/screenshots/ai-providers/openai-api-key-settings.png?fit=max&auto=format&n=ItRQV5nJxQuQNGvH&q=85&s=82c7fa6dc237419a1f787ae251f2ac12" alt="OpenAI API key settings" width="2130" height="1198" data-path="images/screenshots/ai-providers/openai-api-key-settings.png" />
</Frame>

## Google

Google provides Gemini, embeddings, image/video models, text to speech, and grounding.

1. Open **AI Puffer > Settings > AI**.
2. Select **Google**.
3. Paste your Google API key.
4. Open **Advanced** and click **Sync Models**.
5. Select the default model.
6. Review Google safety settings if you need to change blocking thresholds.

Google image and video model settings are configured in Images.

<Info>
  Google safety settings can block some responses. Change them only when the default behavior is too restrictive for your site.
</Info>

<Frame>
  <img src="https://mintcdn.com/aipuffer-a96fe641/ItRQV5nJxQuQNGvH/images/screenshots/ai-providers/google-api-key-settings.png?fit=max&auto=format&n=ItRQV5nJxQuQNGvH&q=85&s=8e6d9f5a7616f1aad43cc4cd90af1b87" alt="Google API key settings" width="2130" height="1202" data-path="images/screenshots/ai-providers/google-api-key-settings.png" />
</Frame>

## Anthropic

Anthropic is available for text workflows, web search, and supported Claude image analysis models.

1. Open **AI Puffer > Settings > AI**.
2. Select **Anthropic**.
3. Paste your Anthropic API key.
4. Open **Advanced** and click **Sync Models**.
5. Select the default model.

Anthropic does not provide embeddings through the current AI Puffer provider strategy.

<Frame>
  <img src="https://mintcdn.com/aipuffer-a96fe641/X0nqw4JBEOZDBlpE/images/screenshots/ai-providers/claude-api-key-settings.png?fit=max&auto=format&n=X0nqw4JBEOZDBlpE&q=85&s=37ef76a7b211c7e2fe78deaca477bd27" alt="Anthropic API key settings" width="2098" height="922" data-path="images/screenshots/ai-providers/claude-api-key-settings.png" />
</Frame>

## OpenRouter

OpenRouter gives access to models available in your OpenRouter account.

1. Open **AI Puffer > Settings > AI**.
2. Select **OpenRouter**.
3. Paste your OpenRouter API key.
4. Open **Advanced** and click **Sync Models**.
5. Select the default model.

Some capabilities depend on the selected model.

<Info>
  OpenRouter support depends on the model you select. Check the model capabilities before using image, embedding, or web features.
</Info>

<Frame>
  <img src="https://mintcdn.com/aipuffer-a96fe641/ItRQV5nJxQuQNGvH/images/screenshots/ai-providers/openrouter-api-key-settings.png?fit=max&auto=format&n=ItRQV5nJxQuQNGvH&q=85&s=dfc61ee87a729d9f0ecbe3bf68876170" alt="OpenRouter API key settings" width="2130" height="1202" data-path="images/screenshots/ai-providers/openrouter-api-key-settings.png" />
</Frame>

## Azure

Azure uses your Azure OpenAI <Tooltip headline="Deployment" tip="The deployment name you created in Azure OpenAI for a model.">deployments</Tooltip>.

1. Open **AI Puffer > Settings > AI**.
2. Select **Azure**.
3. Paste your Azure API key.
4. Enter the Azure endpoint URL for your resource.
5. Open **Advanced**.
6. Check the API versions if your Azure resource requires different versions.
7. Click **Sync Models** to load deployments.
8. Select the deployment to use as the default model.

<Info>
  Azure uses deployment names. If a deployment does not appear, confirm it exists in Azure and that the endpoint and API key belong to the same resource.
</Info>

<Frame>
  <img src="https://mintcdn.com/aipuffer-a96fe641/ItRQV5nJxQuQNGvH/images/screenshots/ai-providers/azure-api-key-settings.png?fit=max&auto=format&n=ItRQV5nJxQuQNGvH&q=85&s=0470a54303637a6105b3f69a8c909e8f" alt="Azure API key settings" width="2130" height="1302" data-path="images/screenshots/ai-providers/azure-api-key-settings.png" />
</Frame>

## DeepSeek

DeepSeek is available for text workflows.

1. Open **AI Puffer > Settings > AI**.
2. Select **DeepSeek**.
3. Paste your DeepSeek API key.
4. Open **Advanced** and click **Sync Models**.
5. Select the default model.

DeepSeek embeddings are not supported by the current provider strategy. Use OpenAI, Google, Azure, OpenRouter, or Ollama for embedding workflows.

<Frame>
  <img src="https://mintcdn.com/aipuffer-a96fe641/ItRQV5nJxQuQNGvH/images/screenshots/ai-providers/deepseek-api-key-settings.png?fit=max&auto=format&n=ItRQV5nJxQuQNGvH&q=85&s=923c3755b759e0b0408862a61ecd2552" alt="DeepSeek API key settings" width="2130" height="1200" data-path="images/screenshots/ai-providers/deepseek-api-key-settings.png" />
</Frame>

## xAI

xAI is available for text workflows, Grok models, web search, supported image analysis models, and image generation.

1. Open **AI Puffer > Settings > AI**.
2. Select **xAI**.
3. Paste your xAI API key.
4. Keep the default base URL unless you use a compatible xAI endpoint.
5. Keep the API version as `v1`.
6. Open **Advanced** and click **Sync Models**.
7. Select the default text model.

AI Puffer uses xAI's Responses API for text generation and streaming. Legacy completions and chat completions are not used by this provider integration.

xAI image generation and image editing use xAI image models such as `grok-imagine-image`. xAI image understanding uses Grok language models that support image input.

xAI is not available as an embedding provider, vector store provider, video provider, speech provider, or realtime voice provider in the current integration.

<Frame>
  <img src="https://mintcdn.com/aipuffer-a96fe641/Bf6V3y3ZKUVTKNhl/images/screenshots/ai-providers/xai-api-key-settings.png?fit=max&auto=format&n=Bf6V3y3ZKUVTKNhl&q=85&s=b317aea4baf26c7040438f54a55496c6" alt="xAI API key settings" width="2098" height="922" data-path="images/screenshots/ai-providers/xai-api-key-settings.png" />
</Frame>

## Ollama

Ollama connects local or self-hosted models.

1. Install Ollama from [ollama.com/download](https://ollama.com/download).
2. Run Ollama on the computer or server you want to use as the AI server.
3. Pull a model:

```bash theme={null}
ollama pull llama3
```

4. Open **AI Puffer > Settings > AI**.
5. Select **Ollama**.
6. Enter the Ollama base URL. The default is `http://localhost:11434`.
7. Click **Sync Models**.
8. Select the default model.

Install notes:

| System  | Notes                                                                                            |
| ------- | ------------------------------------------------------------------------------------------------ |
| macOS   | Download the macOS ZIP, move Ollama to Applications, then run the app.                           |
| Windows | Run the Windows installer. Ollama runs in the background after installation.                     |
| Linux   | Run `curl -fsSL https://ollama.com/install.sh \| sh`. The installer sets up Ollama as a service. |

You can pull more than one model. AI Puffer shows synced Ollama models after **Sync Models** runs.

<Warning>
  If WordPress and Ollama are on different servers, do not use `localhost` unless Ollama is running on the same server as WordPress. Use the reachable server URL instead.
</Warning>

<Danger>
  Do not expose Ollama publicly without access controls. Anyone who can reach the Ollama server can send model requests to it.
</Danger>

<Frame>
  <img src="https://mintcdn.com/aipuffer-a96fe641/ItRQV5nJxQuQNGvH/images/screenshots/ai-providers/ollama-api-key-settings.png?fit=max&auto=format&n=ItRQV5nJxQuQNGvH&q=85&s=014687c07d58dd9c880bd9e6f772cd74" alt="Ollama API key settings" width="2130" height="910" data-path="images/screenshots/ai-providers/ollama-api-key-settings.png" />
</Frame>

## Troubleshooting

<AccordionGroup>
  <Accordion title="Quota exceeded">
    The provider account is out of credits, has reached a spend limit, or is blocked by billing settings.

    Check these items:

    1. Open the provider billing page.
    2. Check credits, usage limits, and monthly spend limits.
    3. Add credits or update billing if needed.
    4. If you just changed billing, wait a few minutes and try again.

    For OpenAI, see [error codes](https://developers.openai.com/api/docs/guides/error-codes).
  </Accordion>

  <Accordion title="Incorrect API key">
    The saved key is wrong, old, revoked, copied with extra spaces, or belongs to a different account or organization.

    Check these items:

    1. Create or copy a fresh API key from the provider dashboard.
    2. Paste it again in **AI Puffer > Settings > AI**.
    3. Save the setting.
    4. Sync models again.

    For OpenAI, see [Incorrect API key provided](https://help.openai.com/en/articles/6882433-incorrect-api-key-provided).
  </Accordion>

  <Accordion title="Model is missing">
    AI Puffer syncs models when you switch providers, but the list can be out of date.

    Check these items:

    1. Open **AI Puffer > Settings > AI**.
    2. Select the provider.
    3. Open **Advanced**.
    4. Click **Sync Models**.
    5. Open **Settings > Others**.
    6. Click **Clear Model Cache**.
    7. Click **Clear Transients**.
    8. Click **Sync All**.
    9. Return to **Settings > AI** and check the model list again.

    <Frame>
      <img src="https://mintcdn.com/aipuffer-a96fe641/ItRQV5nJxQuQNGvH/images/screenshots/ai-providers/settings-others-model-cache.png?fit=max&auto=format&n=ItRQV5nJxQuQNGvH&q=85&s=e0c123ad1eb8b79fe1e61a0915267564" alt="Settings Others model cache buttons" width="2130" height="1140" data-path="images/screenshots/ai-providers/settings-others-model-cache.png" />
    </Frame>

    If the model still does not appear, confirm the provider account has access to that model.
  </Accordion>

  <Accordion title="Organization must be verified">
    Some OpenAI models require a verified API organization.

    Check these items:

    1. Open OpenAI Platform settings.
    2. Go to **Organization > General**.
    3. Complete organization verification.
    4. Wait up to 30 minutes.
    5. Generate a new API key if the error continues.
    6. Make sure AI Puffer is using a key from the verified organization.

    For OpenAI, see [API Organization Verification](https://help.openai.com/en/articles/10910291-api-organisation-verifiering).
  </Accordion>

  <Accordion title="Unexpected JSON error">
    A WordPress security plugin or firewall may be blocking AI Puffer settings requests.

    Check these items:

    1. Check your security plugin or firewall logs.
    2. Whitelist AI Puffer admin requests if your tool supports allow rules.
    3. If using Wordfence or a similar firewall, switch to learning mode.
    4. Save AI Puffer settings and use the affected module a few times.
    5. Switch the firewall back to normal mode after it learns the requests.
  </Accordion>
</AccordionGroup>
