Source: https://ailoot.ai/models/id/qwen-max-latest/
Canonical: https://ailoot.ai/models/id/qwen-max-latest/
Language: id

# qwen-max

[Markdown](https://ailoot.ai/models/id/qwen-max-latest/index.md) · [JSON](https://ailoot.ai/models/id/qwen-max-latest/facts.json)

## [qwen-max](https://ailoot.ai/models/id/qwen-max-latest/)

Qwen-Max adalah model teks untuk percakapan multibahasa, penalaran logis, pemrograman, dan pembuatan konten. Model ini menggabungkan kepatuhan instruksi yang mendetail dengan keluaran berorientasi JSON dan kontrol gaya respons.

- [**Ailoot Ultra · OpenAI Chat** `POST /v1/chat/completions` `qwen-max-latest`](https://ailoot.ai/models/id/qwen-max-latest/#method-0)
- [**Ailoot Ultra · Anthropic Messages** `POST /v1/messages` `qwen-max-latest`](https://ailoot.ai/models/id/qwen-max-latest/#method-1)

Tentang model

Deskripsi ini mencakup kemampuan model. Masukan, keluaran, dan opsi yang tersedia di Ailoot tercantum di bawah untuk metode yang dipilih.

Qwen-Max adalah model teks skala besar dalam keluarga Qwen untuk tugas yang menggabungkan pemahaman bahasa, penalaran logis, dan hasil tertulis yang substansial. Pengembangnya menyoroti pemrograman berbahasa Mandarin dan Inggris, pekerjaan multibahasa, penulisan kreatif, serta percakapan berbasis peran. Model ini dirancang untuk menghasilkan jawaban yang lebih jelas dan mendetail sambil mengikuti gaya respons yang diminta.

Nama model diperbarui secara bergulir. Pengembang saat ini menjelaskan qwen-max sebagai model yang setara secara fungsional dengan snapshot qwen-max-2025-01-25. Nama bergulir dan snapshot bertanggal memiliki tujuan berbeda: satu mengikuti perkembangan lini, sedangkan yang lain mengidentifikasi edisi tertentu. Pertahankan perbedaan itu saat membandingkan tugas berulang atau menjaga konfigurasi asisten tetap konsisten.

Kemampuan model

Qwen-Max menerima teks dan menghasilkan teks. Model ini dapat bekerja dengan percakapan, bagian teks sumber, persyaratan perangkat lunak, atau fragmen kode yang sudah ada. Gunakan ketika hasil perlu berupa penjelasan, dokumen yang ditulis ulang, implementasi, atau kumpulan bidang yang diambil. Halaman hasil pemindaian atau tangkapan layar memerlukan langkah terpisah yang membuat informasi yang diperlukan tersedia sebagai teks; masukan yang didokumentasikan untuk model ini bukan gambar.

Pengembang secara khusus menyoroti kepatuhan terhadap format JSON. Tugas ekstraksi praktis dapat menentukan bidang seperti topik, kondisi yang disebutkan secara eksplisit dalam sumber, dan pertanyaan yang belum terselesaikan. Berikan bagian teks sumber serta nama bidang yang dituju, dan nyatakan cara merepresentasikan informasi yang hilang. Dengan begitu, jawaban percakapan menjadi data yang dapat diperiksa dan diproses aplikasi. Permintaan JSON dan permintaan penjelasan prosa merupakan persyaratan keluaran berbeda dan perlu dinyatakan secara terpisah.

Antarmuka yang didokumentasikan juga mencakup panggilan fungsi, keluaran terstruktur, kelanjutan prefiks respons, cache konteks, dan inferensi batch. Panggilan fungsi dan pencarian web tidak tersedia dengan cara yang sama pada setiap konfigurasi pengembang. Perlakukan keduanya sebagai opsi antarmuka yang menaungi model: aplikasi menyediakan alat, menjalankan tindakan yang dipilih, dan mengembalikan hasilnya. Cache dan pemrosesan batch berkaitan dengan cara pekerjaan dikirim dan digunakan ulang, bukan modalitas konten baru.

Batas konteks

Spesifikasi yang dipublikasikan mencantumkan jendela konteks 32,768 token, masukan maksimum 30,720 token, dan keluaran maksimum 8,192 token. Pertahankan materi sumber, percakapan, dan jawaban yang diminta dalam batas yang berlaku. Batas keluaran berguna untuk memilih antara jawaban ringkas dan dokumen panjang; batas itu tidak boleh ditafsirkan sebagai jaminan bahwa setiap respons akan menggunakan panjang tersebut.

Untuk tugas dokumen, tempatkan bagian sumber penting sebelum contoh opsional dan nyatakan isi yang wajib ada dalam hasil akhir. Misalnya, berikan deskripsi produk dan pertanyaan pelanggan, lalu minta jawaban yang mempertahankan kondisi yang diberikan, menggunakan bahasa pelanggan, dan memisahkan pertanyaan yang belum terjawab dari informasi terkonfirmasi. Hasil dapat berupa balasan untuk pelanggan ditambah catatan JSON kecil untuk langkah aplikasi berikutnya.

Untuk pemrograman, berikan tujuan fungsi, masukan yang diterima, keluaran yang diharapkan, dan fragmen lama yang harus tetap kompatibel. Minta implementasi, penjelasan keputusan, dan contoh yang mencakup masukan biasa serta kasus batas. Ini menggunakan fokus pemrograman dan penalaran model yang didokumentasikan tanpa mengasumsikan akses ke repositori, compiler, atau aplikasi yang berjalan.

Untuk penulisan kreatif atau dialog berbasis peran, tentukan audiens, nada, dan fakta yang harus dipertahankan selama revisi. Peran dapat mengatur percakapan, sedangkan materi sumber menentukan apa yang perlu disampaikan model. Minta pengantar atau penjelasan alternatif untuk pembaca yang berbeda, bukan penulisan ulang tanpa arah; setiap varian kemudian memiliki tujuan yang dapat diamati.

Batasan penting

Qwen-Max adalah lini teks-ke-teks, bukan edisi visual atau generasi ucapan. Pengembang tidak mencantumkan fine-tuning sebagai kemampuan antarmuka yang didukung pada kartu ini. Perilaku beralat bergantung pada antarmuka yang terhubung, dan nama bergulir tidak mengunci snapshot permanen. Perbedaan ini membantu memilih edisi yang tepat dan menyiapkan masukan yang sesuai dengan hasil yang benar-benar Anda perlukan.

**Ailoot Ultra · OpenAI Chat** `POST /v1/chat/completions` `qwen-max-latest`

[`qwen-max-latest`](https://ailoot.ai/models/id/#m=qwen-max-latest&route=Ultra&caller=qwen-max-latest&fmt=chat)

Alibaba /`qwen-max-latest`

### Mulai

Qwen-Max adalah model teks untuk percakapan multibahasa, penalaran logis, pemrograman, dan pembuatan konten. Model ini menggabungkan kepatuhan instruksi yang mendetail dengan keluaran berorientasi JSON dan kontrol gaya respons.

Masukan yang diterima

Teks

Hasil

Teks

### Tersedia di Ailoot · masukan & metode

**Ailoot Ultra · OpenAI Chat** `POST /v1/chat/completions`

Masukan

`text`

Keluaran

`text`

Format keluaran

json atau SSE

| Kolom | Jenis | Persyaratan | Nilai & batasan | Bawaan |
| --- | --- | --- | --- | --- |
| Kolom`model` | Jenis`string` | PersyaratanWajib | Nilai & batasan qwen-max-latest | Bawaan— |
| Kolom`messages` | Jenis`message[]` | PersyaratanWajib | Nilai & batasan Item minimum: 1 | Bawaan— |
| Kolom`messages[].role` | Jenis`string` | PersyaratanWajib | Nilai & batasan Bergantung pada model | Bawaan— |
| Kolom`messages[].content` | Jenis`string` | PersyaratanOpsional | Nilai & batasan Berlaku jika: Percakapan teks | Bawaan— |
| Kolom`stream` | Jenis`boolean` | PersyaratanOpsional | Nilai & batasan | Bawaanfalse |

Kombinasi bahan masukan

**Teks** · Teks UTF8

`messages[].content`

Parameter metode dan siklus hidup

| Parameter | Kontrak |
| --- | --- |
| Parameter`content_type` | Kontrakapplication/json |
| Parameter`required` | Kontrakmodel, messages |
| Parameter`material_types` | Kontraktext |
| Parameter`messages` | Kontrakarray pesan dengan struktur role/content |
| Parameter`file_material` | Kontrakdokumen UTF-8 yang sebenarnya dimasukkan sebagai teks apa adanya; ID file tidak disimpulkan |
| Parameter`optional_controls` | Kontrakstream |
| Parameter`control_scope` | KontrakPercakapan teks; stream adalah nilai boolean dengan false sebagai bawaan. |
| Parameter`output_modalities` | Kontraktext |
| Parameter`hosted_operations` | Kontrakfalse |
| Parameter`multimodal_input_binding` | Kontraknull |

Alias metode: `/chat/completions`

Siklus hidup: `synchronous_or_streamed`

Kirim ID model yang tepat bersama messages.

Panjang konteks bukan batas keluaran.

File teks dapat menyediakan teks apa adanya; masukan gambar/audio/objek file memerlukan pengikatan yang tepat.

### Paket

Referensi tarif tidak menambah opsi permintaan. Parameter yang didukung tercantum pada metode yang dipilih.

Mode Fast

Tidak ditentukan Saat mode fast dipilih

Mode Flex

Tidak ditentukan Saat mode flex dipilih

Upaya penalaran maksimum

Tidak ditentukan Saat upaya penalaran maksimum menggunakan penyesuaian default

#### Tarif Ailoot

#### Harga menurut konfigurasi

| Konfigurasi | Jadwal tarif | Biaya |
| --- | --- | --- |
| KonfigurasiTarif dasar token | Jadwal tarifTarif dasar | Biaya Masukan · Token masukan **$0.000686** / 1K token Keluaran · Token keluaran **$0.002744** / 1K token Masukan · Pembacaan cache **$0** / 1K token Masukan · Penulisan cache **$0** / 1K token Masukan · Penulisan cache, 1 jam **—** / 1K token |

Ailoot mencadangkan perkiraan dana sebelum permintaan. Setelah hasil diterima, tagihan akhir diselesaikan berdasarkan penggunaan yang terukur. Penyelesaian tagihan streaming menggunakan catatan penggunaan akhir. [Cara kerja cadangan dan penyelesaian tagihan →](https://ailoot.ai/docs/id/billing/reserve/)

### Contoh permintaan

#### Ailoot Ultra · OpenAI Chat

curlPython SDK

```bash
set -eu
: "${AILOOT_API_KEY:?Set your Ailoot API key}"
python3 - <<'PY_REQUEST'
import json,os
from pathlib import Path
p=json.loads('{"model":"qwen-max-latest","messages":[{"role":"user","content":"hello"}],"stream":false}')

Path("request.json").write_text(json.dumps(p,ensure_ascii=False))
PY_REQUEST
curl --fail-with-body --silent --show-error https://api.ailoot.ai/v1/chat/completions \
  -H "Authorization: Bearer $AILOOT_API_KEY" -H 'Content-Type: application/json' \
  --data-binary @request.json -D response-headers.txt -o result.json
python3 - <<'PY_RESULT'
import json
from pathlib import Path
r=json.loads(Path("result.json").read_text())
for x in r.get("choices",[]):
    if x.get("message",{}).get("content"): print(x["message"]["content"])
PY_RESULT
```

```python
from openai import OpenAI
import os

if not os.environ.get("AILOOT_API_KEY", "").strip(): raise SystemExit("Set AILOOT_API_KEY before making a request")
client=OpenAI(base_url="https://api.ailoot.ai/v1",api_key=os.environ["AILOOT_API_KEY"],max_retries=0)
result=client.chat.completions.create(model="qwen-max-latest", messages=[{"role":"user","content":"hello"}], stream=False)
import base64, json
from pathlib import Path

def save_result(data, stem="result"):
    # Keep every field, including usage, IDs, reasoning and tool requests.
    Path(stem + ".json").write_text(json.dumps(data, ensure_ascii=False, indent=2), encoding="utf-8")
    print(json.dumps(data, ensure_ascii=False, indent=2))
    def save_blob(encoded, suffix, label):
        raw = base64.b64decode(encoded, altchars=b"-_", validate=True)
        ext = "png" if raw.startswith(b"\x89PNG\r\n\x1a\n") else "jpg" if raw.startswith(b"\xff\xd8") else "webp" if raw[:4] == b"RIFF" and raw[8:12] == b"WEBP" else suffix
        file = Path(stem + "-" + label + "." + ext)
        file.write_bytes(raw)
        print("Saved", file)
    for index, block in enumerate(data.get("content") or []):
        print("Content", index, json.dumps(block, ensure_ascii=False))
    for choice in data.get("choices") or []:
        print("Choice", choice.get("index"), json.dumps(choice.get("message", choice.get("delta", {})), ensure_ascii=False))
    for index, item in enumerate(data.get("output") or []):
        print("Output", index, json.dumps(item, ensure_ascii=False))
        if item.get("type") == "image_generation_call" and item.get("result"):
            save_blob(item["result"], item.get("output_format") or "bin", "output-" + str(index))
    for ci, candidate in enumerate(data.get("candidates") or []):
        for pi, part in enumerate((candidate.get("content") or {}).get("parts") or []):
            print("Candidate/part", ci, pi, json.dumps(part, ensure_ascii=False))
            blob = part.get("inlineData") or part.get("inline_data")
            if blob and blob.get("data"):
                mime = blob.get("mimeType") or blob.get("mime_type")
                suffix = {"image/png":"png", "image/jpeg":"jpg", "image/webp":"webp", "audio/wav":"wav", "audio/mpeg":"mp3", "video/mp4":"mp4"}.get(mime, "bin")
                save_blob(blob["data"], suffix, "candidate-" + str(ci) + "-part-" + str(pi))

save_result(result.to_dict(mode="json"))
```

### Terima dan simpan hasil

#### Ailoot Ultra · OpenAI Chat

json atau SSE

##### Simpan semua hasil yang selesai

Simpan setiap respons lengkap, berkas, dan bagian konten yang dikembalikan.

Simpan setiap alternatif jawaban beserta konten, panggilan alat, dan penalarannya. Dalam SSE, gabungkan delta menurut indeks alternatif jawaban/alat, lalu pertahankan alasan penghentian akhir dan data penggunaan.

##### Jika respons asli perlu diperiksa

Simpan ID permintaan/respons dan header. URL umum untuk pengambilan tugas teks tidak disediakan.

Kolom respons

| Kolom | Jenis |
| --- | --- |
| Kolom`choices[].index` | Jenisinteger |
| Kolom`choices[].message.content` | Jenisstring\|null |
| Kolom`choices[].message.tool_calls` | Jenistool\_call\[\] |
| Kolom`choices[].message.reasoning_content` | Jenisstring |
| Kolom`choices[].message.reasoning_details` | Jenisobject\|array |
| Kolom`choices[].finish_reason` | Jenisstring\|null |
| Kolom`usage` | Jenisobject |

Kesalahan dan langkah berikutnya

| Respons | Kondisi | Langkah berikutnya |
| --- | --- | --- |
| Respons400 · `invalid_request_error` | KondisiBidang wajib, representasi materi, atau nilai parameter tidak valid | Langkah berikutnyaPerbaiki bidang yang ditunjukkan sebelum permintaan pembuatan baru. |

### Alias

#### Alias model

**Ailoot Ultra** [`qwen-max-latest`](https://ailoot.ai/models/id/#m=qwen-max-latest&route=Ultra&caller=qwen-max-latest&fmt=chat)

#### Alias jalur metode

`/chat/completions`

#### ID pemanggil terkait

[`qwen-max-latest`](https://ailoot.ai/models/id/#m=qwen-max-latest&route=Ultra&caller=qwen-max-latest&fmt=chat)

**Ailoot Ultra · Anthropic Messages** `POST /v1/messages` `qwen-max-latest`

[`qwen-max-latest`](https://ailoot.ai/models/id/#m=qwen-max-latest&route=Ultra&caller=qwen-max-latest&fmt=messages)

Alibaba /`qwen-max-latest`

### Mulai

Qwen-Max adalah model teks untuk percakapan multibahasa, penalaran logis, pemrograman, dan pembuatan konten. Model ini menggabungkan kepatuhan instruksi yang mendetail dengan keluaran berorientasi JSON dan kontrol gaya respons.

Masukan yang diterima

Teks

Hasil

json · sse

### Tersedia di Ailoot · masukan & metode

**Ailoot Ultra · Anthropic Messages** `POST /v1/messages`

Masukan

`text`

Keluaran

`json`, `sse`

Format keluaran

JSON atau SSE

| Kolom | Jenis | Persyaratan | Nilai & batasan | Bawaan |
| --- | --- | --- | --- | --- |
| Kolom`model` | Jenis`string` | PersyaratanWajib | Nilai & batasan qwen-max-latest | Bawaan— |
| Kolom`messages` | Jenis`message[]` | PersyaratanWajib | Nilai & batasan | Bawaan— |
| Kolom`messages[].role` | Jenis`string` | PersyaratanWajib | Nilai & batasan user, assistant | Bawaan— |
| Kolom`messages[].content` | Jenis`string` | PersyaratanWajib | Nilai & batasan | Bawaan— |
| Kolom`max_tokens` | Jenis`integer` | PersyaratanWajib | Nilai & batasan | Bawaan— |
| Kolom`stream` | Jenis`boolean` | PersyaratanOpsional | Nilai & batasan | Bawaanfalse |

Kombinasi bahan masukan

**Teks** · Teks UTF-8

`string messages[].content`

Parameter metode dan siklus hidup

| Parameter | Kontrak |
| --- | --- |
| Parameter`content_type` | Kontrakapplication/json |
| Parameter`required` | Kontrakmodel, messages, max\_tokens |
| Parameter`optional_controls` | Kontrakstream |
| Parameter`material_types` | Kontraktext |
| Parameter`text_file_material` | KontrakBaca dokumen UTF-8 yang sebenarnya dan masukkan teksnya ke string masukan atau konten pesan yang ditunjukkan. |

Siklus hidup: `synchronous_or_streamed`

### Paket

Referensi tarif tidak menambah opsi permintaan. Parameter yang didukung tercantum pada metode yang dipilih.

Mode Fast

Tidak ditentukan Saat mode fast dipilih

Mode Flex

Tidak ditentukan Saat mode flex dipilih

Upaya penalaran maksimum

Tidak ditentukan Saat upaya penalaran maksimum menggunakan penyesuaian default

#### Tarif Ailoot

#### Harga menurut konfigurasi

| Konfigurasi | Jadwal tarif | Biaya |
| --- | --- | --- |
| KonfigurasiTarif dasar token | Jadwal tarifTarif dasar | Biaya Masukan · Token masukan **$0.000686** / 1K token Keluaran · Token keluaran **$0.002744** / 1K token Masukan · Pembacaan cache **$0** / 1K token Masukan · Penulisan cache **$0** / 1K token Masukan · Penulisan cache, 1 jam **—** / 1K token |

Ailoot mencadangkan perkiraan dana sebelum permintaan. Setelah hasil diterima, tagihan akhir diselesaikan berdasarkan penggunaan yang terukur. Penyelesaian tagihan streaming menggunakan catatan penggunaan akhir. [Cara kerja cadangan dan penyelesaian tagihan →](https://ailoot.ai/docs/id/billing/reserve/)

### Contoh permintaan

#### Ailoot Ultra · Anthropic Messages

Isi permintaan JSON minimal yang lengkapcurl · gunakan dokumen UTF-8 AndaPython · simpan hasil secara lengkap

```json
{
  "model": "qwen-max-latest",
  "max_tokens": 128,
  "messages": [
    {
      "role": "user",
      "content": "Summarize the incident report."
    }
  ],
  "stream": false
}
```

```bash
set -eu
: "${AILOOT_API_KEY:?Set your Ailoot API key}"
: "${AILOOT_TEXT_FILE:?Set your actual UTF-8 document}"
export AILOOT_TEXT_FILE
python3 - <<'PY_REQUEST'
import json, os
from pathlib import Path

source_file = Path(os.environ['AILOOT_TEXT_FILE'])
if not source_file.is_file():
    raise SystemExit('Set AILOOT_TEXT_FILE to your actual UTF-8 document')
text = source_file.read_text(encoding='utf-8')
if not text.strip():
    raise SystemExit('Choose a document containing text')
payload = {'model': 'qwen-max-latest', 'max_tokens': 128, 'messages': [{'role': 'user', 'content': 'Summarize the incident report.'}]}
payload['messages'][0]['content'] = 'Summarize this material and quote supporting source passages.\n\n' + text
Path('request.json').write_text(json.dumps(payload, ensure_ascii=False), encoding='utf-8')
PY_REQUEST
curl --fail-with-body --silent --show-error https://api.ailoot.ai/v1/messages \
  -H "x-api-key: $AILOOT_API_KEY" -H 'anthropic-version: 2023-06-01' -H 'Content-Type: application/json' \
  --data-binary @request.json -D response-headers.txt -o result.json
python3 - <<'PY_RESULT'
import json
from pathlib import Path

result = json.loads(Path('result.json').read_text(encoding='utf-8'))
print(json.dumps(result, ensure_ascii=False, indent=2))
PY_RESULT
```

```python
import json, os
from pathlib import Path

source_file = Path(os.environ['AILOOT_TEXT_FILE'])
if not source_file.is_file():
    raise SystemExit('Set AILOOT_TEXT_FILE to your actual UTF-8 document')
text = source_file.read_text(encoding='utf-8')
if not text.strip():
    raise SystemExit('Choose a document containing text')
payload = {'model': 'qwen-max-latest', 'max_tokens': 128, 'messages': [{'role': 'user', 'content': 'Summarize the incident report.'}]}
payload['messages'][0]['content'] = 'Summarize this material and quote supporting source passages.\n\n' + text
from urllib.request import Request, urlopen
from urllib.error import HTTPError

api_key = os.environ['AILOOT_API_KEY']
if not api_key.strip():
    raise SystemExit('Set AILOOT_API_KEY before making a request')
headers = {'x-api-key': 'PLACEHOLDER_KEY', 'anthropic-version': '2023-06-01', 'Content-Type': 'application/json'}
headers['x-api-key'] = api_key
request = Request('https://api.ailoot.ai/v1/messages', data=json.dumps(payload, ensure_ascii=False).encode('utf-8'), headers=headers, method='POST')
try:
    with urlopen(request, timeout=120) as response:
        raw = response.read()
        Path('response-headers.txt').write_text(str(response.headers), encoding='utf-8')
except HTTPError as error:
    Path('result.json').write_bytes(error.read())
    Path('response-headers.txt').write_text(str(error.headers), encoding='utf-8')
    raise
Path('result.json').write_bytes(raw)
import json
from pathlib import Path

result = json.loads(Path('result.json').read_text(encoding='utf-8'))
print(json.dumps(result, ensure_ascii=False, indent=2))
```

### Terima dan simpan hasil

#### Ailoot Ultra · Anthropic Messages

JSON atau SSE

##### Simpan semua hasil yang selesai

Simpan setiap respons lengkap, berkas, dan bagian konten yang dikembalikan.

Simpan semua blok konten, tanda tangan penalaran, dan ID penggunaan alat yang sebenarnya. Gabungkan semua delta blok SSE; blok teks pertama bukan keseluruhan keluaran.

##### Jika respons asli perlu diperiksa

Simpan ID permintaan/respons dan header. URL umum untuk pengambilan tugas teks tidak disediakan.

Kolom respons

| Kolom | Jenis |
| --- | --- |
| Kolom`id` | Jenisstring |
| Kolom`model` | Jenisstring |
| Kolom`content[]` | Jenistext\|thinking\|tool\_use\|other content block |
| Kolom`stop_reason` | Jenisstring\|null |
| Kolom`usage` | Jenisobject |

Kesalahan dan langkah berikutnya

| Respons | Kondisi | Langkah berikutnya |
| --- | --- | --- |
| Respons400 · `invalid_request_error` | KondisiBidang wajib, representasi materi, atau nilai parameter tidak valid | Langkah berikutnyaPerbaiki bidang yang ditunjukkan sebelum permintaan pembuatan baru. |

### Alias

#### Alias model

**Ailoot Ultra** [`qwen-max-latest`](https://ailoot.ai/models/id/#m=qwen-max-latest&route=Ultra&caller=qwen-max-latest&fmt=messages)

#### Alias jalur metode

`/chat/completions`

#### ID pemanggil terkait

[`qwen-max-latest`](https://ailoot.ai/models/id/#m=qwen-max-latest&route=Ultra&caller=qwen-max-latest&fmt=messages)

FAQ · qwen-max

Input dan hasil apa yang tersedia?

`POST /v1/chat/completions` · `qwen-max-latest`: `text` → `text` `POST /v1/messages` · `qwen-max-latest`: `text` → `json`, `sse`

Kolom apa yang digunakan permintaan?

`POST /v1/chat/completions` · `qwen-max-latest`: `model`, `messages`, `stream` `POST /v1/messages` · `qwen-max-latest`: `model`, `messages`, `max_tokens`, `stream`

Batasan apa yang berlaku?

`POST /v1/chat/completions` · `qwen-max-latest`: `messages.min_items`: `1`

Hubungkan Ailoot ke Claude Code, OpenCode, Hermes, atau aplikasi Anda.

## Perusahaan dan portofolio proyeknya

Perusahaan dan portofolio proyeknya: jutaan pelanggan; penjualan miliaran setiap bulan.

## Beli token dengan diskon.

Diskon langganan untuk pekerjaan rutin. Kode promo — hingga 50% untuk pembelian token.

Langganan

Pilih paket dengan diskon untuk permintaan rutin Anda.

Kode promo hingga 50%

Masukkan kode saat membeli. Harga dihitung ulang sesuai promosi aktif.

Biaya dalam riwayat

Model, token, dan jumlah tagihan disimpan untuk setiap permintaan.

[Pilih langganan](https://ailoot.ai/docs/id/billing/subscriptions/) · [Lihat harga model](https://ailoot.ai/models/id/)

## Hubungkan API ke produk yang Anda jual.

SaaS, aplikasi, dan bot — sesuai penawaran dan perjanjian lisensi Ailoot. Untuk penjualan kembali, mintalah lisensi reseller.

Aplikasi komersial

Integrasikan pembuatan teks, gambar, video, dan suara dalam fitur berbayar layanan Anda.

Lisensi reseller

Kirim deskripsi proyek dan skema akses. Mintalah ketentuan penggunaan dan penjualan kembali secara tertulis.

Dokumen di situs

Penawaran, perjanjian lisensi, dan kebijakan pemrosesan data tersedia sebelum koneksi.

[Minta lisensi reseller](mailto:support@ailoot.ai) · [Penawaran dan perjanjian lisensi](https://ailoot.ai/legal/offer?lang=id)

## Ailoot · Perusahaan dan portofolio proyeknya





Ailoot bertumpu pada pengalaman operasional yang teruji, basis pelanggan yang besar, layanan yang stabil, dan pemantauan KPI berkelanjutan.





Perusahaan dan portofolio proyeknya: jutaan pelanggan; penjualan miliaran setiap bulan.





Ailoot memanfaatkan pengalaman operasional ini untuk akses API ke fitur AI dalam produk pelanggan, agen, aplikasi, dan otomatisasi.
