Supported Models
Built-in model and provider lists for the open-source OpenMAIC edition.
This page lists the providers and models built into the open-source OpenMAIC edition. In openmaic.yml a provider names one of these as its preset, and the model settings of the web app offer the same catalogue. Availability also depends on the provider account, region and server configuration, and a provider's models list can narrow what the model settings offer.
Presets
A preset is a built-in provider template: which vendor, which endpoint, and which capabilities one account covers. Every provider in openmaic.yml or in the model settings names a preset.
Single-capability presets have the provider IDs of the tables below, one per capability: openai is OpenAI chat, while OpenAI images, speech and transcription are openai-image, openai-tts and openai-whisper. Three IDs differ from the registry ID because another preset already uses it: MiniMax web search is minimax-search, Doubao web search is doubao-search, and Lemonade image generation is lemonade-image.
Token plan presets cover several capabilities with one key, each at the plan's own endpoint. Connecting one in Settings → Token Plan also fills the slots the plan recommends models for that are still unassigned.
| Preset | Plan | Covers |
|---|---|---|
minimax | MiniMax | Chat, image, video, TTS, web search |
tokendance | TokenDance | Chat, image, video, TTS, web search |
volcengine-ark | Volcengine Ark Agent Plan | Chat, image, video, TTS, web search |
kimi-coding-plan | Kimi Coding Plan | Chat, web search, web fetch |
Connecting Kimi Coding Plan in Settings → Token Plan recommends chat, web search and web fetch together, using the Coding Plan key and https://api.kimi.com/coding/v1. If web fetch only uses the implicit builtin default, connecting assigns Kimi directly without a conflict, even when keeping the current setup. Explicit workspace choices (including null) and deployment-configured non-builtin readers or null use the existing conflict choices. Disconnecting removes the plan's assignments and restores the server default (the builtin reader when no reader is configured); it does not restore a prior explicit workspace choice. Locked slots stay unchanged. Plans that do not declare web fetch leave it untouched.
The first-run wizard leaves web fetch on the builtin reader; only connecting the plan through the Token Plan settings page applies its fetch recommendation.
openai-compatible connects any OpenAI-compatible chat server: it needs a baseUrl, and its models list is what the model settings offer.
All preset IDs:
| Capability | Presets |
|---|---|
| Chat | openai, azure, atlascloud, anthropic, bedrock, google, glm, qwen, deepseek, kimi, siliconflow, doubao, openrouter, grok, tencent-hunyuan, xiaomi, ollama, lemonade, openai-compatible, and the token plans |
| TTS | openai-tts, azure-tts, glm-tts, qwen-tts, minimax-tts, voxcpm-tts, doubao-tts, elevenlabs-tts, google-tts, browser-native-tts, lemonade-tts |
| ASR | openai-whisper, qwen-asr, azure-asr, browser-native, funasr-asr, lemonade-asr |
| Image | seedream, openai-image, qwen-image, nano-banana, minimax-image, grok-image, comfyui-image, lemonade-image, openrouter-image |
| Video | seedance, kling, veo, minimax-video, grok-video, happyhorse, openrouter-video |
| Web search | tavily, exa, firecrawl, bocha, brave, baidu, claude, minimax-search, doubao-search, deepseek, kimi, kimi-coding-plan, searxng |
| Web fetch | builtin, deepseek, firecrawl, kimi, kimi-coding-plan |
| Document parsing | unpdf, mineru, mineru-cloud, alidocmind |
azure, openai-compatible, searxng and mineru need a baseUrl; alidocmind authenticates with credentials (a key pair). Self-hosted TTS, ASR, image, search and document presets, key-pair presets and Bedrock can only be configured in openmaic.yml; see Configuration.
LLM models
In openmaic.yml a chat slot names <provider id>:<model id>, where the provider id is the one you declared under providers, for example openai:gpt-5.6, qwen:qwen3.7-plus or ollama:llama3.3 when the provider ids match the preset ids.
| Provider | Provider ID | Built-in models |
|---|---|---|
| OpenAI | openai | GPT-5.6 Sol (gpt-5.6)GPT-5.6 Terra ( gpt-5.6-terra)GPT-5.6 Luna ( gpt-5.6-luna)GPT-5.5 ( gpt-5.5)GPT-5.4 Pro ( gpt-5.4-pro)GPT-5.4 ( gpt-5.4)GPT-5.4 Mini ( gpt-5.4-mini)GPT-5.4 Nano ( gpt-5.4-nano) |
| Azure OpenAI | azure | No preset model IDs; enter the Azure OpenAI deployment name. |
| Claude | anthropic | Claude Opus 5 (claude-opus-5)Claude Sonnet 5 ( claude-sonnet-5)Claude Fable 5 ( claude-fable-5)Claude Opus 4.8 ( claude-opus-4-8)Claude Opus 4.7 ( claude-opus-4-7)Claude Opus 4.6 ( claude-opus-4-6)Claude Sonnet 4.6 ( claude-sonnet-4-6)Claude Sonnet 4.5 ( claude-sonnet-4-5)Claude Haiku 4.5 ( claude-haiku-4-5) |
| Gemini | google | Gemini 3.8 Flash (gemini-3.8-flash)Gemini 3.7 Flash ( gemini-3.7-flash)Gemini 3.6 Flash ( gemini-3.6-flash)Gemini 3.5 Flash-Lite ( gemini-3.5-flash-lite)Gemini 3.5 Flash ( gemini-3.5-flash)Gemini 3.1 Pro Preview ( gemini-3.1-pro-preview)Gemini 3 Flash Preview ( gemini-3-flash-preview)Gemini 2.5 Flash ( gemini-2.5-flash)Gemini 2.5 Flash Lite ( gemini-2.5-flash-lite)Gemini 2.5 Pro ( gemini-2.5-pro) |
| GLM | glm | GLM-5.3 (glm-5.3)GLM-5.3-Flash ( glm-5.3-flash)GLM-5.2 ( glm-5.2)GLM-5.1 ( glm-5.1)GLM-5V-Turbo ( glm-5v-turbo)GLM-5 ( glm-5)GLM-4.7 ( glm-4.7)GLM-4.7-FlashX ( glm-4.7-flashx)GLM-4.7-Flash ( glm-4.7-flash)GLM-4.6 ( glm-4.6)GLM-4.6V ( glm-4.6v)GLM-4.6V-Flash ( glm-4.6v-flash) |
| Qwen | qwen | Qwen3.7 Plus (qwen3.7-plus)Qwen3.7 Max ( qwen3.7-max)Qwen3.6 Plus ( qwen3.6-plus)Qwen3.6 Plus 2026-04-02 ( qwen3.6-plus-2026-04-02)Qwen3.6 Flash ( qwen3.6-flash)Qwen3.6 Flash 2026-04-16 ( qwen3.6-flash-2026-04-16)Qwen3.6 35B A3B ( qwen3.6-35b-a3b)Qwen3.5 Flash ( qwen3.5-flash)Qwen3.5 Plus ( qwen3.5-plus)Qwen3 VL Plus ( qwen3-vl-plus) |
| DeepSeek | deepseek | DeepSeek V4 Pro (deepseek-v4-pro)DeepSeek Flash ( deepseek-flash) |
| Kimi | kimi | Kimi K3 (kimi-k3)Kimi K2.7 Code ( kimi-k2.7-code)Kimi K2.7 Code HighSpeed ( kimi-k2.7-code-highspeed)Kimi K2.6 ( kimi-k2.6) |
| MiniMax | minimax | MiniMax M3 (MiniMax-M3)MiniMax M2.7 ( MiniMax-M2.7) |
| SiliconFlow | siliconflow | DeepSeek-V3.2 (deepseek-ai/DeepSeek-V3.2)DeepSeek-R1 ( deepseek-ai/DeepSeek-R1)Qwen3-VL-32B-Instruct ( Qwen/Qwen3-VL-32B-Instruct) |
| Doubao | doubao | Doubao Seed 2.1 Pro (doubao-seed-2-1-pro-260628)Doubao Seed 2.1 Turbo ( doubao-seed-2-1-turbo-260628)Doubao Seed Evolving ( doubao-seed-evolving)Doubao Seed Character ( doubao-seed-character-260628)Doubao Seed 2.0 Pro ( doubao-seed-2-0-pro-260215)Doubao Seed 2.0 Lite ( doubao-seed-2-0-lite-260215)Doubao Seed 2.0 Mini ( doubao-seed-2-0-mini-260215) |
| OpenRouter | openrouter | DeepSeek V4 Pro (deepseek/deepseek-v4-pro)DeepSeek V4 Flash ( deepseek/deepseek-v4-flash) |
| Grok | grok | Grok 4.6 (grok-4.6)Grok 4.5 ( grok-4.5)Grok 4.3 ( grok-4.3)Grok Build 0.1 ( grok-build-0.1)Grok 4.20 Reasoning ( grok-4.20-reasoning)Grok 4.20 ( grok-4.20)Grok 4.20 Multi-Agent ( grok-4.20-multi-agent) |
| Tencent Hunyuan | tencent-hunyuan | Tencent Hy3 (hy3) |
| Xiaomi MiMo | xiaomi | MiMo V2.6 Pro (mimo-v2.6-pro)MiMo V2.6 Flash ( mimo-v2.6-flash)MiMo V2.5 Pro ( mimo-v2.5-pro)MiMo V2.5 ( mimo-v2.5) |
| Ollama | ollama | Llama 3.3 70B (llama3.3)Gemma 3 12B ( gemma3)DeepSeek R1 ( deepseek-r1) |
| Lemonade | lemonade | Gemma 4 26B A4B IT GGUF (Gemma-4-26B-A4B-it-GGUF) |
| Atlas Cloud | atlascloud | Qwen3.5 Flash (qwen/qwen3.5-flash)DeepSeek V4 Pro ( deepseek-ai/deepseek-v4-pro) |
| Amazon Bedrock | bedrock | Claude Sonnet 5 (Bedrock) (us.anthropic.claude-sonnet-5)Claude Opus 4.8 (Bedrock) ( us.anthropic.claude-opus-4-8)Claude Opus 4.7 (Bedrock) ( us.anthropic.claude-opus-4-7)Claude Sonnet 4.6 (Bedrock) ( us.anthropic.claude-sonnet-4-6)Amazon Nova Pro ( us.amazon.nova-pro-v1:0)Amazon Nova Lite ( us.amazon.nova-lite-v1:0)Amazon Nova Micro ( us.amazon.nova-micro-v1:0)Llama 3.3 70B Instruct (Bedrock) ( us.meta.llama3-3-70b-instruct-v1:0) |
| TokenDance | tokendance | DeepSeek V4.1 Flash (deepseek-v4.1-flash)DeepSeek V4 Pro ( deepseek-v4-pro)GLM-5.3 ( glm-5.3)Kimi K3 ( kimi-k3)Qwen3.8 Max ( qwen3.8-max)Seed 2.1 Pro ( seed-2.1-pro)MiniMax M3 ( minimax-m3) |
Image generation models
| Provider | Provider ID | Built-in models |
|---|---|---|
| Seedream | seedream | Seedream 5.0 Lite (doubao-seedream-5-0-260128)Seedream 5.0 Lite Alias ( doubao-seedream-5-0-lite-260128)Seedream 4.5 ( doubao-seedream-4-5-251128)Seedream 4.0 ( doubao-seedream-4-0-250828) |
| OpenAI Image | openai-image | GPT Image 2 (gpt-image-2)GPT Image 2 2026-04-21 ( gpt-image-2-2026-04-21)GPT Image 1.5 ( gpt-image-1.5)GPT Image 1 ( gpt-image-1)GPT Image 1 Mini ( gpt-image-1-mini)ChatGPT Image Latest ( chatgpt-image-latest) |
| Qwen Image | qwen-image | Qwen Image 3.0 (qwen-image-3.0)Qwen Image 2.0 Pro ( qwen-image-2.0-pro)Qwen Image 2.0 Pro 2026-03-03 ( qwen-image-2.0-pro-2026-03-03)Qwen Image 2.0 ( qwen-image-2.0)Qwen Image 2.0 2026-03-03 ( qwen-image-2.0-2026-03-03)Z-Image Turbo ( z-image-turbo) |
| Nano Banana (Gemini) | nano-banana | Nano Banana 2.1 (gemini-nano-banana-2.1)Gemini 3 Pro Image ( gemini-3-pro-image)Gemini 2.5 Flash Image (Nano Banana) ( gemini-2.5-flash-image) |
| MiniMax Image | minimax-image | Image 01 (image-01)Image 01 Live ( image-01-live) |
| Grok Image | grok-image | Grok Imagine Image (grok-imagine-image) |
| GLM Image (Zhipu) | glm-image | CogView-3-Flash (cogview-3-flash)CogView-4 ( cogview-4) |
| ComfyUI Image | comfyui-image | No preset model ID; discovers and selects ComfyUI workflows from public/ at runtime. |
| Lemonade Image | lemonade | Qwen Image GGUF (Qwen-Image-GGUF)Stable Diffusion (sd-cpp) ( sd-cpp) |
| OpenRouter Image | openrouter-image | Gemini 3 Pro Image (google/gemini-3-pro-image)GPT Image 2 ( openai/gpt-image-2)Seedream 5.0 Pro ( bytedance-seed/seedream-5-0-pro) |
Video generation models
| Provider | Provider ID | Built-in models |
|---|---|---|
| Seedance | seedance | Seedance 2.0 (doubao-seedance-2-0-260128)Seedance 2.0 Fast ( doubao-seedance-2-0-fast-260128)Seedance 2.0 Mini ( doubao-seedance-2-0-mini-260615)Seedance 1.0 Pro ( doubao-seedance-1-0-pro-250528)Seedance 1.0 Pro Fast ( doubao-seedance-1-0-pro-fast-251015)Seedance 1.0 Lite T2V ( doubao-seedance-1-0-lite-t2v-250428) |
| Kling | kling | Kling V2.6 (kling-v2-6)Kling V1.6 ( kling-v1-6) |
| Veo | veo | Veo 3.1 Fast (veo-3.1-fast-generate-preview)Veo 3.1 ( veo-3.1-generate-preview)Veo 3.1 Lite ( veo-3.1-lite-generate-preview) |
| MiniMax Video | minimax-video | Hailuo 2.3 (MiniMax-Hailuo-2.3)Hailuo 02 ( MiniMax-Hailuo-02)T2V-01 Director ( T2V-01-Director)T2V-01 ( T2V-01) |
| Grok Video | grok-video | Grok Imagine Video (grok-imagine-video) |
| HappyHorse | happyhorse | HappyHorse 1.0 T2V (happyhorse-1.0-t2v) |
| OpenRouter Video | openrouter-video | Veo 3.1 (google/veo-3.1)Kling v3.0 Pro ( kwaivgi/kling-v3.0-pro)Seedance 2.5 ( bytedance/seedance-2.5) |
TTS models and backends
This table lists model selectors and self-hosted backends. It does not enumerate every voice option.
| Provider | Provider ID | Models or backends |
|---|---|---|
| OpenAI TTS | openai-tts | GPT-4o Mini TTS (gpt-4o-mini-tts)TTS-1 ( tts-1)TTS-1 HD ( tts-1-hd) |
| Azure TTS | azure-tts | No model selector. Uses configured Azure neural voices. |
| GLM TTS | glm-tts | GLM TTS (glm-tts) |
| Qwen TTS | qwen-tts | Qwen3 TTS Flash (qwen3-tts-flash)Qwen3 TTS Voice Clone ( qwen3-tts-vc-2026-01-22)Voice Clone is a legacy grouping ID for saved voices; the retired model cannot register or synthesize cloned voices. |
| MiniMax TTS | minimax-tts | Speech 2.8 HD (speech-2.8-hd)Speech 2.8 Turbo ( speech-2.8-turbo)Speech 2.6 HD ( speech-2.6-hd)Speech 2.6 Turbo ( speech-2.6-turbo)Speech 02 HD ( speech-02-hd)Speech 02 Turbo ( speech-02-turbo) |
| VoxCPM2 | voxcpm-tts | VoxCPM2 (voxcpm2)Backends: vLLM-Omni, Python API, Nano-vLLM |
| Lemonade TTS | lemonade-tts | Kokoro v1 (kokoro-v1) |
| Doubao TTS 2.0 | doubao-tts | No model selector. Uses Doubao TTS 2.0 voice IDs. |
| ElevenLabs TTS | elevenlabs-tts | Multilingual v2 (eleven_multilingual_v2)Flash v2.5 ( eleven_flash_v2_5)Flash v2 ( eleven_flash_v2) |
| Google Gemini TTS | google-tts | Gemini 3.1 Flash TTS Preview (gemini-3.1-flash-tts-preview)Gemini 2.5 Flash Preview TTS ( gemini-2.5-flash-preview-tts)Gemini 2.5 Pro Preview TTS ( gemini-2.5-pro-preview-tts) |
| Browser Native TTS | browser-native-tts | No model selector. Uses the browser and operating system voice catalog. |
ASR models
| Provider | Provider ID | Built-in models |
|---|---|---|
| OpenAI Whisper | openai-whisper | GPT-4o Mini Transcribe (gpt-4o-mini-transcribe)GPT-4o Transcribe ( gpt-4o-transcribe)Whisper-1 ( whisper-1) |
| Qwen ASR | qwen-asr | Qwen3 ASR Flash (qwen3-asr-flash) |
| Azure STT | azure-asr | No model selector. Uses Azure Speech to Text. |
| FunASR | funasr-asr | SenseVoiceSmall (sensevoice)Paraformer ( paraformer)Fun-ASR-Nano ( fun-asr-nano) |
| Lemonade ASR | lemonade-asr | Whisper Base (Whisper-Base)Whisper Large v3 ( Whisper-Large-v3)Whisper Large v3 Turbo ( Whisper-Large-v3-Turbo)Whisper Medium ( Whisper-Medium)Whisper Small ( Whisper-Small)Whisper Tiny ( Whisper-Tiny) |
| Browser Native ASR | browser-native | No model selector. Uses the browser Web Speech API. |
Document parsing providers
| Provider | Provider ID | Features |
|---|---|---|
| unpdf | unpdf | Text, images, metadata |
| MinerU | mineru | Text, images, tables, formulas, layout analysis |
| MinerU Cloud | mineru-cloud | Text, images, tables, formulas, layout analysis |
| AliDocMind | alidocmind | Text, images, tables, formulas, layout analysis, OCR |
Web Search providers
Most web search providers have no model selector, so slots usually name them by provider id alone (webSearch: tavily). SearXNG can only be configured in openmaic.yml; the other providers need an API key or a base URL as listed. The preset IDs of MiniMax and Doubao web search are minimax-search and doubao-search.
| Provider | Provider ID | Models |
|---|---|---|
| Tavily | tavily | No preset model IDs. |
| Exa | exa | No preset model IDs. |
| Firecrawl | firecrawl | No preset model IDs. |
| Bocha | bocha | No preset model IDs. |
| Brave Search | brave | No preset model IDs. |
| Baidu | baidu | No preset model IDs. |
| MiniMax | minimax | No preset model IDs. |
| Kimi | kimi | No preset model IDs. |
| DeepSeek | deepseek | No preset model IDs. |
| Doubao | doubao | No preset model IDs. |
| SearXNG | searxng | No preset model IDs. |
| Claude | claude | Claude Opus 5 (claude-opus-5)Claude Sonnet 5 ( claude-sonnet-5)Claude Opus 4.6 ( claude-opus-4-6)Claude Sonnet 4.6 ( claude-sonnet-4-6)Claude Haiku 4.5 ( claude-haiku-4-5) |
DeepSeek web search and fetch
The deepseek preset shares DEEPSEEK_API_KEY and the API base across chat, web search and hosted Markdown extraction. Search uses POST /v1/tools/search, returns up to 50 results, truncates queries to 128 Unicode code points, and uses summary with snippet as a fallback. Fetch uses POST /v1/tools/fetch and reads content and an optional nonempty title.
In legacy configuration, opt in with WEB_SEARCH_DEEPSEEK_ENABLED=true or an explicit web-search.deepseek entry in server-providers.yml. Chat credentials alone never enable search or replace another search default. WEB_SEARCH_DEEPSEEK_ENABLED=false force-disables search. When openmaic.yml exists, the legacy variable cannot assign a slot: explicitly declare the provider and assign webSearch and/or webFetch.
The default API base is https://api.deepseek.com/v1. On api.deepseek.com, every base path (including /beta) is normalized to /v1 before appending /tools/search or /tools/fetch. Custom gateway bases preserve their configured path prefix; a bare root gets /v1 first. Custom endpoints belong in deployment configuration, while client and workspace overrides remain restricted to official endpoints. The default fetch reader remains builtin. See DeepSeek official pricing for current request charges. Failed requests and searches with no results are not billed.
providers:
deepseek:
preset: deepseek
apiKey: ${DEEPSEEK_API_KEY}
baseUrl: https://api.deepseek.com/v1
slots:
webSearch: deepseek
webFetch: deepseekKimi web search
The kimi preset (Moonshot Open Platform) and kimi-coding-plan preset both serve chat and web search with one API key and base URL. Assign webSearch to the same provider used for chat; no second key or search model is needed.
Open Platform bases https://api.moonshot.cn/v1 and https://api.moonshot.ai/v1 use /tools/search_pro; result content joins page chunks, falling back to the snippet. Coding Plan bases https://api.kimi.com/coding/v1 and https://api.kimi.ai/coding/v1 use /search with page crawling enabled; result content prefers page content over the snippet. Each request returns at most 20 results.
Chat credentials alone do not enable search in legacy configuration. Opt in with WEB_SEARCH_KIMI_ENABLED=true or an explicit web-search.kimi entry in server-providers.yml. In openmaic.yml, explicitly assign the webSearch slot. The wizard recommends search only for official account bases.
Endpoint selection follows the base path: after removing trailing slashes, a path ending in /coding/v1 uses /search; every other base uses /tools/search_pro. Custom proxies configured in openmaic.yml must preserve that path layout.
When openmaic.yml is present, declare providers.<id>: { preset: kimi } and assign slots.webSearch: <id>; the legacy WEB_SEARCH_KIMI_ENABLED variable cannot assign that slot.
Web fetch
The webFetch slot defaults to the keyless builtin reader (Readability and Turndown; PDFs still use document). Both kimi and kimi-coding-plan reuse their provider's key and API base for hosted extraction. Moonshot Open Platform uses /tools/fetch, while Coding Plan uses /fetch. firecrawl uses its own Firecrawl key, shared with Firecrawl web search, and calls /v2/scrape. There is no fallback. Choose the reader in Model Services / Course Model Config or assign slots.webFetch in openmaic.yml. The Kimi key is shared with chat. All readers retain local session and public-address checks and untrusted results.
DeepSeek also offers hosted Markdown extraction through the deepseek preset, reusing the chat key and API base. Assign webFetch explicitly as shown above. It uses /v1/tools/fetch; an explicit deployment gateway base is preserved. It retains the same transport deadlines and single transport-error retry as Kimi, without retrying HTTP errors or invalid responses.
Token plan model IDs
These IDs belong to the plan endpoint, independently of the direct provider catalog. Availability depends on the plan tier.
| Preset | Modality | Model IDs |
|---|---|---|
tokendance | llm | deepseek-v4.1-flash, deepseek-v4-pro, glm-5.3, kimi-k3, qwen3.8-max, seed-2.1-pro, minimax-m3 |
tokendance | image | seedream-5.0-lite, seedream-5.0-pro |
tokendance | video | minimax-h3, minimax-h3-max |
tokendance | tts | minimax-speech-2.8-turbo, minimax-speech-2.8-hd |
minimax | llm | MiniMax-M3, MiniMax-M2.7, MiniMax-M2.7-highspeed, MiniMax-M2.5, MiniMax-M2.5-highspeed, MiniMax-M2.1, MiniMax-M2.1-highspeed, MiniMax-M2 |
minimax | image | image-01, image-01-live |
minimax | video | MiniMax-Hailuo-2.3, MiniMax-Hailuo-02, T2V-01-Director, T2V-01 |
minimax | tts | speech-2.8-hd, speech-2.8-turbo, speech-2.6-hd, speech-2.6-turbo, speech-02-hd, speech-02-turbo |
volcengine-ark | llm | doubao-seed-2.1-pro, doubao-seed-2.1-lite, ark-code-latest, doubao-seed-2.0-mini, deepseek-v4-pro, deepseek-v4-flash, minimax-m3, glm-5.3, kimi-k3, kimi-k2.8-preview, kimi-k2.7-code |
volcengine-ark | image | doubao-seedream-5.0-pro |
volcengine-ark | video | doubao-seedance-2.0-mini, doubao-seedance-2.0 |
volcengine-ark | tts | seed-tts-2.0 |
kimi-coding-plan | llm | k3, k3-256k, kimi-for-coding, kimi-for-coding-highspeed |
Ark migration targets follow the supported model list and retirement notice. Kimi K3 requires Medium or higher; Kimi K2.8 Preview is the Small-tier replacement for Kimi K2.7 Code.