Iblai api inference
Agent skills + a chat MCP server to operate the ibl.ai platform via its REST API. Install: npx skills add iblai/api
npx -y skills add iblai/api --skill iblai-api-inferenceAssembled from the repository path, not quoted from the project. Check it against their README if it does not work.
One thing to look at
- 15 stars15 stars. Stars are a popularity signal and not a quality one, but at this level it is likely that nobody has read this closely except its author, and you would be relying on your own review.
What its author says it does
Copied from the file, not written here
Run inference against an ibl.ai deployment through its OpenAI-compatible API — same request/response shape as OpenAI's /v1/chat/completions, routed to any configured provider/model (e.g. openai/gpt-5). List models, then POST OpenAI-format messages for a single completion or a streamed SSE response, with Api-Token auth. Use to generate completions or tool calls directly, without the agent-chat MCP server or agent wiring.
SKILL.md
3.9 KB, ~1.1k tokens by cl100k_base, as published. Nobody here has run it
iblai-api-inference
Call ibl.ai's OpenAI-compatible chat endpoint: identical request/response shape
to OpenAI's /v1/chat/completions, but served by your deployment and routed to
whichever provider/model you name. Use it for raw completions, streamed tokens,
or tool calls directly — no MCP server, no agent needed. To configure which model
an agent runs on use /iblai-api-agent-llm; to converse with a deployed agent
(RAG, memory, history) use /iblai-api-agent-chat.
Auth & conventions
-
Header:
Authorization: Api-Token $IBLAI_API_KEYon every request. -
Path var:
{org}=$IBLAI_ORG(no username in the path). -
Model: always
provider/modelform, e.g.openai/gpt-5,anthropic/claude-sonnet-4. A bare name is rejected400 invalid_request. -
Two hosts — streaming is async/ASGI-only:
- Non-streaming →
https://api.iblai.app/dm/api/ai-mentor/orgs/{org}/v1 - Streaming (
stream: true) →https://asgi.data.iblai.app/api/ai-mentor/orgs/{org}/v1
The sync WSGI gateway can't drive the async SSE generator, so
stream:truemust hit the ASGI host. - Non-streaming →
-
Not connected yet? Run
/iblai-api-loginfirst to populateIBLAI_ORGandIBLAI_API_KEY.
Reads
- GET
…/orgs/{org}/v1/models— OpenAI-style model list for the deployment; eachidis aprovider/modelyou can pass asmodel.
Writes
- POST
…/orgs/{org}/v1/chat/completions— run a completion (an inference call, not a state mutation;POSTper the OpenAI wire format). Standard OpenAI chat body:{ "model": "openai/gpt-5", "messages": [{ "role": "user", "content": "Hello" }], "stream": false, "tools": [], "stream_options": { "include_usage": true } }stream:truereturns Server-Sent Events (data: {chunk}…data: [DONE]); omit it (orfalse) for one JSON completion.
Examples
Non-streaming completion:
curl -X POST \
"https://api.iblai.app/dm/api/ai-mentor/orgs/$IBLAI_ORG/v1/chat/completions" \
-H "Authorization: Api-Token $IBLAI_API_KEY" \
-H "Content-Type: application/json" \
-d '{"model":"openai/gpt-5","messages":[{"role":"user","content":"Say hi"}]}'
Streaming (ASGI host, SSE):
curl -N -X POST \
"https://asgi.data.iblai.app/api/ai-mentor/orgs/$IBLAI_ORG/v1/chat/completions" \
-H "Authorization: Api-Token $IBLAI_API_KEY" \
-H "Content-Type: application/json" \
-H "Accept: text/event-stream" \
-d '{"model":"openai/gpt-5","stream":true,"stream_options":{"include_usage":true},"messages":[{"role":"user","content":"Stream a haiku"}]}'
List available models:
curl "https://api.iblai.app/dm/api/ai-mentor/orgs/$IBLAI_ORG/v1/models" \
-H "Authorization: Api-Token $IBLAI_API_KEY"
Notes
- Drop-in for OpenAI SDKs: point
base_urlat…/orgs/{org}/v1. Auth isApi-Token(notBearer), so pass it via the SDK's default headers ({"Authorization": "Api-Token <key>"}), not the plainapi_keyfield. - Streaming must use the ASGI host (
asgi.data.iblai.app); the WSGI gateway (api.iblai.app) is fine for non-streaming only. modelmust beprovider/modeland resolve to a provider the deployment has configured — list it via…/v1/models; unknown/bad model →400 invalid_request.- Tool calling is supported (OpenAI
tools/tool_calls); streamed tool-call deltas carry dense, 0-basedindexvalues, matching the OpenAI wire format that clients index directly.