Asinkroni zahtjevi
Stavite u red podržane zahtjeve za zaključivanje i dohvatite njihov dovršeni rezultat putem Partner API.
Asinkroni zahtjevi
Asinkroni način rada Model Gate pohranjuje posao zaključivanja u izdržljiv MariaDB red čekanja i odmah vraća ID zahtjeva. Neovisna sub2proxy radnici traže poslove na čekanju s najmovima, a napušteni najmovi mogu se vratiti nakon ponovnog pokretanja procesa. Dovršeni rezultat se čita iz Partner API ili isporučuje povratnom pozivu konfiguriranom u Profilu.
Asinkroni način rada podržan je za:
POST /v1/chat/completionsPOST /v1/messagesPOST /v1/responsesPOST /v1/images/generations
Ne mogu se koristiti asinkroni zahtjevi stream: true.
Zahtjev za čekanje
Dodajte proširenje Model Gate "async": true na inače valjani zahtjev.
Zahtjev
curl https://api.model-gate.com/v1/responses \
-H "Authorization: Bearer mg_live_..." \
-H "Content-Type: application/json" \
-d '{
"model": "gpt-5.4",
"input": "Write a short release summary.",
"async": true,
"stream": false
}'
Odgovor — 202
{
"request_id": "01KZ...",
"status": "queued",
"result_url": "https://p-api.model-gate.com/api/v1/requests/01KZ..."
}
The async polje se uklanja prije nego što se zahtjev pošalje uzvodno. Pseudonim modela razrješava se u svoj kanonski model prije nego se posao stavi u čekanje. Radnik ponovno provjerava valjanost ključa i izvršava kroz isti zahtjev Model Gate/računovodstvenu jezgru kao i sinkroni zaključak. Redovi reda čekanja ne sadrže tajnu API-ključa. Nativno asinkrono određivanje cijena je nepromijenjeno i ne koristi koeficijent cijene skupnog zahtjeva.
Prije nego što radnik zatraži stavku, on provjerava trenutno stanje na računu i trenutnu potrošnju ključa/grupne potrošnje koja se može resetirati u MariaDB-u. Ako stanje računa nije pozitivno ili je konfigurirano ograničenje potrošnje ključa/grupe već potrošeno, stavka ostaje queued i ne konzumira pokušaj izvršenja. Kasnija nadopuna, poništavanje upotrebe ili povećanje ograničenja automatski čini stavku prihvatljivom. Model Gate ne rezervira procijenjeni trošak zahtjeva: posao koji je već prošao prijem može se završiti i podmiriti svoj puni stvarni trošak, čak i kada istodobni rad čini konačni saldo negativnim ili malo premašuje ograničenje potrošnje. Nova izvršenja se tada blokiraju dok račun ponovno ne bude kvalificiran.
Semantika oporavka
Izdržljivi red pruža barem-jednom oporavak, ne točno jednom izvršenje. Ako se radni proces zaustavi nakon što je uzvodni pružatelj prihvatio zahtjev, ali prije nego što Model Gate trajno pohrani asinkroni rezultat, najam na kraju istječe i drugi radnik može ponovno pokušati s istim ID-om zahtjeva Model Gate. Nagodba je zaštićena od dvostrukog zaduženja, ali aplikacije koje uzrokuju vanjske nuspojave putem alata modela trebale bi učiniti te nuspojave idempotentnima.
Dohvati rezultat
Koristite ključ Partner API koji pripada istom računu Model Gate.
Zahtjev
curl https://p-api.model-gate.com/api/v1/requests/01KZ... \
-H "Authorization: Bearer mg_partner_..."
Odgovor — obrada
{
"data": {
"request_id": "01KZ...",
"status": "processing",
"created_at": "2026-08-05 10:00:00",
"started_at": "2026-08-05 10:00:01",
"completed_at": null,
"expires_at": "2026-08-06 10:00:00"
}
}
Odgovor — završen
{
"data": {
"request_id": "01KZ...",
"status": "completed",
"response_status": 200,
"response_headers": {
"content-type": ["application/json"]
},
"response": {
"id": "resp_...",
"object": "response",
"status": "completed"
},
"created_at": "2026-08-05 10:00:00",
"started_at": "2026-08-05 10:00:01",
"completed_at": "2026-08-05 10:00:03",
"expires_at": "2026-08-06 10:00:00"
}
}
Krajnja točka rezultata vraća kompletno pohranjeno uzvodno tijelo do expires_at. Vraća se strani, istekli ili nepoznati ID zahtjeva 404.
Greške
{
"error": {
"type": "invalid_request_error",
"code": "invalid_async_stream_combination",
"message": "Async requests cannot be streamed."
}
}
Povratak nepodržanih krajnjih točaka async_not_supported.
Povratni pozivi
Dovršeni asinkroni rezultati trajno se stavljaju u red za isporuku na URL za povratni poziv konfiguriran u Profilu. Isporuka povratnog poziva ima svoj vlastiti radni/ponovni red čekanja i stoga ne čeka drugi zahtjev Model API-ja. Održavanje također usklađuje asinkrone retke terminala s poviješću zahtjeva i oporavlja povratni poziv završetka koji nedostaje nakon pada radnog programa. Vidjeti Povratni pozivi za provjeru potpisa, ponovne pokušaje i smjernice za idempotenciju.