Skip to main content
The text provider creates outlines, writes slide content, and powers AI-assisted edits. Set LLM to one provider identifier and supply that provider’s required credentials and model.

Supported providers

Set CAN_CHANGE_KEYS=false to prevent provider keys from being changed in the UI.

ChatGPT sign-in through Codex

Use this provider when you want to authenticate with an existing free or paid ChatGPT account instead of an OpenAI API key.
Docker must publish the OAuth callback port in addition to the application port:
Open Presenton, select Sign in with ChatGPT, and complete the browser flow. OpenAI redirects the browser to http://localhost:1455/auth/callback, so omitting the callback mapping prevents containerized sign-in from completing. The source repository’s Compose services already publish this port.
Port 1455 is only for ChatGPT/Codex OAuth. The REST API and MCP server both use the normal Presenton web port.

Complete ChatGPT/Codex recipe

See Docker Run, Compose, supported model identifiers, and remote-host port forwarding.

Hosted-provider examples

Cloud-provider authentication

Vertex AI

Use either an API key or Google Cloud project authentication—not both.

Azure OpenAI

Provide at least one supported endpoint or base URL. If your Azure configuration uses a deployment name distinct from the model, set the corresponding deployment variable as well.

Configure Amazon Bedrock

Choose an authentication method, model ID or inference profile, and the required IAM permissions.

Local and compatible providers

Ollama

LM Studio

Presenton appends /v1 to the LM Studio base URL when needed.

Custom OpenAI-compatible API

Use DISABLE_THINKING=true when a compatible model’s reasoning mode causes unwanted behavior. Use EXTENDED_REASONING only with a provider and model that supports it.

Apply and test changes

Restart the container after changing environment variables:
Generate a short test presentation before relying on a new model in production. Provider access, supported model names, regional availability, and account quotas can all affect generation.
A model being available from a provider does not guarantee that your account can invoke it. Confirm access and quotas in the provider console when authentication succeeds but generation fails.