Integration guides · 2026-10-17

Arabic language model API: a first request with Jais 3

Call Jais 3 through an OpenAI-compatible API: a 36B (4B active) model for Arabic and English, 524,288-token context, free until 5 November 2026.

Simple diagram: an application sends a request to https://llmtr.com/v1, the box reads ifm/jais-3-mova-36b-a4b, and the answer returns to the application.

Short answer: call Jais 3 with the OpenAI SDK

LLMTR is a gateway that gives access to language models from different providers through one OpenAI-compatible API. You call Jais 3 there with the model id ifm/jais-3-mova-36b-a4b on the /v1/chat/completions endpoint at https://llmtr.com/v1. With the OpenAI SDK only base_url and the model id change; the messages, the system prompt and the shape of the response stay the same.

Jais 3 is a family of models announced on 15 October 2026 by the Institute of Foundation Models (IFM) at MBZUAI and Inception42. The LLMTR row is the family's mixture-of-experts (MoE) model with 36 billion total and 4 billion active parameters. IFM's model card says the model is designed for Arabic and English assistant and agentic applications. Jais 3 is the first Arabic-focused language model added to the LLMTR catalog.

How do you use an Arabic language model through an API?

Create an API key on LLMTR and keep it in the LLMTR_API_KEY environment variable. Set the OpenAI client's base_url to https://llmtr.com/v1 and pass ifm/jais-3-mova-36b-a4b as the model. The Python example below sends an Arabic system prompt and an Arabic question; the answer arrives in choices[0].message.content. Arabic text travels as UTF-8 in the JSON body, so no extra setting is needed.

By default the model reasons before it answers. The reasoning comes back in the response's reasoning_content field and the answer in the content field, so the two never mix. IFM's model card recommends a temperature of 0.7 for Arabic and 1.0 for English in thinking mode, which is why the example uses 0.7. Reasoning tokens count toward max_tokens: if finish_reason is length, raise the limit.

The example also catches the 429 response that arrives when the daily allowance is used up, and prints the Retry-After header. That way the script does not stop silently; it tells you how long to wait. If you use curl or another OpenAI-compatible SDK, the request body is the same, and the Authorization header carries your LLMTR key.

An OpenAI Python SDK example that sends an Arabic system prompt and question to ifm/jais-3-mova-36b-a4b and prints the answer, the finish_reason check and the token usage.

import os

from openai import OpenAI, RateLimitError

client = OpenAI(base_url="https://llmtr.com/v1", api_key=os.environ["LLMTR_API_KEY"])

try:
    response = client.chat.completions.create(
        model="ifm/jais-3-mova-36b-a4b",
        messages=[
            {"role": "system", "content": "أجب باللغة العربية الفصحى وباختصار."},
            {"role": "user", "content": "اشرح الفرق بين الفاتورة وعرض السعر في ثلاث جمل."},
        ],
        max_tokens=4096,
        temperature=0.7,
    )
except RateLimitError as err:
    print("Daily allowance reached, Retry-After:", err.response.headers.get("retry-after"))
    raise SystemExit(1)

choice = response.choices[0]
print(choice.message.content)
print("finish_reason:", choice.finish_reason)
print(response.usage)

Jais 3's values on LLMTR

The table shows the row's values in the catalog. Messages with an image or audio part return 400 unsupported_input and the request never reaches the model. Tool calling and structured output are open; tool_choice is used with auto.

ifm/jais-3-mova-36b-a4b on LLMTR, as of 17 October 2026
PropertyValue
Model idifm/jais-3-mova-36b-a4b
Endpoint/v1/chat/completions
Price (per 1M tokens)$0 input / $0 output, until 5 November 2026, 23:59 (TRT)
Daily allowance200,000 tokens per model (input + output); smaller on a new account's first day
Context window524,288 tokens
Inputtext only
Reasoninghigh (default) or low (off)
Tool calling and JSONtool_choice auto; json_object and json_schema

What to watch in Arabic prompts

Say in the system prompt which Arabic the answer should be written in: Modern Standard Arabic, or the spoken language of a particular country. If users ask in English and expect an Arabic answer, say that explicitly too. Short prompts with a single task keep the answer focused.

Chat Completions is stateless: in a multi-turn conversation you send the earlier messages again on every request. When you add earlier assistant messages to the history you do not need to send reasoning_content back; content is enough. If you work with long documents, keep in mind that the 524,288-token context is shared by the prompt and the answer.

To see how many tokens an Arabic text takes, look at usage.prompt_tokens in the response. Because the daily allowance is counted in tokens, that number is useful before you send long prompts.

Free period, daily allowance and the data note

The row is free until 5 November 2026, 23:59 (TRT): input and output both cost $0 per 1M tokens. During this period every account has an allowance of 200,000 tokens a day for this model; input and output are added up, and the allowance renews every day at 00:00 (TRT). New accounts start with a smaller allowance on their first day. When the allowance is used up, the API returns 429, and the Retry-After header tells you when you can try again. From 6 November 2026, 00:00 the model returns 410 model_retired, and requests are not routed to another model.

According to the data note on the LLMTR model page, prompts and completions may be logged by the provider and used to improve the model. Do not send text that contains personal data or customer secrets to this model; mask it first where needed.

Getting started: account, key and first request

Step 1: create an account at llmtr.com. Step 2: create a key under Dashboard > API Keys; the raw key is shown only once, so keep it in the LLMTR_API_KEY environment variable. Step 3: run the example above with your own question, using ifm/jais-3-mova-36b-a4b as the model and https://llmtr.com/v1 as the base_url.

With the same key you can also call the family's ifm/jais-asr model, which transcribes Arabic recordings, and IFM's general model ifm/k2-horizon-375b-a23b. Request details and error codes are on the IFM Jais documentation page.

Send a first Arabic request to Jais 3

Create an API key, set base_url to https://llmtr.com/v1 and send an Arabic message with ifm/jais-3-mova-36b-a4b.

  1. API key. Create an account at llmtr.com, create a key under Dashboard > API Keys and keep it in the LLMTR_API_KEY environment variable.
  2. Set up the client. In the OpenAI SDK, set base_url to https://llmtr.com/v1 and use ifm/jais-3-mova-36b-a4b as the model.
  3. Request. Send an Arabic system prompt and question, read the answer from choices[0].message.content and check the finish_reason value.

Frequently asked questions

Which languages does Jais 3 support?

IFM's model card says the model is designed for Arabic and English assistant and agentic applications. On LLMTR the row accepts text only; messages with an image or audio part return 400.

How long is ifm/jais-3-mova-36b-a4b free?

Until 5 November 2026, 23:59 (TRT). During this period there is an allowance of 200,000 tokens per account per day; new accounts start with a smaller allowance on their first day. From 6 November 2026, 00:00 the model returns 410 model_retired.

How do I separate Jais 3's reasoning from the answer?

The reasoning comes back in the response's reasoning_content field and the answer in content. To turn reasoning off, send reasoning_effort low; IFM's model card recommends the high level.

Related posts