Kitano AIDeveloper Platform
Kitano API 2026-07-25

One API for serious AI products.

Build chat, agents, live research, image workflows, multilingual voice, transcription, embeddings, and safety into your applications—through secure Kitano credentials and cost-aware KTN models.

Keys stay server-sideUsage metering built inDurable background work
curl https://kitanoai.com/api/v1/responses \
  -H "Authorization: Bearer $KITANO_API_KEY" \
  -H "Content-Type: application/json" \
  -H "Idempotency-Key: report-2026-07-25" \
  -d '{
    "model": "KTN-5.6 Terra",
    "input": "Research sustainable tourism trends",
    "tools": [{"type": "web_search"}],
    "background": true
  }'
Kitano nativeStable JSON contracts and one secure base URL
9 capabilitiesText, tools, media, vectors, safety
Scoped keysLeast-privilege server credentials
Request IDsObservable and support-ready

Everything developers need.

A coherent platform surface with Kitano branding, account-aware model access, protective credit checks, and consistent errors across every endpoint.

AI

Responses and chat

Streaming text, structured JSON, multimodal input, persistent response chains, and familiar chat completions.

POST /responses

Live research

Give models current web access and return source citations and confirmed activity with the answer.

tools: web_search
</>

Code analysis

Run calculation and analysis work in a temporary interpreter workspace when the task needs it.

tools: code_interpreter

Images

Create high-quality visuals or edit uploaded assets, with URL and base64 delivery options.

/images/generations · /edits

Speech and transcription

Natural multilingual speech in multiple formats and secure transcription for common audio types.

/audio/speech · /transcriptions

Embeddings and safety

Power semantic search and classify user-generated text or image content before it reaches production.

/embeddings · /moderations

API reference.

All authenticated requests use a secret ktn_… key. Keep it on your backend and send it as a Bearer token.

Production endpoints

Only capabilities included in a key’s scopes are accessible. GET /capabilities tells your application what is enabled.

GET/capabilitiesDiscover features, voices, and limits
GET/modelsList account-enabled KTN models
GET/usageInspect usage, latency, status, and credits
POST/responsesCreate streaming, stored, or background responses
POST/chat/completionsUse the compatible chat-completions contract
POST/images/generationsGenerate production images
POST/images/editsEdit uploaded images
POST/audio/speechCreate natural speech audio
POST/audio/transcriptionsTranscribe multilingual audio
POST/embeddingsCreate semantic vectors
POST/moderationsClassify content safety

Call Kitano from your backend

Use any secure server-side HTTP client with Kitano’s base URL and KTN model names. Keep the API key in a server environment variable.

import os
import requests

response = requests.post(
    "https://kitanoai.com/api/v1/responses",
    headers={
        "Authorization": f"Bearer {os.environ['KITANO_API_KEY']}",
        "Content-Type": "application/json",
    },
    json={
        "model": "KTN-5.6 Terra",
        "input": "Give me three launch ideas",
    },
    timeout=120,
)
response.raise_for_status()
print(response.json()["output_text"])

Reliable by design

Send an Idempotency-Key on mutations so a network retry cannot accidentally create duplicate work. For long tasks, set background: true, save the returned response ID, then poll GET /responses/{id}. Stored synchronous responses can be continued with previous_response_id.

Always log X-Request-ID. It appears on success and error responses and lets Kitano support trace one request without exposing prompts or credentials.

Security and cost controls

Secret keys are stored as one-way hashes, can be restricted by scope, IP range, and expiration, and can be revoked independently. Every paid capability performs a credit preflight and records usage. Never place a key in browser JavaScript, a mobile binary, or a public repository.

Errors use a consistent object with message, type, param, and code. Respect HTTP 429 and Retry-After, and use exponential backoff with jitter for temporary 5xx failures.