OpenAI-samhæft API
Síðast uppfært 11 nóv. 2026
Hvað það er
Með OpenAI-samhæfða API-inu getur verkfæri sem styður chat completions-snið OpenAI notað spjalllíkön ToRun, greidd af ToRun-aðganginum þínum. Forritunarþjónn eins og opencode getur notað ToRun sem líkanaveitu samhliða MCP-verkfærum ToRun.
Vistfang og innskráning
| Grunnslóð | https://mcp.torun.ai/v1 |
| Innskráning | Authorization: Bearer <your developer key> |
Notaðu sama forritaralykil og fyrir MCP-þjóninn: sjá Forritaralyklar. Lykill sem var búinn til áður en OpenAI-samhæfða API-inu var bætt við fær 403 insufficient_scope. Heimildir lykils breytast aldrei, svo búðu til nýjan lykil.
API-ið hefur tvo endapunkta, GET /v1/models og POST /v1/chat/completions. Hver önnur slóð undir /v1 svarar 404 not_found.
Líkön
GET /v1/models telur fyrst upp torun/auto og síðan hvert textalíkan sem áskriftin þín getur notað, eftir auðkenni líkans. Fyrir hvert líkan kemur fram:
- hversu mikinn texta það getur lesið (
context_length) og hversu langt svar það getur skrifað (max_completion_tokens), - hvort það getur kallað á verkfæri (
supports_tools) og lesið myndir (supports_vision), - verð þess í Runs fyrir hverja milljón tóka (
pricing:inputogoutput).
torun/auto lætur ToRun velja líkan fyrir hverja beiðni: eitt sem les myndir þegar beiðnin inniheldur mynd, og eitt sem kallar á verkfæri þegar hún sendir tools.
Chat completions
POST /v1/chat/completions tekur við:
messages, með hlutverkunumsystem,developer(meðhöndlað semsystem),user,assistantogtool,toolsogtool_choice(auto,none,requiredeða einu nefndu falli): eigin verkfæri verkfærisins þíns koma til baka til þess sem verkfærakköll, og ToRun keyrir þau aldrei,response_formatmeðjson_object.json_schemaer samþykkt og svarið kemur sem JSON, en skemanu sjálfu er ekki framfylgt,temperature(0 til 2),top_p(0 til 1),max_completion_tokenseðamax_tokens,stop(allt að 4 strengir),seedogreasoning_effort,streamogstream_options.include_usage.
n stærra en 1, logprobs, top_logprobs, hljóð og öllu öðru úttaki en texta er hafnað með 400 unsupported_parameter í stað þess að vera hunsað.
Myndir
Sendu mynd innfellda sem data:image/...;base64,... í image_url-hluta, upp að 20 MB á hverja beiðni. Mynd sem send er sem tengill er hafnað með 400 image_url_not_supported: ToRun sækir hana ekki. Myndir fara í gegnum öryggisathugunina, eins og í appinu.
Streymi
Með "stream": true kemur svarið sem server-sent events á sniðinu chat.completion.chunk:
- Fyrsti hlutinn ber hlutverkið
assistant, og verkfærakköllum er streymt með sínum eiginindex. - Þegar ekkert er að senda kemur athugasemdalína
: keepaliveá 15 sekúndna fresti; SSE-þáttarar sleppa henni. data: [DONE]lýkur vel heppnuðu streymi.- Með
stream_options.include_usagehefur síðasti hlutinn tómtchoicesog berusage. - Villa eftir að streymið er hafið kemur sem einn atburður
data: {"error": ...}, án[DONE].
Kall án streymis er stöðvað eftir 110 sekúndur með 504 timeout. Sendu langar beiðnir með "stream": true.
Notkun
usage inniheldur prompt_tokens, completion_tokens, total_tokens, prompt_tokens_details.cached_tokens og completion_tokens_details.reasoning_tokens, ásamt torun_credits: hvað kallið kostaði í Runs.
Notkun í opencode
Opencode-stillingin á síðunni Fyrir forritara bætir ToRun við sem líkanaveitu við hlið MCP-þjónsins:
{
"$schema": "https://opencode.ai/config.json",
"provider": {
"torun": {
"npm": "@ai-sdk/openai-compatible",
"name": "ToRun",
"options": { "baseURL": "https://mcp.torun.ai/v1", "apiKey": "{env:TORUN_API_KEY}" },
"models": { "torun/auto": { "name": "ToRun Auto" } }
}
}
}
Hvaða annað verkfæri sem styður spjall-API OpenAI virkar á sama hátt. Flipinn OpenAI API á síðunni sýnir þetta kall:
curl https://mcp.torun.ai/v1/chat/completions \
-H "Authorization: Bearer $TORUN_API_KEY" \
-H "Content-Type: application/json" \
-d '{"model": "torun/auto", "messages": [{"role": "user", "content": "Hello"}]}'
Hvernig greitt er fyrir köll
API-köll kosta jafnmörg Runs og sama notkun í appinu. Aðeins greitt fé greiðir fyrir þau: fyrst kvóti greiddu áskriftarinnar þinnar og síðan veskið þitt, ef þú hefur leyft það fyrir lykilinn. Ókeypis kvótinn greiðir aldrei fyrir API-köll. Mánaðar- og dagsþak lykilsins gilda, og svörin fara í gegnum öryggisathugunina rétt eins og spjallsvör.
Takmörk
Hver lykill getur sent 60 beiðnir á mínútu til þessa API og keyrt 4 completions samtímis. Umfram það svarar API-ið 429 rate_limit_exceeded með Retry-After-haus.
Villur
Hver villa er á forminu {"error": {"message": ..., "type": ..., "param": ..., "code": ...}}. message er á því tungumáli sem Accept-Language-haus beiðninnar biður um.
| Staða | Kóði | Merking |
|---|---|---|
| 400 | invalid_json, missing_parameter, invalid_parameter, unsupported_parameter |
Beiðnin er röng eða notar færibreytu sem ToRun styður ekki. |
| 400 | image_url_not_supported |
Mynd var send sem tengill; sendu hana innfellda. |
| 400 | content_blocked |
Öryggisathugunin stöðvaði efnið. |
| 400 | upstream_rejected |
Líkanaveitan hafnaði beiðninni; skilaboðin segja ástæðuna. |
| 401 | invalid_api_key |
Lykilinn vantar, hann er rangt skrifaður eða hefur verið afturkallaður. |
| 402 | insufficient_credits, wallet_spend_not_allowed, spending_cap_reached |
Aðgangurinn eða lykillinn getur ekki greitt fyrir kallið. |
| 403 | insufficient_scope |
Lykillinn var búinn til áður en þessu API var bætt við; búðu til nýjan lykil. |
| 403 | model_not_available |
Líkanið er ekki hluti af áskriftinni þinni. |
| 403 | account_suspended, no_developer_access |
Aðgangurinn er í banni eða hefur ekki forritaraaðgang. |
| 404 | model_not_found |
Auðkenni líkansins er ekki í GET /v1/models. |
| 404 | not_found |
Engin slík slóð er undir /v1. |
| 429 | rate_limit_exceeded |
Of mörg köll; bíddu þann tíma sem gefinn er í Retry-After. |
| 500 | internal_error |
Eitthvað fór úrskeiðis hjá ToRun. |
| 502 | upstream_error, empty_reply |
Líkanaveitan brást eða sendi tómt svar. |
| 503 | upstream_error, cap_unreadable, scan_unavailable |
Þjónusta sem kallið þarf er tímabundið ófáanleg; reyndu aftur. |
| 504 | timeout |
Kall án streymis tók lengri tíma en 110 sekúndur. |
Beiðni sem ekki er hægt að greiða fyrir fær 402 en ekki 429, svo biðlari reyni hana ekki aftur og aftur.