{
  "family": "moss_tts_nano",
  "display_name": "MOSS-TTS-Nano",
  "description": "Compact deployment-first MOSS-TTS model for real-time multilingual speech generation, lightweight integration, and zero-shot voice cloning.",
  "category": "tts",
  "status": "supported",
  "tasks": [
    "tts",
    "clone"
  ],
  "modes": [
    "offline"
  ],
  "languages": [
    "ar",
    "cs",
    "da",
    "de",
    "el",
    "en",
    "es",
    "fa",
    "fr",
    "hu",
    "it",
    "ja",
    "ko",
    "pl",
    "pt",
    "ru",
    "sv",
    "tr",
    "zh"
  ],
  "capabilities": {
    "clone": [
      "speaker_reference"
    ]
  },
  "runtime": {
    "tags": [
      "gguf"
    ]
  },
  "ui": {
    "recommended_package": "moss_tts_nano_100m_q8_0",
    "tags": [
      "TTS",
      "Clone",
      "GGUF"
    ],
    "docs": [
      "docs/models/moss_tts.md",
      "docs/tts.md",
      "docs/gguf.md"
    ]
  },
  "package_defaults": {
    "download": {
      "kind": "huggingface_snapshot",
      "repo": "audio-cpp/audio.cpp-gguf",
      "revision": "main",
      "gated": false
    }
  },
  "packages": [
    {
      "id": "moss_tts_nano_100m_q8_0",
      "display_name": "MOSS-TTS-Nano 100M Q8_0 GGUF",
      "default": true,
      "format": "gguf",
      "precision": "q8_0",
      "target_directory": "MOSS-TTS-Nano-100M-GGUF",
      "files": [
        "MOSS-TTS-Nano-100M-GGUF/moss-tts-nano-100m-q8_0.gguf"
      ],
      "strip_prefix": "MOSS-TTS-Nano-100M-GGUF"
    },
    {
      "id": "moss_tts_nano_100m_bf16",
      "display_name": "MOSS-TTS-Nano 100M BF16 GGUF",
      "format": "gguf",
      "precision": "bf16",
      "target_directory": "MOSS-TTS-Nano-100M-GGUF",
      "files": [
        "MOSS-TTS-Nano-100M-GGUF/moss-tts-nano-100m-bf16.gguf"
      ],
      "strip_prefix": "MOSS-TTS-Nano-100M-GGUF"
    }
  ],
  "sources": [
    {
      "format": "gguf",
      "roots": {
        "model": ".",
        "weights": "$gguf"
      },
      "files": {
        "config": "model:config.json",
        "tokenizer_config": "model:tokenizer_config.json",
        "tokenizer_model": "model:tokenizer.model",
        "audio_tokenizer_config": "model:audio_tokenizer/config.json"
      },
      "tensors": {
        "model_weights": {
          "source": "weights:",
          "prefix": "model_weights"
        },
        "audio_tokenizer_weights": {
          "source": "weights:",
          "prefix": "audio_tokenizer_weights"
        }
      }
    },
    {
      "format": "safetensors",
      "roots": {
        "model": ".",
        "audio_tokenizer": "audio_tokenizer"
      },
      "files": {
        "config": "model:config.json",
        "tokenizer_config": "model:tokenizer_config.json",
        "tokenizer_model": "model:tokenizer.model",
        "audio_tokenizer_config": "audio_tokenizer:config.json"
      },
      "tensors": {
        "model_weights": "model:model.safetensors",
        "audio_tokenizer_weights": "audio_tokenizer:model.safetensors.index.json"
      }
    }
  ]
}
