{
  "name": "kokoro-chunked-cdn",
  "version": "fp32-15ch-v4",
  "modelId": "onnx-community/Kokoro-82M-v1.0-ONNX",
  "dtype": "fp32",
  "deviceRecommended": "webgpu",
  "modelsRootPath": "/models",
  "hubMirrorPath": "/models/onnx-community/Kokoro-82M-v1.0-ONNX",
  "onnx": {
    "logicalPath": "onnx/model.onnx",
    "manifestPath": "/models/onnx-community/Kokoro-82M-v1.0-ONNX/onnx/model.onnx/manifest.json",
    "originalSize": 325532232,
    "compressedSize": 298017038,
    "sha256": "8fbea51ea711f2af382e88c833d9e288c6dc82ce5e98421ea61c058ce21a34cb",
    "compression": "br",
    "chunkCount": 15,
    "chunkBytes": 20971520
  },
  "assets": {
    "chunkedFetchLib": "/lib/chunked-model-fetch.js",
    "referenceWorker": "/tts-worker-chunked.js",
    "defaultVoice": "af_heart",
    "voiceBasePath": "/models/onnx-community/Kokoro-82M-v1.0-ONNX/voices"
  },
  "docs": {
    "howToUse": "/HOW_TO_USE.md",
    "llmsTxt": "/llms.txt"
  },
  "integration": {
    "envRemoteHost": "{origin}/models",
    "envRemotePathTemplate": "{model}/{file}",
    "setupFunction": "configureHubMirrorChunkedEnv"
  },
  "requirements": {
    "brotliDecompress": "DecompressionStream('brotli') on Safari/Firefox; brotli-dec-wasm on Chrome/Edge",
    "browser": "Modern browsers (Chrome uses bundled WASM Brotli decoder)"
  },
  "warnings": [
    "model.onnx is NOT a single file on this CDN. It is split into Brotli-compressed chunks (part-000.br … part-014.br) described by manifest.json.",
    "Do NOT fetch onnx/model.onnx as one file. Start from manifest.json, fetch all chunks, concatenate compressed bytes, then decompress ONCE.",
    "Do NOT decompress each part-*.br separately. Brotli was applied to the entire ONNX before chunking.",
    "Do NOT use Hugging Face Hub direct URLs. Use modelsRootUrl pointing to {origin}/models with configureHubMirrorChunkedEnv() or createChunkedFetch().",
    "Use dtype fp32 with WebGPU. fp16 may cause degraded audio quality.",
    "Brotli: Chrome/Edge lack DecompressionStream('brotli'). Use chunked-model-fetch.js which falls back to brotli-dec-wasm.",
    "After redeploy, bypass browser cache (bypassCache: true or hard reload) because chunk filenames are not content-hashed."
  ],
  "recommendedDocUrl": "/HOW_TO_USE.md"
}
