model

OpenAI: GPT-5 Nano

Markdown · JSON

OpenAI: GPT-5 Nano

Edisi Nano dari GPT-5 dirancang untuk peringkasan dan klasifikasi yang terarah. Model menerima teks dan gambar serta mengembalikan teks, dengan penalaran yang dapat dikonfigurasi dan format hasil yang jelas untuk tugas berulang atau pendukung.

Tentang model

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

GPT-5 Nano adalah edisi Nano dari keluarga penalaran GPT-5 milik OpenAI. Produsen menyoroti peringkasan dan klasifikasi sebagai penggunaan praktis. Model menerima teks dan gambar serta menghasilkan teks, sehingga menjadi pilihan model terarah untuk operasi tertentu dalam alur kerja yang lebih besar. Nano mempertahankan identitas dan spesifikasi edisinya sendiri.

Untuk peringkasan, sediakan bahan sumber dan tujuan ringkasan. Contoh permintaannya adalah mengubah beberapa pesan tentang satu masalah menjadi ringkasan yang memuat topik, fakta yang telah dipastikan, dan pertanyaan berikutnya. Tentukan panjang, detail yang harus dipertahankan, serta perbedaan antara pernyataan dalam sumber dan kesimpulan. Ini memberi ringkasan kegunaan konkret, alih-alih meminta model memendekkan setiap bagian dengan porsi yang sama.

Untuk klasifikasi, sediakan kategori yang diizinkan dan kriteria yang membedakannya. Sertakan contoh ketika dapat memperjelas batas yang sulit, dan tentukan cara merepresentasikan kasus yang tidak sesuai dengan kategori yang tersedia. Hasil yang berguna adalah kategori dan penjelasan ringkas yang terkait dengan masukan. Gambar dapat menyediakan informasi visual yang relevan ketika tugas menentukan detail atau label yang penting.

OpenAI mencantumkan jendela konteks 400000 token, masukan maksimum 272000 token, dan keluaran maksimum 128000 token, dengan batas pengetahuan 31 Mei 2024. Rilis pengembang GPT-5 menyertakan Nano sebagai salah satu dari tiga ukuran yang mendukung pengaturan upaya penalaran, tingkat perincian jawaban (verbosity), dan alat khusus. Pilihan upaya yang didokumentasikan untuk keluarga ini adalah minimal, low, medium, dan high; verbosity mengatur perincian jawaban secara terpisah dari analisis. Penalaran dan keluaran yang terlihat berbagi anggaran token yang dihasilkan.

Kartu model yang khusus untuk edisi ini mencantumkan antarmuka Responses, Chat Completions, dan Batch, streaming, Structured Outputs, pemanggilan fungsi, masukan berkas dan gambar, pencarian berkas, serta cache prompt. Perangkat alat yang dicantumkan mencakup fungsi, pencarian web dan berkas, pembuatan gambar, interpretasi kode, serta koneksi MCP. Operasi alat terpisah dari hasil tertulis model: aplikasi menjalankan tindakannya dan mengembalikan keluaran sebenarnya untuk melanjutkan pekerjaan.

Tentukan kontrak keluaran yang terbatas, seperti ringkasan, kategori, daftar field yang diekstrak, atau usulan jawaban ringkas. Nyatakan cara menangani informasi yang tidak tersedia dan jaga aturan tetap konsisten saat memproses masukan serupa. Untuk tugas bertahap, teruskan hasil yang relevan ke tahap berikutnya beserta pertanyaan yang belum terselesaikan. Tinjau hasil akhir terhadap sumber dan kriteria yang disediakan, dengan membedakan operasi yang telah dilakukan dari operasi yang baru diusulkan.

Tugas praktis

Tugas praktis

Contoh teknis dalam bahasa Inggris

Summarize a narrow issue without inference

Summarize these notes in three bullets for a team lead: support saw six complaints about password-reset emails; delivery logs are not yet checked; the issue began after Tuesday's template change; no causal link is established. Preserve the count and timing, state the unknown and name the next check. Avoid assigning a cause.

Hasil yang diharapkan

Three concise bullets covering established observations, the unresolved cause and the next evidence-gathering step.

Periksa hasil

Six complaints and Tuesday remain exact, while the template change is not declared the cause.
Ailoot Ultra · OpenAI Chat POST /v1/chat/completions gpt-5-nano

gpt-5-nano

OpenAI /gpt-5-nano
ID model
  • gpt-5-nano
  • openai/gpt-5-nano

Mulai

Edisi Nano dari GPT-5 dirancang untuk peringkasan dan klasifikasi yang terarah. Model menerima teks dan gambar serta mengembalikan teks, dengan penalaran yang dapat dikonfigurasi dan format hasil yang jelas untuk tugas berulang atau pendukung.

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
KolomJenisPersyaratanNilai & batasanBawaan
KolommodelJenisstringPersyaratanWajibNilai & batasan
gpt-5-nano
Bawaan—
KolommessagesJenismessage[]PersyaratanWajibNilai & batasan
Item minimum: 1
Bawaan—
Kolommessages[].roleJenisstringPersyaratanWajibNilai & batasan
Bergantung pada model
Bawaan—
Kolommessages[].contentJenisstringPersyaratanOpsionalNilai & batasan
Berlaku jika: Percakapan teks
Bawaan—
KolomstreamJenisbooleanPersyaratanOpsionalNilai & batasanBawaanfalse
Kombinasi bahan masukan

Teks · Teks UTF8

messages[].content

Parameter metode dan siklus hidup
ParameterKontrak
Parametercontent_typeKontrakapplication/json
ParameterrequiredKontrakmodel, messages
Parametermaterial_typesKontraktext
ParametermessagesKontrakarray pesan dengan struktur role/content
Parameterfile_materialKontrakdokumen UTF-8 yang sebenarnya dimasukkan sebagai teks apa adanya; ID file tidak disimpulkan
Parameteroptional_controlsKontrakstream
Parametercontrol_scopeKontrakPercakapan teks; stream adalah nilai boolean dengan false sebagai bawaan.
Parameteroutput_modalitiesKontraktext
Parameterhosted_operationsKontrakfalse
Parametermultimodal_input_bindingKontraknull

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
Tarif standar Saat mode fast dipilih
Mode Flex
Tarif standar Saat mode flex dipilih
Upaya penalaran maksimum
Tarif standar Saat upaya penalaran maksimum menggunakan penyesuaian default
Upaya penalaran · high
Tarif standar Saat upaya penalaran bernilai high
Upaya penalaran · low
Tarif standar Saat upaya penalaran bernilai low
Upaya penalaran · medium
Tarif standar Saat upaya penalaran bernilai medium
Upaya penalaran · minimal
Tarif standar Saat upaya penalaran bernilai minimal

Tarif Ailoot

Harga menurut konfigurasi

Cocokkan setiap biaya dengan kondisi yang ditampilkan. Gunakan satu tarif untuk setiap kelompok konfigurasi alternatif.

KonfigurasiJadwal tarifToken konteks, lebih dariToken konteks, hingga dan termasukBiaya
KonfigurasiTarif dasar tokenJadwal tarifTarif dasarToken konteks, lebih dari—Token konteks, hingga dan termasukTanpa batas atasBiaya
Masukan · Token masukan $0.0001 / 1K token
Keluaran · Token keluaran $0.0008 / 1K token
Masukan · Pembacaan cache $0.00001 / 1K token
Masukan · Penulisan cache $0 / 1K token
Masukan · Penulisan cache, 1 jam — / 1K token
KonfigurasiPanjang permintaan · tingkat 1Jadwal tarif—Token konteks, lebih dari0Token konteks, hingga dan termasukTanpa batas atasBiaya
Masukan · Token masukan $0.0001 / 1K token
Keluaran · Token keluaran $0.0008 / 1K token
Masukan · Pembacaan cache $0.00001 / 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 →

Contoh permintaan

Ailoot Ultra · OpenAI Chat

curlPython SDK
set -eu
: "${AILOOT_API_KEY:?Set your Ailoot API key}"
python3 - <<'PY_REQUEST'
import json,os
from pathlib import Path
p=json.loads('{"model":"gpt-5-nano","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
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="gpt-5-nano", 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
KolomJenis
Kolomchoices[].indexJenisinteger
Kolomchoices[].message.contentJenisstring|null
Kolomchoices[].message.tool_callsJenistool_call[]
Kolomchoices[].message.reasoning_contentJenisstring
Kolomchoices[].message.reasoning_detailsJenisobject|array
Kolomchoices[].finish_reasonJenisstring|null
KolomusageJenisobject
Kesalahan dan langkah berikutnya
ResponsKondisiLangkah berikutnya
Respons400 · invalid_request_errorKondisiBidang wajib, representasi materi, atau nilai parameter tidak validLangkah berikutnyaPerbaiki bidang yang ditunjukkan sebelum permintaan pembuatan baru.

Alias

Alias model

Ailoot Ultra gpt-5-nano, openai/gpt-5-nano

Alias jalur metode

/chat/completions

ID pemanggil terkait

openai/gpt-5-nano, gpt-5-nano

Ailoot Ultra · Anthropic Messages POST /v1/messages gpt-5-nano

gpt-5-nano

OpenAI /gpt-5-nano
ID model
  • gpt-5-nano
  • openai/gpt-5-nano

Mulai

Edisi Nano dari GPT-5 dirancang untuk peringkasan dan klasifikasi yang terarah. Model menerima teks dan gambar serta mengembalikan teks, dengan penalaran yang dapat dikonfigurasi dan format hasil yang jelas untuk tugas berulang atau pendukung.

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
KolomJenisPersyaratanNilai & batasanBawaan
KolommodelJenisstringPersyaratanWajibNilai & batasan
gpt-5-nano
Bawaan—
KolommessagesJenismessage[]PersyaratanWajibNilai & batasanBawaan—
Kolommessages[].roleJenisstringPersyaratanWajibNilai & batasan
user, assistant
Bawaan—
Kolommessages[].contentJenisstringPersyaratanWajibNilai & batasanBawaan—
Kolommax_tokensJenisintegerPersyaratanWajibNilai & batasanBawaan—
KolomstreamJenisbooleanPersyaratanOpsionalNilai & batasanBawaanfalse
Kombinasi bahan masukan

Teks · Teks UTF-8

string messages[].content

Parameter metode dan siklus hidup
ParameterKontrak
Parametercontent_typeKontrakapplication/json
ParameterrequiredKontrakmodel, messages, max_tokens
Parameteroptional_controlsKontrakstream
Parametermaterial_typesKontraktext
Parametertext_file_materialKontrakBaca 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
Tarif standar Saat mode fast dipilih
Mode Flex
Tarif standar Saat mode flex dipilih
Upaya penalaran maksimum
Tarif standar Saat upaya penalaran maksimum menggunakan penyesuaian default
Upaya penalaran · high
Tarif standar Saat upaya penalaran bernilai high
Upaya penalaran · low
Tarif standar Saat upaya penalaran bernilai low
Upaya penalaran · medium
Tarif standar Saat upaya penalaran bernilai medium
Upaya penalaran · minimal
Tarif standar Saat upaya penalaran bernilai minimal

Tarif Ailoot

Harga menurut konfigurasi

Cocokkan setiap biaya dengan kondisi yang ditampilkan. Gunakan satu tarif untuk setiap kelompok konfigurasi alternatif.

KonfigurasiJadwal tarifToken konteks, lebih dariToken konteks, hingga dan termasukBiaya
KonfigurasiTarif dasar tokenJadwal tarifTarif dasarToken konteks, lebih dari—Token konteks, hingga dan termasukTanpa batas atasBiaya
Masukan · Token masukan $0.0001 / 1K token
Keluaran · Token keluaran $0.0008 / 1K token
Masukan · Pembacaan cache $0.00001 / 1K token
Masukan · Penulisan cache $0 / 1K token
Masukan · Penulisan cache, 1 jam — / 1K token
KonfigurasiPanjang permintaan · tingkat 1Jadwal tarif—Token konteks, lebih dari0Token konteks, hingga dan termasukTanpa batas atasBiaya
Masukan · Token masukan $0.0001 / 1K token
Keluaran · Token keluaran $0.0008 / 1K token
Masukan · Pembacaan cache $0.00001 / 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 →

Contoh permintaan

Ailoot Ultra · Anthropic Messages

Isi permintaan JSON minimal yang lengkapcurl · gunakan dokumen UTF-8 AndaPython · simpan hasil secara lengkap
{
  "model": "gpt-5-nano",
  "max_tokens": 128,
  "messages": [
    {
      "role": "user",
      "content": "Summarize the incident report."
    }
  ],
  "stream": false
}
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': 'gpt-5-nano', '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
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': 'gpt-5-nano', '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
KolomJenis
KolomidJenisstring
KolommodelJenisstring
Kolomcontent[]Jenistext|thinking|tool_use|other content block
Kolomstop_reasonJenisstring|null
KolomusageJenisobject
Kesalahan dan langkah berikutnya
ResponsKondisiLangkah berikutnya
Respons400 · invalid_request_errorKondisiBidang wajib, representasi materi, atau nilai parameter tidak validLangkah berikutnyaPerbaiki bidang yang ditunjukkan sebelum permintaan pembuatan baru.

Alias

Alias model

Ailoot Ultra gpt-5-nano, openai/gpt-5-nano

Alias jalur metode

/chat/completions

ID pemanggil terkait

openai/gpt-5-nano, gpt-5-nano

Ailoot Ultra · OpenAI Chat POST /v1/chat/completions openai/gpt-5-nano

openai/gpt-5-nano

OpenAI /openai/gpt-5-nano
ID model
  • gpt-5-nano
  • openai/gpt-5-nano

Mulai

Edisi Nano dari GPT-5 dirancang untuk peringkasan dan klasifikasi yang terarah. Model menerima teks dan gambar serta mengembalikan teks, dengan penalaran yang dapat dikonfigurasi dan format hasil yang jelas untuk tugas berulang atau pendukung.

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
KolomJenisPersyaratanNilai & batasanBawaan
KolommodelJenisstringPersyaratanWajibNilai & batasan
openai/gpt-5-nano
Bawaan—
KolommessagesJenismessage[]PersyaratanWajibNilai & batasan
Item minimum: 1
Bawaan—
Kolommessages[].roleJenisstringPersyaratanWajibNilai & batasan
Contoh: system, user, assistant, tool, function
Kondisi: Peran ini direpresentasikan secara eksplisit oleh tipe kompatibilitas dalam kode sumber; kumpulan peran model yang tepat tetap khusus untuk tiap model.
Bergantung pada model
Bawaan—
Kolommessages[].contentJenisstring|content_part[]|nullPersyaratanOpsionalNilai & batasanBawaan—
Kolommessages[].tool_callsJenistool_call[]PersyaratanOpsionalNilai & batasanBawaan—
Kolommessages[].tool_call_idJenisstringPersyaratanOpsionalNilai & batasan
Berlaku jika: role=tool; gunakan ID yang benar-benar dikembalikan
Bawaan—
Kolommessages[].nameJenisstringPersyaratanOpsionalNilai & batasanBawaan—
Kolommessages[].reasoning_contentJenisstringPersyaratanOpsionalNilai & batasan
Berlaku jika: Kirim kembali penalaran yang benar-benar dikembalikan jika model ini menggunakannya
Bawaan—
Kolommessages[].reasoning_detailsJenisobject|arrayPersyaratanOpsionalNilai & batasan
Bergantung pada model
Bawaan—
Kolommax_tokensJenisintegerPersyaratanOpsionalNilai & batasan
Minimum: 1
Bergantung pada model
Bawaan—
Kolommax_completion_tokensJenisintegerPersyaratanOpsionalNilai & batasan
Minimum: 1
Bergantung pada model
Bawaan—
KolomstreamJenisbooleanPersyaratanOpsionalNilai & batasanBawaanfalse
Kolomstream_options.include_usageJenisbooleanPersyaratanOpsionalNilai & batasan
Bergantung pada model
Bawaan—
KolomtemperatureJenisnumberPersyaratanOpsionalNilai & batasan
Bergantung pada model
Bawaan—
Kolomtop_pJenisnumberPersyaratanOpsionalNilai & batasan
Bergantung pada model
Bawaan—
KolomstopJenisstring|string[]PersyaratanOpsionalNilai & batasan
Bergantung pada model
Bawaan—
KolomtoolsJenisfunction_tool[]PersyaratanOpsionalNilai & batasan
Bergantung pada model
Bawaan—
Kolomtools[].typeJenisstringPersyaratanOpsionalNilai & batasan
function
Bergantung pada model
Bawaan—
Kolomtools[].function.nameJenisstringPersyaratanWajibNilai & batasan
Berlaku jika: alat fungsi disediakan
Bawaan—
Kolomtools[].function.descriptionJenisstringPersyaratanOpsionalNilai & batasanBawaan—
Kolomtools[].function.parametersJenisJSON_schemaPersyaratanOpsionalNilai & batasanBawaan—
Kolomtool_choiceJenisstring|objectPersyaratanOpsionalNilai & batasan
Bergantung pada model
Bawaan—
Kolomparallel_tool_callsJenisbooleanPersyaratanOpsionalNilai & batasan
Bergantung pada model
Bawaan—
Kolomresponse_formatJenisobjectPersyaratanOpsionalNilai & batasan
Bergantung pada model
Bawaan—
Kolomreasoning_effortJenisstringPersyaratanOpsionalNilai & batasan
Bergantung pada model
Bawaan—
KolomreasoningJenisobjectPersyaratanOpsionalNilai & batasan
Bergantung pada model
Bawaan—
Kolomservice_tierJenisstringPersyaratanOpsionalNilai & batasan
Bergantung pada model
Bawaan—
KolominstructionsJenisstringPersyaratanOpsionalNilai & batasan
Kolom kompatibilitas
Bawaan—
KolomfunctionsJenisfunction[]PersyaratanOpsionalNilai & batasan
Bergantung pada model
Bawaan—
Kolomfunction_callJenisstring|objectPersyaratanOpsionalNilai & batasan
Bergantung pada model
Bawaan—
Kolomprompt_cache_optionsJenisobjectPersyaratanOpsionalNilai & batasan
Bergantung pada model
Bawaan—
KolommodalitiesJenisstring[]PersyaratanOpsionalNilai & batasan
text
Bawaan—
KolomproviderJenisobjectPersyaratanOpsionalNilai & batasan
Kondisi: provider.options ditolak pada rute teks Ultra ini
Bawaan—
Kolomcache_control.ttlJenisstringPersyaratanOpsionalNilai & batasan
Kondisi: 1h ditolak pada lokasi cache prompt yang digunakan
Bawaan—
Kombinasi bahan masukan

Teks · Teks UTF8

messages[].content

Parameter metode dan siklus hidup
ParameterKontrak
Parametercontent_typeKontrakapplication/json
ParameterrequiredKontrakmodel, messages
Parametermaterial_typesKontraktext
ParametermessagesKontrakarray pesan dengan struktur role/content
Parameterfile_materialKontrakdokumen UTF-8 yang sebenarnya dimasukkan sebagai teks apa adanya; ID file tidak disimpulkan
Parameteroptional_controlsKontrakstream, temperature, top_p, stop, max_tokens, max_completion_tokens, reasoning, response_format, tools, tool_choice
Parametercontrol_scopeKontrakkhusus model; alat fungsi pengguna berbeda dari alat yang dihosting
Parameteroutput_modalitiesKontraktext
Parameterhosted_operationsKontrakfalse
Parametermultimodal_input_bindingKontraknull

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
Tarif standar Saat mode fast dipilih
Mode Flex
Tarif standar Saat mode flex dipilih
Upaya penalaran maksimum
Tarif standar Saat upaya penalaran maksimum menggunakan penyesuaian default
Upaya penalaran · high
Tarif standar Saat upaya penalaran bernilai high
Upaya penalaran · low
Tarif standar Saat upaya penalaran bernilai low
Upaya penalaran · medium
Tarif standar Saat upaya penalaran bernilai medium
Upaya penalaran · minimal
Tarif standar Saat upaya penalaran bernilai minimal

Tarif Ailoot

Harga menurut konfigurasi

Cocokkan setiap biaya dengan kondisi yang ditampilkan. Gunakan satu tarif untuk setiap kelompok konfigurasi alternatif.

KonfigurasiJadwal tarifToken konteks, lebih dariToken konteks, hingga dan termasukBiaya
KonfigurasiTarif dasar tokenJadwal tarifTarif dasarToken konteks, lebih dari—Token konteks, hingga dan termasukTanpa batas atasBiaya
Masukan · Token masukan $0.0001 / 1K token
Keluaran · Token keluaran $0.0008 / 1K token
Masukan · Pembacaan cache $0.00001 / 1K token
Masukan · Penulisan cache $0 / 1K token
Masukan · Penulisan cache, 1 jam — / 1K token
KonfigurasiPanjang permintaan · tingkat 1Jadwal tarif—Token konteks, lebih dari0Token konteks, hingga dan termasukTanpa batas atasBiaya
Masukan · Token masukan $0.0001 / 1K token
Keluaran · Token keluaran $0.0008 / 1K token
Masukan · Pembacaan cache $0.00001 / 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 →

Contoh permintaan

Ailoot Ultra · OpenAI Chat

curlPython SDKAliran Python
set -eu
: "${AILOOT_API_KEY:?Set your Ailoot API key}"
python3 - <<'PY_REQUEST'
import json,os
from pathlib import Path
p=json.loads('{"model": "openai/gpt-5-nano", "messages": [{"role": "user", "content": "Explain the difference between an observation and a hypothesis in three sentences."}]}')

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
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='openai/gpt-5-nano',messages=[{"role":"user","content":"Explain observations and hypotheses in three sentences."}])
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"))
from openai import OpenAI
import os
from pathlib import Path

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)
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))

with client.chat.completions.stream(model='openai/gpt-5-nano',messages=[{"role":"user","content":"Explain observations and hypotheses in three sentences."}]) as stream:
    with Path("stream-events.jsonl").open("w",encoding="utf-8") as log:
        for event in stream:
            payload=event.to_dict(mode="json")
            log.write(json.dumps(payload,ensure_ascii=False)+"\n"); log.flush()
            print(json.dumps(payload,ensure_ascii=False))
    final=stream.get_final_completion()
    save_result(final.to_dict(mode="json"),"stream-result")

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
KolomJenis
Kolomchoices[].indexJenisinteger
Kolomchoices[].message.contentJenisstring|null
Kolomchoices[].message.tool_callsJenistool_call[]
Kolomchoices[].message.reasoning_contentJenisstring
Kolomchoices[].message.reasoning_detailsJenisobject|array
Kolomchoices[].finish_reasonJenisstring|null
KolomusageJenisobject
Kesalahan dan langkah berikutnya
ResponsKondisiLangkah berikutnya
Respons400 · invalid_request_errorKondisiBidang wajib, representasi materi, atau nilai parameter tidak validLangkah berikutnyaPerbaiki bidang yang ditunjukkan sebelum permintaan pembuatan baru.

Alias

Alias model

Ailoot Ultra gpt-5-nano, openai/gpt-5-nano

Alias jalur metode

/chat/completions

ID pemanggil terkait

openai/gpt-5-nano, gpt-5-nano

Ailoot Ultra · Anthropic Messages POST /v1/messages openai/gpt-5-nano

openai/gpt-5-nano

OpenAI /openai/gpt-5-nano
ID model
  • gpt-5-nano
  • openai/gpt-5-nano

Mulai

Edisi Nano dari GPT-5 dirancang untuk peringkasan dan klasifikasi yang terarah. Model menerima teks dan gambar serta mengembalikan teks, dengan penalaran yang dapat dikonfigurasi dan format hasil yang jelas untuk tugas berulang atau pendukung.

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
KolomJenisPersyaratanNilai & batasanBawaan
KolommodelJenisstringPersyaratanWajibNilai & batasan
openai/gpt-5-nano
Bawaan—
KolommessagesJenismessage[]PersyaratanWajibNilai & batasanBawaan—
Kolommessages[].roleJenisstringPersyaratanWajibNilai & batasan
user, assistant
Bawaan—
Kolommessages[].contentJenisstringPersyaratanWajibNilai & batasanBawaan—
Kolommax_tokensJenisintegerPersyaratanWajibNilai & batasanBawaan—
KolomstreamJenisbooleanPersyaratanOpsionalNilai & batasanBawaanfalse
Kombinasi bahan masukan

Teks · Teks UTF-8

string messages[].content

Parameter metode dan siklus hidup
ParameterKontrak
Parametercontent_typeKontrakapplication/json
ParameterrequiredKontrakmodel, messages, max_tokens
Parameteroptional_controlsKontrakstream
Parametermaterial_typesKontraktext
Parametertext_file_materialKontrakBaca 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
Tarif standar Saat mode fast dipilih
Mode Flex
Tarif standar Saat mode flex dipilih
Upaya penalaran maksimum
Tarif standar Saat upaya penalaran maksimum menggunakan penyesuaian default
Upaya penalaran · high
Tarif standar Saat upaya penalaran bernilai high
Upaya penalaran · low
Tarif standar Saat upaya penalaran bernilai low
Upaya penalaran · medium
Tarif standar Saat upaya penalaran bernilai medium
Upaya penalaran · minimal
Tarif standar Saat upaya penalaran bernilai minimal

Tarif Ailoot

Harga menurut konfigurasi

Cocokkan setiap biaya dengan kondisi yang ditampilkan. Gunakan satu tarif untuk setiap kelompok konfigurasi alternatif.

KonfigurasiJadwal tarifToken konteks, lebih dariToken konteks, hingga dan termasukBiaya
KonfigurasiTarif dasar tokenJadwal tarifTarif dasarToken konteks, lebih dari—Token konteks, hingga dan termasukTanpa batas atasBiaya
Masukan · Token masukan $0.0001 / 1K token
Keluaran · Token keluaran $0.0008 / 1K token
Masukan · Pembacaan cache $0.00001 / 1K token
Masukan · Penulisan cache $0 / 1K token
Masukan · Penulisan cache, 1 jam — / 1K token
KonfigurasiPanjang permintaan · tingkat 1Jadwal tarif—Token konteks, lebih dari0Token konteks, hingga dan termasukTanpa batas atasBiaya
Masukan · Token masukan $0.0001 / 1K token
Keluaran · Token keluaran $0.0008 / 1K token
Masukan · Pembacaan cache $0.00001 / 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 →

Contoh permintaan

Ailoot Ultra · Anthropic Messages

Isi permintaan JSON minimal yang lengkapcurl · gunakan dokumen UTF-8 AndaPython · simpan hasil secara lengkap
{
  "model": "openai/gpt-5-nano",
  "max_tokens": 128,
  "messages": [
    {
      "role": "user",
      "content": "Summarize the incident report."
    }
  ],
  "stream": false
}
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': 'openai/gpt-5-nano', '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
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': 'openai/gpt-5-nano', '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
KolomJenis
KolomidJenisstring
KolommodelJenisstring
Kolomcontent[]Jenistext|thinking|tool_use|other content block
Kolomstop_reasonJenisstring|null
KolomusageJenisobject
Kesalahan dan langkah berikutnya
ResponsKondisiLangkah berikutnya
Respons400 · invalid_request_errorKondisiBidang wajib, representasi materi, atau nilai parameter tidak validLangkah berikutnyaPerbaiki bidang yang ditunjukkan sebelum permintaan pembuatan baru.

Alias

Alias model

Ailoot Ultra gpt-5-nano, openai/gpt-5-nano

Alias jalur metode

/chat/completions

ID pemanggil terkait

openai/gpt-5-nano, gpt-5-nano

FAQ · OpenAI: GPT-5 Nano
Input dan hasil apa yang tersedia?

POST /v1/chat/completions · gpt-5-nano: text → text

POST /v1/messages · gpt-5-nano: text → json, sse

POST /v1/chat/completions · openai/gpt-5-nano: text → text

POST /v1/messages · openai/gpt-5-nano: text → json, sse

Kolom apa yang digunakan permintaan?

POST /v1/chat/completions · gpt-5-nano: model, messages, stream

POST /v1/messages · gpt-5-nano: model, messages, max_tokens, stream

POST /v1/chat/completions · openai/gpt-5-nano: model, messages, stream, modalities, provider

POST /v1/messages · openai/gpt-5-nano: model, messages, max_tokens, stream

Batasan apa yang berlaku?

POST /v1/chat/completions · gpt-5-nano: messages.min_items: 1

POST /v1/chat/completions · openai/gpt-5-nano: messages.min_items: 1

Rincian selengkapnya

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 · Lihat harga model

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 · Penawaran dan perjanjian lisensi