Skip to main content

OpenThai 2.0 NEW

FREE until 30 Sep 2026
Now: 0 IC — free with any iApp API key (registration free)After promo: 0.01 / 0.02 IC per 1K input/output tokens (same as DeepSeek-V3.2)
v1.0 Active Text + Vision 256K context POST /v3/llm/openthai2p0/chat/completions

OpenThai 2.0 (iapp/openthai2.0-qwen3.8-27b) is an open-source Thai vision-language model (27B, Apache 2.0) built by iApp Technology and launched with AIEAT. One model reads Thai documents and handwriting at specialist level (0.261 CER on Thai handwriting versus 0.649 for its base model), answers Thai knowledge questions in natural Thai (0.842 on OpenThaiEval), and handles agentic tool use (BFCL 0.820). The hosted API accepts text and images on a single OpenAI-compatible endpoint.

Getting Started

  1. Prerequisites

    • A free iApp API key — registerAPI KeysCreate New API Key
    • A question in Thai, or a Thai document image
  2. Endpoint

    Base URLhttps://api.iapp.co.th/v3/llm/openthai2p0
    EndpointPOST /chat/completions (OpenAI-compatible)
    Modelopenthai2.0 (the route always serves this model)
    Context length262,144 tokens (256K)
    Authapikey: <key> header or Authorization: Bearer <key> (OpenAI SDK works as-is)
    Inputtext, or text + image (image_url content parts — base64 data URI or public URL, up to 50 MB)
    Rate limit30 requests/minute per API key (free tier)
How to get API Key?

Please visit API Key Management page to view your existing API key or request a new one.

Try Demo

Chat with OpenThai 2.0 directly from this page. Sign in and your API key is filled in automatically.

Try Our AI Demo

Login or create a free account to use this AI service demo and explore our powerful APIs.

Get 100 Free Credits (IC) when you sign up!

Offer ends December 31, 2025

OpenThai 2.0 Chat

Start a conversation with the AI assistant

Type your message below and press Enter or click Send

Code Examples

cURL — text

curl -X POST 'https://api.iapp.co.th/v3/llm/openthai2p0/chat/completions' \
-H 'apikey: YOUR_API_KEY' \
-H 'Content-Type: application/json' \
-d '{
"model": "openthai2.0",
"messages": [
{"role": "user", "content": "อากรแสตมป์กับภาษีมูลค่าเพิ่มต่างกันอย่างไร"}
]
}'

Response (truncated)

{
"id": "chatcmpl-...",
"model": "openthai2.0-qwen3.8-27b",
"choices": [
{"message": {
"role": "assistant",
"content": "อากรแสตมป์และภาษีมูลค่าเพิ่มต่างกันทั้งฐานภาษีและวิธีจัดเก็บ ...",
"reasoning": "The user asks about the difference between stamp duty and VAT ..."
}}
],
"usage": {"prompt_tokens": 68, "completion_tokens": 84}
}

The model reasons before it answers. The server separates that reasoning into message.reasoning; message.content carries only the final answer, so existing OpenAI-SDK code works unchanged.

Python — OpenAI SDK (text and vision)

import base64
from openai import OpenAI

client = OpenAI(
base_url="https://api.iapp.co.th/v3/llm/openthai2p0",
api_key="YOUR_API_KEY",
)

# Text — ask anything in Thai
r = client.chat.completions.create(
model="openthai2.0",
messages=[{"role": "user", "content": "อากรแสตมป์กับภาษีมูลค่าเพิ่มต่างกันอย่างไร"}],
)
print(r.choices[0].message.content)

# Vision — read a Thai document (thinking off keeps reasoning out of transcriptions)
img = base64.b64encode(open("thai_document.jpg", "rb").read()).decode()
r = client.chat.completions.create(
model="openthai2.0",
messages=[{"role": "user", "content": [
{"type": "image_url", "image_url": {"url": f"data:image/jpeg;base64,{img}"}},
{"type": "text", "text": "อ่านข้อความในเอกสารนี้ทั้งหมด"},
]}],
temperature=0.0,
extra_body={"chat_template_kwargs": {"enable_thinking": False}},
)
print(r.choices[0].message.content)

Streaming (SSE)

stream = client.chat.completions.create(
model="openthai2.0",
messages=[{"role": "user", "content": "อธิบายขั้นตอนการจดทะเบียนบริษัทในประเทศไทย"}],
stream=True,
)
for chunk in stream:
if chunk.choices and chunk.choices[0].delta.content:
print(chunk.choices[0].delta.content, end="", flush=True)

Features & Capabilities

Core Features

  • Thai document and handwriting reading — 0.126 CER on books and Royal Gazette pages, 0.261 on handwriting, 0.077 on printed documents; send the page as an image and ask about it in the same request.
  • Thai knowledge in natural Thai — 0.842 on OpenThaiEval (Thai national exams); explanatory answers by default, terse or JSON output on request ("ตอบสั้น ๆ", "ตอบเป็น JSON เท่านั้น").
  • Agentic tool use — standard OpenAI tools=[...] function calling; BFCL 0.820 overall, ahead of its base model and Typhoon 2.5.
  • Open weights — the same model is downloadable (Apache 2.0) in five formats, from Ollama on a laptop to vLLM on an 80 GB GPU.

Use Cases

  • Document Q&A and back-office automation — read a Thai government document, contract or handwritten form and extract or explain its content in one call.
  • Thai chatbots and assistants — grounded Thai knowledge with instruction-following (IFEval-TH 0.795).
  • Agents — reliable function calling lets the model drive tools and multi-turn workflows.
Tasktemperaturethinkingnotes
Assistant / knowledge Q&A1.0 (default)on (default)leave max_tokens unset, or set it to at least 8,192
Image transcription (OCR)0.0off (enable_thinking: false)returns clean text with no reasoning
Machine-parsed output0.0oninstruct "ตอบเป็น JSON เท่านั้น"

Leave max_tokens unset whenever possible — the model reasons before it answers, and a small cap can starve the reply. The hosted engine already applies the recommended repetition_penalty of 1.05.

Verify before you rely on it

The model can still hallucinate on illegible input, and it is not evaluated for medical or legal advice. For tax, legal or compliance-sensitive work, pair it with retrieval over authoritative sources — for Thai law specifically, use the purpose-built OpenThai 2.0 Legal API.