{
  "family": "supertonic",
  "display_name": "Supertonic 3",
  "description": "Supertone on-device TTS model designed for fast local speech synthesis across 31 languages, with preset voices and compact deployment for browser, mobile, and desktop applications.",
  "category": "tts",
  "status": "supported",
  "tasks": [
    "tts"
  ],
  "modes": [
    "offline",
    "streaming"
  ],
  "languages": [
    "en",
    "ko",
    "ja",
    "ar",
    "bg",
    "cs",
    "da",
    "de",
    "el",
    "es",
    "et",
    "fi",
    "fr",
    "hi",
    "hr",
    "hu",
    "id",
    "it",
    "lt",
    "lv",
    "nl",
    "pl",
    "pt",
    "ro",
    "ru",
    "sk",
    "sl",
    "sv",
    "tr",
    "uk",
    "vi"
  ],
  "capabilities": {
    "tts": [
      "built_in_voices",
      "long_form"
    ]
  },
  "options": {
    "request": [
      {
        "name": "voice_id",
        "type": "enum",
        "description": "Preset voice style id; default M1.",
        "values": [
          "M1",
          "M2",
          "M3",
          "M4",
          "M5",
          "F1",
          "F2",
          "F3",
          "F4",
          "F5"
        ],
        "required": false,
        "default": "M1"
      },
      {
        "name": "language",
        "type": "string",
        "description": "Text language code; default en. The runtime also accepts language metadata from the TTS transcript or voice style.",
        "required": false,
        "default": "en"
      },
      {
        "name": "num_inference_steps",
        "type": "int",
        "description": "Flow denoising steps; default 8.",
        "required": false,
        "min": 1,
        "default": 8
      },
      {
        "name": "speaking_rate",
        "type": "float",
        "description": "Speech speed multiplier; must be positive, default 1.05.",
        "required": false,
        "default": 1.05,
        "min": 0.0
      },
      {
        "name": "seed",
        "type": "int",
        "description": "Noise seed; default 1234.",
        "required": false,
        "min": 0,
        "default": 1234
      },
      {
        "name": "text_chunk_mode",
        "type": "enum",
        "description": "Long-form text chunking mode; default word_budget.",
        "preset": "text_chunk_mode_full",
        "required": false,
        "default": "word_budget"
      },
      {
        "name": "text_chunk_size",
        "type": "int",
        "description": "Maximum UTF-8 codepoints per long-form text chunk; default is 120 for Japanese/Korean and 300 for other languages.",
        "required": false,
        "min": 1
      }
    ],
    "session": [
      {
        "name": "weight_type",
        "type": "enum",
        "description": "Supertonic weight storage type; default native.",
        "preset": "weight_type_full",
        "required": false,
        "default": "native"
      },
      {
        "name": "style_cache_slots",
        "type": "int",
        "description": "Preset voice style cache slots; default 4.",
        "required": false,
        "min": 0,
        "default": 4
      }
    ],
    "load": []
  },
  "runtime": {
    "tags": [
      "gguf",
      "stream"
    ]
  },
  "sources": [
    {
      "format": "gguf",
      "roots": {
        "model": ".",
        "weights": "$gguf"
      },
      "files": {
        "tts_config": "model:config/tts.json",
        "unicode_indexer": "model:config/unicode_indexer.json",
        "voice_style_F1": "model:voice_styles/F1.json",
        "voice_style_F2": "model:voice_styles/F2.json",
        "voice_style_F3": "model:voice_styles/F3.json",
        "voice_style_F4": "model:voice_styles/F4.json",
        "voice_style_F5": "model:voice_styles/F5.json",
        "voice_style_M1": "model:voice_styles/M1.json",
        "voice_style_M2": "model:voice_styles/M2.json",
        "voice_style_M3": "model:voice_styles/M3.json",
        "voice_style_M4": "model:voice_styles/M4.json",
        "voice_style_M5": "model:voice_styles/M5.json"
      },
      "tensors": {
        "weights": {
          "source": "weights:",
          "prefix": "weights"
        }
      }
    },
    {
      "format": "safetensors",
      "roots": {
        "model": "."
      },
      "files": {
        "tts_config": "model:config/tts.json",
        "unicode_indexer": "model:config/unicode_indexer.json",
        "voice_style_F1": "model:voice_styles/F1.json",
        "voice_style_F2": "model:voice_styles/F2.json",
        "voice_style_F3": "model:voice_styles/F3.json",
        "voice_style_F4": "model:voice_styles/F4.json",
        "voice_style_F5": "model:voice_styles/F5.json",
        "voice_style_M1": "model:voice_styles/M1.json",
        "voice_style_M2": "model:voice_styles/M2.json",
        "voice_style_M3": "model:voice_styles/M3.json",
        "voice_style_M4": "model:voice_styles/M4.json",
        "voice_style_M5": "model:voice_styles/M5.json"
      },
      "tensors": {
        "weights": "model:ggml/supertonic.safetensors"
      }
    }
  ],
  "package_defaults": {
    "download": {
      "kind": "huggingface_snapshot",
      "repo": "audio-cpp/audio.cpp-gguf",
      "revision": "main",
      "gated": false
    }
  },
  "packages": [
    {
      "id": "supertonic_3_q8_0",
      "display_name": "Supertonic 3 Q8_0 GGUF",
      "format": "gguf",
      "precision": "q8_0",
      "target_directory": "Supertonic-3-GGUF",
      "files": [
        "Supertonic-3-GGUF/supertonic-3-q8_0.gguf"
      ],
      "strip_prefix": "Supertonic-3-GGUF"
    },
    {
      "id": "supertonic_3_f16",
      "display_name": "Supertonic 3 F16 GGUF",
      "format": "gguf",
      "precision": "f16",
      "target_directory": "Supertonic-3-GGUF",
      "files": [
        "Supertonic-3-GGUF/supertonic-3-f16.gguf"
      ],
      "strip_prefix": "Supertonic-3-GGUF"
    },
    {
      "id": "supertonic_3_orig",
      "display_name": "Supertonic 3 Original-Dtype GGUF",
      "default": true,
      "format": "gguf",
      "precision": "orig",
      "target_directory": "Supertonic-3-GGUF",
      "files": [
        "Supertonic-3-GGUF/supertonic-3-orig.gguf"
      ],
      "strip_prefix": "Supertonic-3-GGUF"
    },
    {
      "id": "supertonic_3_safetensors",
      "display_name": "Supertonic 3 Safetensors",
      "format": "safetensors",
      "precision": "native",
      "target_directory": "supertonic-3",
      "files": [
        "config/tts.json",
        "config/unicode_indexer.json",
        "ggml/supertonic.safetensors"
      ],
      "download": {
        "kind": "huggingface_snapshot",
        "repo": "mlx-community/supertonic-3-mlx"
      }
    }
  ]
}
