Skip to content

Providers ​

GoAI SDK supports 25+ LLM providers with a single unified API. Most hosted providers auto-resolve credentials from environment variables; local/custom providers (for example ollama, vllm, compat) typically use explicit options.

The core functions — GenerateText, StreamText, GenerateObject[T], StreamObject[T], Embed, EmbedMany, GenerateImage, and GenerateVideo — share one API, but provider capabilities vary.

Tier 1 ​

Dedicated implementations with extended API support.

ProviderChatEmbedImageProvider ToolsAuth Env Var
OpenAI✅ gpt-4o, o3✅ text-embedding-3-*✅ gpt-image-14 toolsOPENAI_API_KEY
Anthropic✅ Anthropic models--14 toolsANTHROPIC_API_KEY
Google✅ gemini-*✅ text-embedding-004✅ imagen-*5 toolsGOOGLE_GENERATIVE_AI_API_KEY or GEMINI_API_KEY
Bedrock✅ anthropic.*, meta.*✅ titan-embed-*, cohere.embed-*——AWS_ACCESS_KEY_ID
Azure✅ gpt-4o, claude-*—✅—AZURE_OPENAI_API_KEY
Vertex AI✅ gemini-*, claude-*✅✅—ADC/OAuth; API-key fallback applies only outside native Gemini mode

Tier 2 ​

ProviderChatEmbedImageProvider ToolsAuth Env Var
Cohere✅ command-r-*✅ embed-*——COHERE_API_KEY
Mistral✅ mistral-large, magistral-*———MISTRAL_API_KEY
xAI (Grok)✅ grok-*——2 toolsXAI_API_KEY
Groq✅ llama-*, mixtral-*——1 toolGROQ_API_KEY
DeepSeek✅ deepseek-chat, deepseek-reasoner———DEEPSEEK_API_KEY
MiniMax✅ MiniMax-M2.7, MiniMax-M2.5, MiniMax-M2.1, MiniMax-M2———MINIMAX_API_KEY

Tier 3 ​

Most use the shared internal/openaicompat codec (some wrappers delegate via provider/compat).

ProviderEndpointAuth Env Var
Fireworksapi.fireworks.aiFIREWORKS_API_KEY
Togetherapi.together.aiTOGETHER_AI_API_KEY (or TOGETHER_API_KEY)
DeepInfraapi.deepinfra.comDEEPINFRA_API_KEY
OpenRouteropenrouter.aiOPENROUTER_API_KEY
Requestyrouter.requesty.aiREQUESTY_API_KEY
Perplexityapi.perplexity.aiPERPLEXITY_API_KEY
Cerebrasapi.cerebras.aiCEREBRAS_API_KEY
RunPodapi.runpod.aiRUNPOD_API_KEY
Cloudflareapi.cloudflare.comCLOUDFLARE_API_TOKEN, CLOUDFLARE_ACCOUNT_ID
FPT Cloudmkp-api.fptcloud.com / .jpFPT_API_KEY, FPT_REGION
NVIDIA NIMintegrate.api.nvidia.com/v1NVIDIA_API_KEY, NVIDIA_BASE_URL
Heabsyapi.heabsy.comHEABSY_API_KEY, HEABSY_BASE_URL
Opperapi.opper.aiOPPER_API_KEY, OPPER_BASE_URL
Runcrateapi.runcrate.aiRUNCRATE_API_KEY, RUNCRATE_BASE_URL
Cheaper Inferenceapi.cheaperinference.com/v1CHEAPER_INFERENCE_API_KEY, CHEAPER_INFERENCE_BASE_URL

Local / Custom ​

ProviderDefault EndpointAuthFeatures
Ollamalocalhost:11434None requiredEmbedding support
llama.cpp (provider/llamacpp)localhost:8080OptionalChat and embedding support
vLLMlocalhost:8000/v1OptionalEmbedding support
Generic Compatible(required)ConfigurableAny OpenAI-compatible endpoint

Common Options ​

Most providers support these options (Bedrock uses AWS credential options; Azure uses WithEndpoint; Ollama requires no auth):

go
openai.WithAPIKey(key)        // Static API key
openai.WithTokenSource(ts)    // Dynamic auth (OAuth, service accounts)
openai.WithBaseURL(url)       // Override endpoint
openai.WithHeaders(h)         // Custom HTTP headers
openai.WithHTTPClient(c)      // Custom HTTP transport

Each provider package exports its own With* functions with broadly similar signatures (with provider-specific exceptions where needed).

Released under the MIT License.