dokumentasi
Pengenalan

Cara ia berfungsi

Markdown

Perkara yang berlaku kepada permintaan antara program anda dan model.

Panduan lengkap

Anda menghantar permintaan kepada Ailoot API seperti menghantarnya terus kepada OpenAI, Anthropic atau Google. Ailoot memeriksa kunci dan baki, menghantar permintaan kepada model, mengembalikan respons dalam format yang sama dan mengenakan caj berdasarkan penggunaan sebenar.

01PermintaanKlien anda menghantar permintaan ke api.ailoot.ai dengan kunci sk-…
02Pengesahan dan rizabKunci, had, baki. Amaun dirizabkan sementara menunggu respons.
03ModelModel memberikan respons, dan respons dikembalikan dalam format anda.
04CajSatu caj berdasarkan token sebenar; baki rizab dilepaskan.

Satu kunci — tiga format

Format ditentukan oleh laluan permintaan, bukan model. Model Claude yang sama boleh dipanggil melalui OpenAI Chat, OpenAI Responses atau Anthropic Messages — respons diterima dalam format laluan yang anda panggil.

FormatLaluanPenggunanya
OpenAI Chat Completions/v1/chat/completionsOpenAI SDK, kebanyakan aplikasi sembang dan penyunting, n8n, LangChain
OpenAI Responses/v1/responsesCodex CLI, OpenAI Agents SDK, versi baharu SDK
Anthropic Messages/v1/messagesClaude Code, Anthropic SDK, Zed, Cline
Gemini/v1beta/models/{model}:generateContentGemini CLI, Google GenAI SDK

Bayaran: rizab dan satu caj

  • Sebelum permintaan teks baharu dihantar, Ailoot merizabkan anggaran kos input dan respons lazim dengan mengambil kira had (max_tokens) dan syarat model berkenaan. Jika rizab tidak dapat ditampung oleh baki tersedia atau had kunci, had yang dihantar hanya boleh dikurangkan bagi model dan kaedah yang benar-benar mematuhinya; had itu mesti sekurang-kurangnya 256 token dan juga memenuhi minimum respons yang ditetapkan. Bagi output imej, video dan audio, rizab kos penuh hasil dikekalkan.
  • Selepas respons — satu caj berdasarkan penggunaan sebenar. Rizab yang tidak digunakan dikembalikan ke baki serta-merta.
  • Jika kos respons melebihi rizab, perbezaannya diambil daripada baki tersedia. Baki tidak pernah menjadi negatif.
  • Jika wang tidak mencukupi walaupun untuk rizab minimum, permintaan tidak dihantar: anda menerima ralat 402 yang jelas dan tiada caj dikenakan.
  • Ralat tanpa hasil tidak dicaj.

Butiran dan contoh pengiraan terdapat pada halaman Rizab dan caj.

Ralat dengan Request ID

Setiap respons diberikan pengecam permintaan: dalam pengepala X-Request-ID dan dalam mesej ralat. Ralat diterima sebagai JSON mengikut format yang anda panggil, maka SDK mengenalinya dengan betul. Jika berlaku masalah, hantar Request ID kepada sokongan — dengan itu, kami dapat mencari permintaan dalam seminit.

401 Unauthorized
{
  "code": "API_KEY_REQUIRED",
  "error": {
    "code": "invalid_api_key",
    "message": "No API key was sent with the request. Nothing was charged. Please check that the full key is sent in the Authorization header as \"Bearer <key>\". Request ID: 3b28d3de-5b02-4d07-9f3c-4b9a7d0e68d6.",
    "param": null,
    "reason": "invalid_api_key",
    "request_id": "3b28d3de-5b02-4d07-9f3c-4b9a7d0e68d6",
    "type": "invalid_request_error"
  },
  "message": "No API key was sent with the request. Nothing was charged. …"
}

Penstriman dan masa tamat

Respons penstriman (stream: true) menggunakan Server-Sent Events. Ailoot menghantar respons teks berbayar selepas kos dikira. Oleh itu, dengan stream: true format kekal sebagai penstriman (SSE), tetapi teks diterima sebagai satu blok apabila model selesai, bukan perkataan demi perkataan. Jika respons mengambil masa lebih kurang 15 saat atau lebih, aliran Chat Completions, Responses dan Messages terlebih dahulu menghantar baris status tambahan : ping (kira-kira setiap 10 saat), kemudian baris : ailoot-charged-usd … dengan amaun caj, diikuti data itu sendiri. SDK mengabaikan baris tersebut.

Dalam format Gemini, tiada baris status tambahan: respons :streamGenerateContent diterima sepenuhnya selepas pengiraan. Untuk model penaakulan, tetapkan masa tamat klien dengan margin yang mencukupi: beberapa minit adalah normal.

Pengepala respons

X-Request-ID diterima dalam setiap respons. Ailoot menambah pengepala lain pada respons teks berbayar:

PengepalaKandungannya
X-Request-IDPengecam permintaan — diperlukan oleh sokongan
X-Ailoot-Charged-USDAmaun yang dicaj untuk permintaan ini, dalam dolar
X-Ailoot-Output-TokensBilangan token respons yang dibayar
X-Ailoot-Max-Tokens-CappedHad respons selepas dikurangkan kerana baki tidak mencukupi untuk rizab penuh
X-Ailoot-Notice-Code, X-Ailoot-NoticePenjelasan jika respons berhenti pada had panjang

Jika aliran sudah bermula dengan baris status tambahan, maklumat ini dihantar sebagai baris komen sebelum data, bukan sebagai pengepala.

Cache prompt

Jika model menyokong cache, awalan panjang yang dihantar semula (arahan sistem, dokumen) mungkin lebih murah. Harga pembacaan dan penulisan cache dipaparkan dalam kad model dalam katalog. Pembangun model menentukan sama ada cache digunakan; Ailoot tidak menjaminnya.

Masih ada soalan? Hantar Request ID dan penerangannya — kami akan membantu menyiasatnya.Hubungi sokongan