{
  "protocolVersion": "0.2.0",
  "name": "Agentics",
  "description": "Unified, OpenAI-compatible AI infrastructure agent. Runs text, image, voice, embeddings, agentic tools, web search and MCP through one API.",
  "url": "https://api.agentics.co.za/v1",
  "preferredTransport": "JSONRPC",
  "provider": {
    "organization": "Agentics",
    "url": "https://agentics.co.za"
  },
  "version": "1.0.0",
  "documentationUrl": "https://agentics.co.za/documentation",
  "iconUrl": "https://agentics.co.za/assets/img/brand/ico/logo1024.png",
  "capabilities": {
    "streaming": true,
    "pushNotifications": true,
    "stateTransitionHistory": false
  },
  "defaultInputModes": [
    "text/plain",
    "application/json",
    "audio/wav",
    "image/png"
  ],
  "defaultOutputModes": [
    "text/plain",
    "application/json",
    "audio/wav",
    "image/png"
  ],
  "securitySchemes": {
    "bearer": {
      "type": "http",
      "scheme": "bearer",
      "bearerFormat": "JWT"
    },
    "oauth2": {
      "type": "oauth2",
      "flows": {
        "authorizationCode": {
          "authorizationUrl": "https://api.agentics.co.za/v1/auth/oauth/authorize",
          "tokenUrl": "https://api.agentics.co.za/v1/auth/oauth/token",
          "scopes": {
            "inference:read": "Run inference",
            "inference:write": "Create completions and media",
            "account:read": "Read account"
          }
        }
      }
    }
  },
  "security": [
    {
      "bearer": []
    },
    {
      "oauth2": [
        "inference:read",
        "inference:write"
      ]
    }
  ],
  "skills": [
    {
      "id": "chat",
      "name": "Chat completion",
      "description": "OpenAI-compatible chat across {TEXT_COUNT} text models with streaming and tool calling.",
      "tags": [
        "text",
        "llm",
        "chat"
      ],
      "examples": [
        "Summarise this document",
        "Write a Python function that parses CSV"
      ],
      "inputModes": [
        "text/plain",
        "application/json"
      ],
      "outputModes": [
        "text/plain",
        "application/json"
      ]
    },
    {
      "id": "image",
      "name": "Image generation",
      "description": "Generate images from text across 27 models including Flux and SDXL.",
      "tags": [
        "image",
        "generation"
      ],
      "examples": [
        "A neon city skyline at dusk, cinematic"
      ],
      "inputModes": [
        "text/plain"
      ],
      "outputModes": [
        "image/png"
      ]
    },
    {
      "id": "voice",
      "name": "Voice agent",
      "description": "Real-time voice agent with VAD, EOT, STT, TTS and tool calling.",
      "tags": [
        "voice",
        "realtime",
        "audio"
      ],
      "examples": [
        "Hold a spoken conversation and run tools"
      ],
      "inputModes": [
        "audio/wav"
      ],
      "outputModes": [
        "audio/wav",
        "text/plain"
      ]
    },
    {
      "id": "embeddings",
      "name": "Embeddings and semantic search",
      "description": "Generate vector embeddings and run semantic search over groups.",
      "tags": [
        "embeddings",
        "search",
        "rag"
      ],
      "examples": [
        "Embed these docs and find the closest match"
      ],
      "inputModes": [
        "text/plain"
      ],
      "outputModes": [
        "application/json"
      ]
    },
    {
      "id": "search",
      "name": "Web search",
      "description": "Agentic web search and extraction across multiple engines.",
      "tags": [
        "search",
        "web"
      ],
      "examples": [
        "Find the latest on a topic and cite sources"
      ],
      "inputModes": [
        "text/plain"
      ],
      "outputModes": [
        "application/json"
      ]
    }
  ]
}