---
title: "Configuration"
manual: "AI Universe"
version: "1.0"
permalink: "https://docs.typo3.org/permalink/nitsan/ns-aiuniverse:configuration@1.0"
source: "Configuration/Index.rst"
rendered: "2026-10-19T14:06:07+00:00"
---

# Configuration {#configuration}

This extension is configured through TYPO3 Extension Configuration values
defined in [`ext_conf_template.txt`](https://docs.typo3.org/m/typo3/reference-coreapi/main/en-us/ExtensionArchitecture/FileStructure/ExtConfTemplate.html#file-extension-ext-conf-template-txt).

-   [Configuration overview](https://docs.typo3.org/permalink/nitsan/ns-aiuniverse:configuration-overview-1@1.0)
-   [Minimum production configuration](https://docs.typo3.org/permalink/nitsan/ns-aiuniverse:minimum-production-configuration@1.0)
-   [Provider keys](https://docs.typo3.org/permalink/nitsan/ns-aiuniverse:provider-keys@1.0)
-   [Basic authentication](https://docs.typo3.org/permalink/nitsan/ns-aiuniverse:basic-authentication@1.0)
-   [Translation-related settings](https://docs.typo3.org/permalink/nitsan/ns-aiuniverse:translation-related-settings@1.0)
-   [Security recommendations](https://docs.typo3.org/permalink/nitsan/ns-aiuniverse:security-recommendations@1.0)

## Configuration overview {#configuration-overview}

Main groups include:

-   AI engine defaults
-   Provider-specific API keys and models
-   Embedding model settings
-   Translation provider defaults
-   Basic authentication options

## Minimum production configuration {#configuration-minimum}

For a working setup:

1.  Set `defaultModel` (for example `openai`, `gemini`, `claude`, `mistral`).
1.  Add API key for the selected provider.
1.  Set provider default model.
1.  Keep token and temperature values aligned with your usage/cost policy.

## Provider keys {#configuration-provider-keys}

Commonly used keys:

-   **OpenAI**

    `openai_api_key`, `openai_model`, `openai_temperature`,
    `openai_max_tokens`, `openai_embedding_model`,
    `openai_admin_api_key`

-   **Anthropic / Claude**

    `anthropic_api_key`, `anthropic_model`,
    `anthropic_temperature`, `anthropic_max_tokens`

-   **Gemini**

    `gemini_api_key`, `gemini_model`, `gemini_embedding_model`

-   **Azure**

    `azure_api_key`, `azure_api_endpoint`,
    `azure_api_model`, `azure_api_version`

-   **Mistral**

    `mistral_api_key`, `mistral_model`,
    `mistral_embedding_model`, `mistral_temperature`,
    `mistral_max_tokens`

-   **DeepSeek**

    `deepseek_api_key`, `deepseek_model`,
    `deepseek_temperature`, `deepseek_response_format`

-   **xAI**

    `xai_api_key`, `xai_model`,
    `xai_temperature`, `xai_response_format`

-   **Custom LLM**

    `enable_custom_llm_model`, `custom_llm_api_url`,
    `custom_llm_api_key`, `custom_llm_model_name`,
    `custom_llm_temperature`

## Basic authentication {#configuration-basic-auth}

Use these keys when your source URLs are protected:

-   `basicAuthEnabled`
-   `basicAuthUsername`
-   `basicAuthPassword`

The helper `HttpAuthUtility` retries `401/403` requests with basic auth
when this is enabled and fully configured.

## Translation-related settings {#configuration-translation}

Translation provider defaults are configured via:

-   `defaultModelForTranslation`
-   `deepl_api_key`, `deepl_api_url`
-   `google_api_key`, `google_api_url`

## Security recommendations {#configuration-security}

-   Restrict backend access to trusted administrators.
-   Rotate provider API keys regularly.
-   Avoid sharing backend screenshots that expose secrets.
-   Use dedicated provider keys per environment when possible.

> [!WARNING]
> API keys are stored in extension configuration. Ensure your operational
> processes, backups, and access control policies treat them as sensitive data.
