Source: https://ailoot.ai/models/id/gemini-3-pro-preview/
Canonical: https://ailoot.ai/models/id/gemini-3-pro-preview/
Language: id

# gemini-3-pro-preview

[Markdown](https://ailoot.ai/models/id/gemini-3-pro-preview/index.md) · [JSON](https://ailoot.ai/models/id/gemini-3-pro-preview/facts.json)

## [gemini-3-pro-preview](https://ailoot.ai/models/id/gemini-3-pro-preview/)

Gemini 3 Pro Preview adalah model penalaran multimodal Google untuk teks, gambar, audio, video, dan PDF, dengan keluaran teks. Kapasitas masukannya yang besar, kemampuan pemrograman, dan alur kerja alat yang didukung cocok untuk analisis terperinci, perbandingan dokumen, dan pelaksanaan tugas berdasarkan bukti.

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

Tentang model

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

Gemini 3 Pro Preview adalah varian pratinjau Gemini 3 Pro bernama khusus dari Google untuk penalaran multimodal dan pembangkitan teks. Model ini dapat mengolah teks, gambar, audio, video, dan dokumen PDF lalu menghasilkan jawaban tertulis. Penggunaan yang dituju mencakup analisis kompleks, pemrograman tingkat lanjut, pengembangan algoritma, serta tugas yang menggabungkan kumpulan sumber besar dengan pertanyaan tertentu.

#### Model dan struktur masukan

Gemini 3 Pro adalah model sparse mixture-of-experts berbasis transformer dengan dukungan masukan multimodal bawaan. Arsitekturnya mengarahkan setiap token melalui sebagian expert yang dipilih. Ini merupakan perbedaan dalam desain model, bukan kontrol pengguna untuk memilih expert tertentu atau menetapkan konfigurasi penyajian model.

Siapkan masukan sesuai kebutuhan informasi tugas. Dokumen, tangkapan layar, dan rekaman audio masing-masing dapat memberikan bukti berbeda. Jelaskan isi setiap aset dan kontribusinya terhadap jawaban. Keluarannya tetap berupa teks; memahami materi visual atau ucapan tidak menjadikan varian pratinjau ini generator gambar, ucapan, atau video.

#### Analisis multimodal

Gunakan gambar untuk pertanyaan tentang isi yang terlihat, audio untuk informasi ucapan atau akustik, dan video untuk rangkaian yang perubahannya dari waktu ke waktu penting. Sertakan aset sebenarnya bersama pertanyaan, bukan hanya mendeskripsikannya dari ingatan. Saat membandingkan beberapa aset, beri label yang jelas agar jawaban dapat merujuk sumber yang tepat.

Misalnya, arahan analisis produk dapat menggabungkan spesifikasi tertulis, tangkapan layar antarmuka, dan rekaman demonstrasi. Mintalah perbandingan yang memisahkan janji dalam spesifikasi dari hal yang terlihat atau terdengar dalam materi yang diberikan. Tetapkan hasil yang diinginkan berupa temuan, pengamatan pendukung, dan pertanyaan yang belum terjawab.

Untuk tugas PDF, berikan dokumen dan tunjukkan bagian atau klaim yang perlu diperiksa. Pertanyaan yang berguna meminta perbandingan, ekstraksi, atau penjelasan yang terkait sumber, alih-alih sekadar ringkasan umum sebuah berkas besar.

#### Konteks panjang dan batas keluaran

Spesifikasi persis varian pratinjau ini mencantumkan batas masukan 1.048.576 token dan batas keluaran 65.536 token. Pembuat menyebut Januari 2025 sebagai batas pengetahuan; berikan bukti lebih baru jika pertanyaan bergantung pada kejadian atau informasi setelahnya. Kedua batas token tersebut berbeda. Kumpulan sumber besar dapat dibaca untuk menghasilkan jawaban terfokus tanpa perlu menyalin seluruh bagian masukan.

Susun materi panjang dengan struktur yang jelas: judul dokumen, batas bagian, jalur kode, dan pertanyaan yang harus dijawab keluaran. Letakkan pengecualian dan definisi yang relevan berdekatan dengan isi yang dibatasinya. Jika tugas membutuhkan laporan panjang, tentukan bagian laporan dan bukti yang diharapkan dalam setiap bagian.

Jendela konteks besar tidak menjamin setiap detail mendapat perhatian yang sama atau setiap kesimpulan benar. Google juga menyebut kemungkinan penurunan kualitas sepanjang percakapan beberapa giliran; tinjau fakta sumber penting dan konteks yang digunakan kembali seiring percakapan berkembang. Periksa jawaban terhadap bagian teks atau aset tertentu yang mendukung klaim pentingnya.

#### Pemrograman dan pengembangan algoritma

Penggunaan yang dituju produsen mencakup pemrograman tingkat lanjut dan pekerjaan algoritmik. Berikan sumber yang relevan, asumsi lingkungan, kegagalan yang diamati, dan perilaku yang diharapkan. Untuk tugas algoritma, tentukan masukan, keluaran yang diinginkan, serta syarat seperti urutan, duplikasi, atau data tidak valid.

Arahan debugging yang berguna memasangkan masukan yang gagal dan galatnya dengan bagian sumber terkecil yang relevan. Mintalah diagnosis dan perubahan terfokus, lalu periksa apakah perubahan yang diusulkan mengatasi perilaku yang dilaporkan. Kode yang dihasilkan beserta klaim bahwa kode seharusnya berfungsi berbeda dari implementasi yang sudah dijalankan dan diverifikasi.

Untuk pertanyaan repositori yang lebih besar, gunakan kapasitas masukan untuk menyertakan berkas yang diperlukan dengan label jalur yang jelas. Nyatakan apakah artefak yang diinginkan berupa penjelasan, usulan patch, atau analisis alternatif agar hasilnya memiliki tujuan konkret.

#### Alat, sumber, dan hasil terstruktur

Spesifikasi produsen untuk varian pratinjau ini mendukung pemanggilan fungsi, eksekusi kode, pencarian berkas, grounding penelusuran, dan konteks URL. Fitur-fitur tersebut memiliki peran berbeda. Panggilan fungsi menjelaskan operasi untuk dijalankan aplikasi; hasil alat kemudian menyediakan bukti bagi langkah model berikutnya. Eksekusi kode adalah alur kerja alat, bukan jaminan bahwa sembarang kode aplikasi yang dihasilkan telah diuji.

Grounding penelusuran dan konteks URL menyediakan alur kerja berorientasi sumber, sedangkan pencarian berkas bekerja dengan koleksi berkas yang telah disiapkan. Simpan hasil alat dan keterkaitan sumber bersama jawaban agar kesimpulan dapat diperiksa. Menurut spesifikasinya, varian ini tidak mendukung penggunaan komputer atau grounding Maps.

Dukungan keluaran terstruktur dapat menyatakan hasil dalam skema yang ditentukan. Tentukan kolom dan maknanya sebelum pembangkitan, lalu periksa isi sekaligus formatnya. Objek terstruktur yang valid tetap membutuhkan pemeriksaan fakta dan kesesuaiannya dengan tugas.

#### Penalaran, penggunaan kembali, dan batas antaredisi

Varian pratinjau ini mendukung thinking. Gunakan tugas yang jelas, bukti relevan, dan batasan eksplisit untuk pekerjaan yang memerlukan beberapa langkah penalaran. Hasilnya harus menjelaskan asumsi dan kesimpulan yang berguna; penalaran tersembunyi atau keberadaan mode thinking sendiri bukan verifikasi.

Produsen juga mencantumkan dukungan caching dan batch. Keduanya merupakan fitur pemrosesan yang terpisah dari kemampuan isi model, dan keberadaannya tidak membuktikan suatu permintaan masuk cache atau hasil batch benar.

Bedakan Gemini 3 Pro Preview dari Gemini 3.1 Pro Preview, Gemini 3 Pro Image, serta varian audio atau Live. Keluaran varian pratinjau ini berupa teks, dan spesifikasinya tidak mencakup pembangkitan gambar, pembangkitan audio, atau operasi Live. Evaluasi jawaban, kode, atau hasil terstruktur yang dikembalikan berdasarkan kumpulan sumber yang diberikan dan tujuan tugas.

**Ailoot Ultra · OpenAI Chat** `POST /v1/chat/completions` `gemini-3-pro-preview`

[`gemini-3-pro-preview`](https://ailoot.ai/models/id/#m=gemini-3-pro-preview&route=Ultra&caller=gemini-3-pro-preview&fmt=chat)

Lainnya /`gemini-3-pro-preview`

### Mulai

Gemini 3 Pro Preview adalah model penalaran multimodal Google untuk teks, gambar, audio, video, dan PDF, dengan keluaran teks. Kapasitas masukannya yang besar, kemampuan pemrograman, dan alur kerja alat yang didukung cocok untuk analisis terperinci, perbandingan dokumen, dan pelaksanaan tugas berdasarkan bukti.

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 gemini-3-pro-preview | 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

Harga cache eksplisit

Tidak diaktifkan Saat cache eksplisit diminta

#### Tarif Ailoot

#### Harga menurut konfigurasi

| Konfigurasi | Jadwal tarif | Biaya |
| --- | --- | --- |
| KonfigurasiTarif dasar token | Jadwal tarifTarif dasar | Biaya Masukan · Token masukan **$0.004** / 1K token Keluaran · Token keluaran **$0.024** / 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":"gemini-3-pro-preview","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="gemini-3-pro-preview", 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** [`gemini-3-pro-preview`](https://ailoot.ai/models/id/#m=gemini-3-pro-preview&route=Ultra&caller=gemini-3-pro-preview&fmt=chat)

#### Alias jalur metode

`/chat/completions`

#### ID pemanggil terkait

[`gemini-3-pro-preview`](https://ailoot.ai/models/id/#m=gemini-3-pro-preview&route=Ultra&caller=gemini-3-pro-preview&fmt=chat)

**Ailoot Ultra · Anthropic Messages** `POST /v1/messages` `gemini-3-pro-preview`

[`gemini-3-pro-preview`](https://ailoot.ai/models/id/#m=gemini-3-pro-preview&route=Ultra&caller=gemini-3-pro-preview&fmt=messages)

Lainnya /`gemini-3-pro-preview`

### Mulai

Gemini 3 Pro Preview adalah model penalaran multimodal Google untuk teks, gambar, audio, video, dan PDF, dengan keluaran teks. Kapasitas masukannya yang besar, kemampuan pemrograman, dan alur kerja alat yang didukung cocok untuk analisis terperinci, perbandingan dokumen, dan pelaksanaan tugas berdasarkan bukti.

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 gemini-3-pro-preview | 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

Harga cache eksplisit

Tidak diaktifkan Saat cache eksplisit diminta

#### Tarif Ailoot

#### Harga menurut konfigurasi

| Konfigurasi | Jadwal tarif | Biaya |
| --- | --- | --- |
| KonfigurasiTarif dasar token | Jadwal tarifTarif dasar | Biaya Masukan · Token masukan **$0.004** / 1K token Keluaran · Token keluaran **$0.024** / 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": "gemini-3-pro-preview",
  "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': 'gemini-3-pro-preview', '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': 'gemini-3-pro-preview', '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** [`gemini-3-pro-preview`](https://ailoot.ai/models/id/#m=gemini-3-pro-preview&route=Ultra&caller=gemini-3-pro-preview&fmt=messages)

#### Alias jalur metode

`/chat/completions`

#### ID pemanggil terkait

[`gemini-3-pro-preview`](https://ailoot.ai/models/id/#m=gemini-3-pro-preview&route=Ultra&caller=gemini-3-pro-preview&fmt=messages)

FAQ · gemini-3-pro-preview

Input dan hasil apa yang tersedia?

`POST /v1/chat/completions` · `gemini-3-pro-preview`: `text` → `text` `POST /v1/messages` · `gemini-3-pro-preview`: `text` → `json`, `sse`

Kolom apa yang digunakan permintaan?

`POST /v1/chat/completions` · `gemini-3-pro-preview`: `model`, `messages`, `stream` `POST /v1/messages` · `gemini-3-pro-preview`: `model`, `messages`, `max_tokens`, `stream`

Batasan apa yang berlaku?

`POST /v1/chat/completions` · `gemini-3-pro-preview`: `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.
