Skip to content

πŸ”Š Kokoro Web: Free AI text-to-speech, online or self-hosted, OpenAI compatible!

License

Notifications You must be signed in to change notification settings

eduardolat/kokoro-web

Repository files navigation

Kokoro Web Logo

πŸ”Š Kokoro Web - Free AI Text to Speech

A powerful, browser-based AI voice generator that lets you create natural-sounding voices without installing anything.

Use it directly in your browser or self-host it for your own applications with OpenAI API compatibility!

🎬 Demo

Kokoro Web Demo

Try it now: https://voice-generator.pages.dev

✨ Key Features

  • Zero Installation - Works directly in your browser, no downloads needed
  • Self Hostable - If you need an OpenAI Compatible API
  • Free & Open Source - 100% free for personal and commercial use
  • Multiple Languages - Support for various language accents
  • Voice Customization - Simple and advanced voice configuration options
  • WebGPU Acceleration - Utilize your GPU for faster generation in supported browsers

🧠 Model

Kokoro Web is powered by hexgrad/Kokoro-82M, an open-weight 82 million parameter Text-to-Speech model available on Hugging Face.

Despite its lightweight architecture, it delivers comparable quality to larger models while being significantly faster and more cost-efficient. With Apache-licensed weights, Kokoro can be deployed anywhere from production environments to personal projects.

This is one of the top-ranked models in TTS Arena, just behind ElevenLabs.

Special thanks to the model creators for making this technology accessible.

πŸš€ Usage

Option 1: Use it online

Visit the hosted version at voice-generator.pages.dev and start generating voices instantly!

Option 2: Self-host with Docker

The self-hosted version includes an OpenAI-compatible API that works as a drop-in replacement for applications using OpenAI's text-to-speech API.

services:
  kokoro-web:
    image: ghcr.io/eduardolat/kokoro-web:latest
    ports:
      - "3000:3000"
    environment:
      - KW_SECRET_API_KEY=your-api-key
    volumes:
      - ./kokoro-cache:/kokoro/cache  # Cache downloaded models and voices
    restart: unless-stopped

You can adjust the compose.yaml according to your needs or use docker run directly.

Then access the web UI at http://localhost:3000 and the API at http://localhost:3000/api/v1/index.html

βš™οΈ Environment variables

  • KW_SECRET_API_KEY - Your API key for authentication. If left blank, authentication will not be activated

  • KW_PUBLIC_NO_TRACK - Opt out of anonymous usage analytics

πŸ”Œ API Integration

Kokoro Web provides an OpenAI-compatible API that works as a drop-in replacement for applications using OpenAI's text-to-speech service:

import fs from "fs";
import path from "path";
import OpenAI from "openai";

const openai = new OpenAI({
  baseURL: 'http://your-kokoro-host/api/v1',
  apiKey: 'your-kokoro-api-key',
});
const speechFile = path.resolve("./speech.mp3");

const mp3 = await openai.audio.speech.create({
  model: "model_q8f16",
  voice: "af_heart",
  input: "Today is a wonderful day to build something people love!",
});

const buffer = Buffer.from(await mp3.arrayBuffer());
await fs.promises.writeFile(speechFile, buffer);

πŸ“œ License

Kokoro Web is MIT Licensed


Made with ❀️ by Eduardo Lat