Skip to main content

LLM Providers

IaC Code supports multiple model provider backends. Provider selection can come from CLI options, environment variables, or configuration files. Precedence is:

CLI arguments > environment variables > configuration files

Cloud Providers​

Provider valuePurpose
DashScopeAlibaba Cloud DashScope (Bailian) compatible endpoint
DashScope Token PlanAlibaba Cloud DashScope Token Plan endpoint
OpenAIOpenAI models
AnthropicAnthropic models
DeepSeekDeepSeek models
GeminiGoogle Gemini models
Azure OpenAIAzure OpenAI Service
ModelScopeModelScope inference endpoint

China-region Providers​

Provider valuePurpose
Kimi CNKimi (Moonshot AI) China endpoint
MiniMax CNMiniMax China endpoint
ZhiPu CNZhiPu AI (GLM) China endpoint
Volcengine CNVolcengine (ByteDance) China endpoint
SiliconFlow CNSiliconFlow China endpoint

International Providers​

Provider valuePurpose
Kimi IntlKimi (Moonshot AI) international endpoint
MiniMax IntlMiniMax international endpoint
ZhiPu IntlZhiPu AI (GLM) international endpoint
SiliconFlow IntlSiliconFlow international endpoint

CodingPlan Providers​

Provider valuePurpose
Aliyun CodingPlanAlibaba Cloud CodingPlan endpoint
Aliyun CodingPlan IntlAlibaba Cloud CodingPlan international endpoint
ZhiPu CN CodingPlanZhiPu AI CodingPlan China endpoint
ZhiPu Intl CodingPlanZhiPu AI CodingPlan international endpoint
Volcengine CodingPlanVolcengine CodingPlan endpoint

Compatible / Custom Endpoints​

Provider valuePurpose
OpenAI CompatibleAny OpenAI-compatible API endpoint
Anthropic CompatibleAny Anthropic-compatible API endpoint
OpenRouterOpenRouter aggregation gateway

Local Providers​

Provider valuePurpose
OllamaOllama local model server
LM StudioLM Studio local model server

LLM Environment Variables​

VariableDescription
IAC_CODE_PROVIDERModel provider name (case-insensitive). See tables above for valid values
IAC_CODE_MODELModel name
IAC_CODE_BASE_URLAPI endpoint override for the active provider; takes precedence over the saved apiBase and built-in default URL
IAC_CODE_API_KEYProvider API key

Responses API​

OpenAI-style providers use Chat Completions by default. A model's built-in protocol default may select Responses when needed for its tool-calling capabilities. Model defaults and Chat tool restrictions are maintained in the built-in model catalog; they are not listed separately here. Anthropic providers continue to use their existing Messages protocol.

Providers that use the OpenAI protocol can explicitly select Responses for individual models, including Azure OpenAI, openai_compatible, and DashScope Token Plan. Configure apiBase with a base URL whose service supports Responses. For Azure OpenAI, use the /openai/v1/ base URL and set model to the deployment name.

Azure OpenAI and DashScope Token Plan document Responses support for applicable endpoints and models. Custom compatible endpoints and coding plans depend on their service capabilities. Alibaba Cloud Coding Plan explicitly does not support Responses. Selecting Responses for an unsupported service or model returns an error; IaC Code does not automatically downgrade to Chat.

To opt a supported Qwen model into Responses, add this model-level setting to settings.yml, replacing <model-id> with the actual model ID:

activeProvider: dashscope
providers:
dashscope:
model: <model-id>
models:
<model-id>:
apiMode: responses

Set apiMode to chat_completions to switch back. Omitting it restores the model's built-in protocol default; for standard DashScope models, that default remains Chat Completions. The setting applies only to the named model under the named provider.

If you explicitly select Chat, the model must support tool calls with the selected reasoning effort. Use Responses when the model's Chat API does not support that combination.

See runtime configuration for request settings and output limits.