KonPro API v1.0.0

KonPro API Documentation

Complete API documentation for creating AI-powered avatars, managing voices, generating videos, and integrating interactive avatar widgets into your applications. The API is RESTful and returns JSON responses.

Overview

KonPro provides a comprehensive API for creating AI-powered avatars, managing voices, generating videos, and integrating interactive avatar widgets into your applications. The API is RESTful and returns JSON responses.

Base URL

All API requests should be made to:

bash
https://api.konpro.ai

Authentication

API Key Authentication

All API endpoints require authentication using an API key. Include your API key in the request headers:

http
x-api-key: YOUR_API_KEY

Generating API Keys

To generate an API key for your application:

  1. Visit KonPro Studio
  2. Log in to your account
  3. Navigate to the API Keys section in the Settings page
  4. Click "Generate New Key"
  5. Copy and securely store your API key

Important

API keys should be kept secret and never exposed in client-side code.

Example API Request

bash
curl -X GET https://api.konpro.ai/v1/avatars \
  -H "x-api-key: YOUR_API_KEY" \
  -H "Content-Type: application/json"
javascript
// JavaScript/Node.js example
const response = await fetch('https://api.konpro.ai/v1/avatars', {
    headers: {
        'x-api-key': 'YOUR_API_KEY',
        'Content-Type': 'application/json'
    }
});

API Endpoints

GET/v1/avatars

Retrieve a list of all available avatars

Query params: scope, page, limitAuthentication required
GET/v1/voices

Retrieve a list of all available voices

Query params: scope, language, gender, page, limitAuthentication required
POST/v1/video-avatars

Generate a video with an avatar speaking the provided text

Body: avatar_id, voice_id, text, settingsAuthentication required
POST/v1/widget/sessions

Create a session token for embedding the interactive avatar widget

Body: agentic_avatar_id, settingsAuthentication required
POST/v1/agentic-avatars

Create an AI-powered avatar with brain/knowledge base integration

Body: name, avatar_id, voice_id, brain_id, settingsAuthentication required
GET/v1/brains

Retrieve a list of all available brains/knowledge bases

Query params: page, limit, typeAuthentication required
POST/v1/api-keys/validate

Validate an API key and retrieve its metadata

Header: x-api-keyAuthentication required

Rate Limiting

API requests are rate limited to ensure fair usage and system stability.

Default Limits

  • Public API: 100 requests per minute
  • Studio API: 60 requests per minute
  • Inference API: 10 requests per minute
  • Widget Sessions: 20 sessions per hour

Rate Limit Headers

All responses include rate limit information:

  • X-RateLimit-Limit - Maximum requests per period
  • X-RateLimit-Remaining - Remaining requests in current window
  • X-RateLimit-Reset - Time when the rate limit resets

Error Handling

The API uses standard HTTP status codes to indicate success or failure of requests.

HTTP Status Codes

Status CodeDescription
200Success
201Created
400Bad Request - Invalid parameters
401Unauthorized - Invalid or missing API key
403Forbidden - Insufficient permissions
404Not Found - Resource doesn't exist
429Too Many Requests - Rate limit exceeded
500Internal Server Error
503Service Unavailable

Error Response Format

{
  "error": {
    "code": "INVALID_REQUEST",
    "message": "The request body is invalid",
    "details": {
      "field": "avatar_id",
      "reason": "Avatar ID is required"
    }
  },
  "request_id": "req-123456"
}