Skip to main content
Skyvern uses LLMs to analyze screenshots and decide what actions to take. You’ll need to configure at least one LLM provider before running tasks.

How Skyvern uses LLMs

Skyvern makes multiple LLM calls per task step:
  1. Screenshot analysis: Identify interactive elements on the page
  2. Action planning: Decide what to click, type, or extract
  3. Result extraction: Parse data from the page into structured output
A task that runs for 10 steps makes roughly 30+ LLM calls. Choose your provider and model tier with this in mind. For most deployments, configure a single provider using LLM_KEY. Skyvern also supports a SECONDARY_LLM_KEY for lighter tasks to reduce costs.

Quick Start Recommendations

Best models for production (2026):

OpenAI

The most common choice. Requires an API key from platform.openai.com.
.env

Available models

Optional settings

.env

Anthropic

Claude models from anthropic.com.
.env

Available models


Azure OpenAI

Microsoft-hosted OpenAI models. Requires an Azure subscription with OpenAI service provisioned.
.env

Setup steps

  1. Create an Azure OpenAI resource in the Azure Portal
  2. Open the Azure AI Foundry portal from your resource’s overview page
  3. Go to Shared ResourcesDeployments
  4. Click Deploy ModelDeploy Base Model → select GPT-4o or GPT-4
  5. Note the Deployment Name. Use this for AZURE_DEPLOYMENT
  6. Copy your API key and endpoint from the Azure Portal
The AZURE_DEPLOYMENT is the name you chose when deploying the model, not the model name itself.

Google Gemini

Skyvern supports Gemini through two paths: the Gemini API (simpler, uses an API key) and Vertex AI (enterprise, uses a GCP service account).

Gemini API

The quickest way to use Gemini. Get an API key from Google AI Studio.
.env

Available Gemini API models

Vertex AI

For enterprise deployments through Vertex AI. Requires a GCP project with Vertex AI enabled.
.env
If you’re migrating from an older Skyvern version, VERTEX_LOCATION replaces the previous GCP_REGION variable. Update your .env accordingly.
Vertex AI setup steps:
  1. Create a GCP project with billing enabled
  2. Enable the Vertex AI API in your project
  3. Create a service account with the Vertex AI User role
  4. Download the service account JSON key file
  5. Set GOOGLE_APPLICATION_CREDENTIALS to the path of that file
For global endpoint access, set VERTEX_LOCATION=global and ensure VERTEX_PROJECT_ID is set. Not all models support the global endpoint.

Available Vertex AI models


Amazon Bedrock

Run Anthropic Claude through your AWS account.
.env

Setup steps

  1. Create an IAM user with AmazonBedrockFullAccess policy
  2. Generate access keys for the IAM user
  3. In the Bedrock console, go to Model Access
  4. Enable access to Claude Opus 4.7

Available models

Bedrock inference profile keys (*_INFERENCE_PROFILE) use cross-region inference and require AWS_REGION only. No access keys needed if running on an IAM-authenticated instance.

MiniMax

MiniMax models with vision support.
.env

Available models

Optional settings

.env

VolcEngine (ByteDance Doubao)

VolcEngine provides access to ByteDance’s Doubao models with vision support.
.env

Available models

Optional settings

.env

Novita

Novita AI provides access to DeepSeek, Llama, and other open-source models.
.env

Available models


Moonshot

Moonshot AI provides the Kimi series models with long context support.
.env

Available models

Optional settings

.env

Inception

Inception AI provides the Mercury series models.
.env

Available models

Optional settings

.env

Ollama (Local Models)

Run open-source models locally with Ollama. No API costs, but requires sufficient local compute.
.env

Setup steps

  1. Install Ollama
  2. Pull a model: ollama pull gemma4
  3. Start Ollama: ollama serve
  4. Configure Skyvern to connect
Most Ollama models don’t support vision. Set OLLAMA_SUPPORTS_VISION=false. Without vision, Skyvern relies on DOM analysis instead of screenshot analysis, which may reduce accuracy on complex pages.

Docker networking

When running Skyvern in Docker and Ollama on the host:

OpenAI-Compatible Endpoints

Connect to any service that implements the OpenAI API format, including LiteLLM, LocalAI, vLLM, and text-generation-inference.
.env
This is useful for:
  • Running local models with a unified API
  • Using LiteLLM as a proxy to switch between providers
  • Connecting to self-hosted inference servers

OpenRouter

Access multiple models through a single API at openrouter.ai.
.env

Groq

Inference on open-source models at groq.com.
.env
Groq specializes in fast inference for open-source models. Response times are typically much faster than other providers, but model selection is limited.

Using multiple models

Primary and secondary models

Configure a cheaper model for lightweight operations:
.env
Recommended primary models (latest):
  • Anthropic Claude 4.7 Opus (ANTHROPIC_CLAUDE4.7_OPUS) - Most capable
  • OpenAI GPT-5.5 (OPENAI_GPT5_5) - Latest
  • Google Gemini 3 Pro (GEMINI_3_PRO) - Latest
Recommended secondary models (latest):
  • Claude 4.6 Sonnet (ANTHROPIC_CLAUDE4.6_SONNET) - Balanced
  • GPT-5.4 (OPENAI_GPT5_4) - Fast reasoning
  • Gemini 3.0 Flash (GEMINI_3.0_FLASH) - Faster Gemini 3

Task-specific models

For fine-grained control, you can override models for specific operations:
.env
Most deployments don’t need task-specific models. Start with LLM_KEY and SECONDARY_LLM_KEY.

Troubleshooting

”To enable svg shape conversion, please set the Secondary LLM key”

Some operations require a secondary model. Set SECONDARY_LLM_KEY in your environment:
.env

“Context window exceeded”

The page content is too large for the model’s context window. Options:
  • Use a model with larger context support (GPT-5.5, Gemini 2.5 Pro, or Claude 4.7 Opus)
  • Simplify your prompt to require less page analysis
  • Start from a more specific URL with less content

”LLM caller not found”

The configured LLM_KEY doesn’t match any enabled provider. Verify:
  1. The provider is enabled (ENABLE_OPENAI=true, etc.)
  2. The LLM_KEY value matches a supported model name exactly
  3. Model names are case-sensitive: OPENAI_GPT5_5 not openai_gpt5_5

Container logs show authentication errors

Check your API key configuration:
  • Ensure the key is set correctly without extra whitespace
  • Verify the key hasn’t expired or been revoked
  • For Azure, ensure AZURE_API_BASE includes the full URL with https://

Slow response times

LLM calls typically take 2-10 seconds. Longer times may indicate:
  • Network latency to the provider
  • Rate limiting (the provider may be throttling requests)
  • For Ollama, insufficient local compute resources

Next steps

Browser Configuration

Configure browser modes, locales, and display settings

Docker Setup

Return to the main Docker setup guide