How to navigate to this page
Open the left sidebar → Workspace Settings → AI Models. The page opens on the Providers tab by default. Click the LLM tab to configure language models.Add your first LLMs model
Open AI Models settings
Go to the LLMs tab
Find your provider
Open the configuration panel
Fill in the required fields
Set optional fields (if needed)
- Model Friendly Name — a human-readable label shown in chat (e.g. “My GPT-5”). Optional.
- Context Length — the model’s context window in tokens, from 1,024 to 20,000,000. Leave it empty and PipesHub assumes 128,000.
- Multimodal toggle — enable if this model can accept image input. On by default.
- Reasoning toggle — enable for chain-of-thought / o-series style models. On by default.
Save and validate
First model becomes the default
Provider reference
The table below lists every supported LLMs provider, the fields you must fill in, and example model name strings.Azure OpenAI — Deployment Name: This is the name you assigned when deploying the model in Azure AI Studio, not the model ID itself. Azure AI — Endpoint URL format: Usehttps://<resource>.inference.ai.azure.com/anthropicfor Claude models, orhttps://<resource>.cognitiveservices.azure.com/openai/v1/for OpenAI, DeepSeek, and other models. OpenAI Compatible: Use this for any provider that speaks the OpenAI API format (e.g.https://api.together.xyz/v1/). Ollama: No API key is required for a local Ollama instance. The endpoint defaults tohttp://host.docker.internal:11434. Ensure the Ollama server is reachable from the PipesHub Docker network. Amazon Bedrock: If PipesHub is running on an EC2 instance with an appropriate IAM role attached, you can leave the AWS Access Key ID and Secret Access Key blank.
Managing configured models
After saving, your model appears under the Configured tab. Each row has the following actions:- Edit — update credentials or settings without deleting the configuration.
- Set as Default — make this model the one used by all AI features by default.
- Delete — permanently remove the configuration. You will be asked to type the model’s name to confirm.
Troubleshooting
If the health check fails when you save a model, the dialog shows the check’s message word for word. The one exception is an embedding model refused because content is indexed with another model; see Changing the embedding model in use.- The API key is correct and has not expired.
- For Azure providers, the endpoint URL matches the correct region and resource.
- For Ollama, the server is running and the Docker internal hostname resolves correctly.
- The model name string exactly matches what the provider API expects (check the provider’s documentation for valid model IDs).
Health check error messages
These are the messages a chat model’s check returns. Embedding, image, speech and speech-to-text models get most of the same messages; the differences are in Health check messages for other model types. The provider refused the settings (400). The message names the setting to fix:- A rejected key: “The API key for <model name> was rejected by <provider>. Check the key in Workspace > AI Models, then try again.”
- A missing model or a wrong endpoint path: “<provider> couldn’t find the model “<name>” at this endpoint. Check the model name (or deployment name) and the endpoint address in Workspace > AI Models, then try again.”
- An unreachable endpoint: “Couldn’t reach <provider> at the endpoint in these settings. Check the endpoint address and that PipesHub can connect to it, then try again.”
- Any other request the provider refused: “<provider> refused these chat model settings. Check the model name and its options (such as reasoning effort or context length), then try again.”
- An endpoint that isn’t an http or https URL: “Model endpoint ‘<endpoint>’ must be an http(s) URL.”
- A link-local or cloud metadata IP address (such as
169.254.169.254), or the namemetadata.google.internal: “Model endpoint ‘<endpoint>’ is a link-local or cloud metadata address, which is never allowed.” - Only when
PIPESHUB_BLOCK_PRIVATE_ADDRESSESis on: a private IP address,localhost, a one-word service name, or a name ending in.internal,.local,.localhostor.svc(for examplehost.docker.internal): “Model endpoint ‘<endpoint>’ is a private or internal address, which this deployment does not allow (PIPESHUB_BLOCK_PRIVATE_ADDRESSES).”
- A link-local, unspecified or cloud metadata address: “Model endpoint ‘<endpoint>’ resolves to a link-local, unspecified or cloud metadata address, which is never allowed.”
- Only when
PIPESHUB_BLOCK_PRIVATE_ADDRESSESis on, a private address: “Model endpoint ‘<endpoint>’ resolves to a private or internal address, which this deployment does not allow (PIPESHUB_BLOCK_PRIVATE_ADDRESSES).”
- No address for the name: “Model endpoint ‘<endpoint>’ does not resolve: no address was found for its host name.”
- A temporary DNS failure: “Model endpoint ‘<endpoint>’ could not be checked: temporary DNS failure. Try again.”
HTTP_PROXY or HTTPS_PROXY (and not excluded by NO_PROXY), because the name may resolve only on the proxy’s side.
The Ollama address the deployment sets in OLLAMA_API_URL is exempt from the private-address check and is not looked up.
Other checks made before or instead of asking the provider:
- No model name (400): “No valid model names found in configuration”
- A context length outside 1,024 to 20,000,000 tokens (400): “Context length <value> is not a usable window. Set it to the model’s context window in tokens (between 1,024 and 20,000,000), or leave it empty to assume 128,000.”
- A default reasoning effort that isn’t a valid choice (400): “This model’s default reasoning effort is ‘<value>’, which isn’t a valid choice. Set it to low, medium, high or max, or remove it to use the platform default.”
- PipesHub has no internet access for a cloud provider (500): “Cannot reach cloud LLM providers from PipesHub. The container may not have outbound internet access. Cloud LLMs and external connectors require container egress; air-gapped installs should use local models (Ollama, LM Studio). See deployment/docker-compose/ADVANCED_DEPLOYMENT.md#container-outbound-connectivity.”
- The provider took too long (504): “LLM health check timed out. For cloud providers, verify your API key and that PipesHub containers can reach the internet. See deployment/docker-compose/ADVANCED_DEPLOYMENT.md#container-outbound-connectivity.” If the dialog’s own request times out before any response arrives, the dialog shows “Request timed out while validating the model. Cloud providers need outbound internet from the PipesHub container — see deployment/docker-compose/ADVANCED_DEPLOYMENT.md#container-outbound-connectivity.”
- The model answered with no text: “Model accepted the request but returned an empty response”
- With Multimodal on (the default for chat models), the model refused the test image: “Model doesn’t support images/vision.”
- With Multimodal on, the model took the test image but answered with no text: “Model accepted the image but returned an empty response”
Health check messages for other model types
Embedding, image, speech and speech-to-text models get the same endpoint messages as a chat model, and the same messages for a rejected key, a missing model and an unreachable endpoint. These messages differ by model type:- The model refused the image: “Model cannot embed images.”
- PipesHub can’t embed images with this provider: “Provider ‘<provider>’ has no image-embedding support in PipesHub, so images would never be indexed for this model.”
- Image and text vectors differ in size: “Image embeddings are <n>-dimensional but text embeddings are <m>-dimensional; both share one collection.”
Changing the embedding model in use
Adding or editing the embedding model that will be in use (the first one you add, or the one already in use) is also checked against what the vector store already holds. The dialog shows:- Content is indexed with another embedding model (400): “This model is embedding your indexed content. Delete the embeddings in Labs first, then change or delete the model and re-embed.”
- PipesHub can’t read what the vector store holds (503): “Could not verify what the vector store currently holds, so an embedding model change cannot be validated. Check vector store connectivity and retry.”
- The vector store is empty but couldn’t be rebuilt for the new model (503): “The vector store could not be rebuilt for the new embedding model, so the model was not changed. The empty collection may already have been removed; it is created again on the next upload. Check that the vector store is reachable and try again.”
A chat stops answering
If a chat stops answering after a key expires or a model is removed at the provider, the chat says so and asks users to contact an admin. Update the model on the AI Models settings page, or set another model as the default.Embedding models
Embedding models convert documents and search queries into numerical vectors so PipesHub can find semantically similar content. They power document indexing, semantic search, and retrieval across your workspace. At least one embedding model must be configured before you can index documents or use search. PipesHub ships with BAAI/bge-large-en-v1.5 built-in as the system default — it works out of the box with no configuration required. Connect an external provider only if you need a different model.How to navigate to this page
Open the left sidebar → Workspace Settings → AI Models. Click the Embedding tab.Add an embedding model
Open AI Models settings
Go to the Embedding tab
Find your provider
Open the configuration panel
Fill in the required fields
Set optional fields (if needed)
- Model Friendly Name — a human-readable label for this configuration.
- Output Dimensions — override the vector size (1–65,536). Leave blank to use the model default. Only supported by select models (e.g. OpenAI text-embedding-3-* series).
- Multimodal toggle — enable if this model can embed images as well as text (off by default).
Save and validate
First model becomes the default
Embedding provider reference
Azure OpenAI — Deployment Name: This is the name you assigned when deploying the model in Azure, not the model ID itself. Azure AI — Endpoint URL format:https://<resource>.services.ai.azure.com/openai/v1/OpenAI Compatible: Use this for any provider that speaks the OpenAI embeddings API format. Ollama: No API key required for a local instance. Endpoint defaults tohttp://host.docker.internal:11434. Sentence Transformers / HuggingFace: Run locally inside PipesHub. No external API or API key needed. Amazon Bedrock: Leave AWS keys blank when running PipesHub on EC2 with an appropriate IAM role. Provider dropdown: Cohere, Amazon (Titan), Other.
Managing configured embedding models
After saving, your model appears under the Configured tab. Each row has the following actions:- Edit — update credentials or settings without deleting the configuration.
- Set as Default — make this model the one used for all new document indexing and search.
- Delete — permanently remove the configuration. You will be asked to type the model’s name to confirm.
nomic-ai/nomic-embed-text and nomic-embed-text) counts as unchanged: the change is saved and the stored vectors are kept. The embedding model in use is the default one, or the first configured model if none is marked default. With no embedding model configured, the built-in BAAI/bge-large-en-v1.5 embeds your content.The refusal covers adding your first embedding model when content is already embedded with the built-in model, setting another model as default, deleting the model in use, and editing the model in use to change its model name or Output Dimensions. Adding, editing and deleting are refused with: “This model is embedding your indexed content. Delete the embeddings in Labs first, then change or delete the model and re-embed.” Set as Default shows “Failed to set default model”. In every case the model in use stays the same. The first model you add sizes the vector store only when the store is empty.To change or delete the embedding model in use:- Under Labs → Feature flags, turn on Enable Vector Store Rebuild and click Save. The Vector Store section appears in Labs.
- In Labs → Vector Store, click Clean up, type
DELETE, and click Delete embeddings. The button stays disabled until the word is typed. - Wait for the cleanup to finish. It runs in the background, and until it finishes the old vectors are still stored, so the change in step 4 is refused.
- Add, edit, set as default, or delete the embedding model.
- In Labs → Vector Store, click Reindex, type
REINDEX, and click Start reindex. If the cleanup is still running, the reindex is refused with “A search index cleanup or reindex is already running. Wait for it to finish, then try again.” or “Vector-store cleanup is still dropping the collection”. Wait a little and try again.
Troubleshooting
- The API key is correct and has not expired.
- For Azure providers, the endpoint URL matches the correct region and resource.
- For Ollama, Sentence Transformers, and HuggingFace, confirm the model name is available locally.
- The model name exactly matches what the provider API expects (check provider docs for valid IDs).
- Output Dimensions is only supported by models that expose a dimensions parameter (e.g. OpenAI text-embedding-3-* series). Setting it on unsupported models will cause errors.
Image Generation models
Image generation models allow AI agents and workflows in PipesHub to generate images from text prompts. Once configured, these models are available to agents that support image creation tasks. At least one image generation model must be configured before image generation features are available in your workspace. Currently two providers are supported: OpenAI (DALL-E / GPT-Image models) and Gemini (Imagen / Gemini Image models).How to navigate to this page
Open the left sidebar → Workspace Settings → AI Models. Click the Image Generation tab.Add an image generation model
Open AI Models settings
Go to the Image Generation tab
Open the configuration panel
Fill in the required fields
Set an optional friendly name
Save and validate
First model becomes the default
Image generation provider reference
OpenAI: Get your API key at platform.openai.com/api-keys. Gemini: Get your API key at aistudio.google.com/app/apikey. Imagen models require a Google Cloud project with the Vertex AI API enabled, or access via Google AI Studio.
Managing configured image generation models
After saving, your model appears under the Configured tab. Each row has the following actions:- Edit — update credentials or the model name.
- Set as Default — make this the model used when image generation is triggered.
- Delete — permanently remove the configuration. You will be asked to type the model’s name to confirm.
Troubleshooting
- The API key is correct and has not expired.
- The model name exactly matches what the provider API expects (e.g.
dall-e-3, notDALL-E-3). - For Gemini Imagen models, confirm your API key has access to image generation — not all Google AI Studio keys have Imagen enabled by default.
Text to Speech (TTS) models
Text to Speech models convert AI text responses into spoken audio, enabling voice output in AI workflows and agents. Once configured, these models are available wherever PipesHub produces audio output. At least one TTS model must be configured before voice features are available in your workspace. Currently two providers are supported: OpenAI (tts-1, tts-1-hd, gpt-4o-mini-tts) and Gemini (gemini-2.5-flash-preview-tts and related models).How to navigate to this page
Open the left sidebar → Workspace Settings → AI Models. Click the TTS tab.Add a TTS model
Open AI Models settings
Go to the TTS tab
Open the configuration panel
Fill in the required fields
Choose optional settings
- Voice — select a default voice for audio output.
- Audio Format — select the output audio format.
- Model Friendly Name — a custom display label for this configuration.
Save and validate
First model becomes the default
TTS provider reference
OpenAI voices: Alloy, Echo, Fable, Onyx, Nova, Shimmer. Get your API key at platform.openai.com/api-keys. OpenAI audio formats: MP3, Opus, AAC, FLAC, WAV. Gemini voices: 30 prebuilt voices named after astronomical objects — Zephyr, Puck, Charon, Kore, Fenrir, Leda, Orus, Aoede, Callirrhoe, Autonoe, Enceladus, Iapetus, Umbriel, Algieba, Despina, Erinome, Algenib, Rasalgethi, Laomedeia, Achernar, Alnilam, Schedar, Gacrux, Pulcherrima, Achird, Zubenelgenubi, Vindemiatrix, Sadachbia, Sadaltager, Sulafat. Get your API key at aistudio.google.com/app/apikey. Gemini audio formats: WAV and PCM work without any extra dependencies. MP3, Opus, AAC, and FLAC require ffmpeg installed on the PipesHub backend host.
Managing configured TTS models
After saving, your model appears under the Configured tab. Each row has the following actions:- Edit — update credentials, voice, or format settings.
- Set as Default — make this the model used for all TTS output.
- Delete — permanently remove the configuration. You will be asked to type the model’s name to confirm.
Troubleshooting
- The API key is correct and has not expired.
- The model name exactly matches what the provider API expects (e.g.
tts-1, notTTS-1). - For Gemini compressed formats (MP3, Opus, AAC, FLAC), ensure ffmpeg is installed on the machine running the PipesHub backend. WAV and PCM work without any additional dependencies.
Speech to Text (STT) models
Speech to Text models transcribe spoken audio into text, enabling voice input in AI workflows and agents. Once configured, these models power voice-driven interactions across your PipesHub workspace. Four providers are supported: OpenAI and Gemini (cloud APIs), Whisper (self-hosted open-source via faster-whisper), and Wispr Flow (hosted specialist transcription service). At least one STT model must be configured before voice input features are available.How to navigate to this page
Open the left sidebar → Workspace Settings → AI Models. Click the STT tab.Add an STT model
Open AI Models settings
Go to the STT tab
Open the configuration panel
Fill in the required fields
Adjust optional settings
Set an optional friendly name
Save and validate
First model becomes the default
STT provider reference
OpenAI: Get your API key at platform.openai.com/api-keys. Gemini: Get your API key at aistudio.google.com/app/apikey. Whisper (local): No API key required. Runs on your own infrastructure using faster-whisper. Model weights are downloaded from HuggingFace on first use. Optional: Device (Auto/CPU/CUDA), Compute Type (int8/float16/float32), Model Cache Directory. Wispr Flow: Contact enterprise@wisprflow.ai to obtain an API key. Requires ffmpeg on the backend host. Optional: Default Language, App Type, API Endpoint override.
Managing configured STT models
After saving, your model appears under the Configured tab. Each row has the following actions:- Edit — update credentials or settings.
- Set as Default — make this the model used for all speech transcription.
- Delete — permanently remove the configuration. You will be asked to type the model’s name to confirm.
Troubleshooting
- For OpenAI and Gemini: the API key is correct and has not expired.
- For Whisper (local): the faster-whisper package is installed on the backend host. On first use, model weights are downloaded — ensure internet access is available.
- For Wispr Flow: ffmpeg must be installed on the backend host. Confirm your API key is active (contact enterprise@wisprflow.ai if unsure).