Override LLM provider settings per session Appium AI uses an LLM provider configured by your Kobiton administrator by default. You can override those settings for a single Appium session by passing kobiton:* desired capabilities. Use this to: Route AI requests through your own OpenAI, Azure OpenAI, or local LLM endpoint to meet compliance or data residency requirements. Use a different model without requiring an administrator to update the default configuration. Run AI features against a local LLM for air-gapped or cost-sensitive environments. Prerequisites A Kobiton administrator has enabled the LLM client. You have an API key or reachable local endpoint for the LLM provider you want to use. Available capabilities Capability names are case-insensitive. If a capability is omitted, the session uses the default value configured by your Kobiton admin. Capability Purpose Overrides Default kobiton:llmBaseUrl LLM provider base URL. LlmClient.BaseUrl https://api.openai.com/v1 kobiton:llmApiKey LLM provider API key. Required in either dc.ini or capabilities. LlmClient.ApiKey (none) kobiton:llmApiFormat API protocol format. LlmClient.ApiFormat OpenAiResponses kobiton:llmAzureApiVersion Required only when using Azure OpenAI formats. LlmClient.AzureApiVersion 2024-02-01 kobiton:llmTextModel Model used for UI tree-based operations (XPath/CSS generation). For Azure, pass the deployment name. LlmClient.TextModel gpt-5.2 kobiton:llmVisionModel Model used for vision-based operations (screenshot analysis). Must support image input. For Azure, pass the deployment name. LlmClient.VisionModel gpt-5.2 kobiton:llmApiFormat supports the following values: OpenAiResponses OpenAiChatCompletions AzureOpenAiV1ChatCompletions AzureOpenAiChatCompletions Examples OpenAI (default endpoint, customer API key) desired_capabilities = { 'kobiton:llmApiKey': '<your-openai-key>', 'kobiton:llmTextModel': 'gpt-4o', 'kobiton:llmVisionModel': 'gpt-4o', } Azure OpenAI desired_capabilities = { 'kobiton:llmBaseUrl': 'https://my-resource.openai.azure.com', 'kobiton:llmApiKey': '<your-azure-key>', 'kobiton:llmApiFormat': 'AzureOpenAiV1ChatCompletions', 'kobiton:llmAzureApiVersion': '2024-02-01', 'kobiton:llmTextModel': 'my-gpt4o-deployment', 'kobiton:llmVisionModel': 'my-gpt4o-deployment', } For Azure, llmTextModel and llmVisionModel use the Azure deployment name, not the underlying model name. Local LLM endpoint (Ollama) desired_capabilities = { 'kobiton:llmBaseUrl': 'http://localhost:11434', 'kobiton:llmApiKey': '<token-or-placeholder>', 'kobiton:llmApiFormat': 'OpenAiChatCompletions', 'kobiton:llmTextModel': '<local-model-name>', 'kobiton:llmVisionModel': '<vision-capable-local-model>', } Ollama exposes an OpenAI-compatible chat completions API, so kobiton:llmApiFormat must be set to OpenAiChatCompletions. Local endpoints are resolved from the host running the Appium session. For example, localhost refers to the Mac mini running the session. Notes Capabilities apply only to the session that passed them; other sessions continue to use the defaults. kobiton:llmApiFormat must match the provider used by kobiton:llmBaseUrl. Vision-based features require a model that accepts image input such as screenshots.