agentsclimarketplace

Iblai api inference

Skill iblai/api/skills/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

Install
npx -y skills add iblai/api --skill iblai-api-inference

Assembled 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_KEY on every request.

  • Path var: {org} = $IBLAI_ORG (no username in the path).

  • Model: always provider/model form, e.g. openai/gpt-5, anthropic/claude-sonnet-4. A bare name is rejected 400 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:true must hit the ASGI host.

  • Not connected yet? Run /iblai-api-login first to populate IBLAI_ORG and IBLAI_API_KEY.

Reads

  • GET …/orgs/{org}/v1/models — OpenAI-style model list for the deployment; each id is a provider/model you can pass as model.

Writes

  • POST …/orgs/{org}/v1/chat/completions — run a completion (an inference call, not a state mutation; POST per 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:true returns Server-Sent Events (data: {chunk}data: [DONE]); omit it (or false) 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_url at …/orgs/{org}/v1. Auth is Api-Token (not Bearer), so pass it via the SDK's default headers ({"Authorization": "Api-Token <key>"}), not the plain api_key field.
  • Streaming must use the ASGI host (asgi.data.iblai.app); the WSGI gateway (api.iblai.app) is fine for non-streaming only.
  • model must be provider/model and 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-based index values, matching the OpenAI wire format that clients index directly.

Keep looking

Skills are one crate of 328,083. Ordering is by how many stacks a row turns up in, so the top of any crate is what has actually been picked rather than what has the most stars.