{
  "data": {
    "a": {
      "slug": "fish-audio-s2-pro",
      "name": "Fish Audio S2 Pro",
      "vendor": "Fish Audio",
      "vendorUrl": "https://fish.audio",
      "kind": "weights",
      "category": "text-to-speech",
      "summary": "Fish Audio S2 Pro is Fish Audio's open-weight text-to-speech model of March 2026, a 4B plus 0.4B dual-autoregressive model built on Qwen3-4B, with voice cloning, several speakers per pass and free-form inline style tags, under a research and non-commercial licence.",
      "url": "https://www.anchorterminal.com/tools/fish-audio-s2-pro",
      "markdownUrl": "https://www.anchorterminal.com/tools/fish-audio-s2-pro.md",
      "slimMarkdownUrl": "https://www.anchorterminal.com/tools/fish-audio-s2-pro.min.md",
      "jsonUrl": "https://www.anchorterminal.com/api/v1/tools/fish-audio-s2-pro.json",
      "repo": "https://huggingface.co/fishaudio/s2-pro",
      "license": "Fish Audio Research License (weights; research and non-commercial use only); the fish-speech code that runs it is under the Fish Audio Community License 1.0 since 13 October 2026",
      "transports": [],
      "packages": [
        {
          "registry": "huggingface",
          "name": "fishaudio/s2-pro"
        },
        {
          "registry": "github",
          "name": "fishaudio/fish-speech"
        },
        {
          "registry": "docker",
          "name": "fishaudio/fish-speech:server-cuda"
        }
      ],
      "auth": "none",
      "authNotes": "The weights download from Hugging Face with no account, token or terms to accept. The Hub API reports gated false and a weights file resolves for a public user, though the card's metadata still carries unused gate fields (a non-commercial checkbox). Checked 2026-10-23.",
      "pricing": "free",
      "pricingNotes": "Free to download for research and non-commercial use under the Fish Audio Research License. Commercial use needs a separate written licence from Fish Audio, with no public price. Running it costs the hardware, 11.0 GB of files (9.1 GB of BF16 safetensors and a 1.9 GB codec), and Fish Audio's install guide asks for at least 24 GB of GPU memory. Fish Audio's own API serves `s2-pro` at $15 per million UTF-8 bytes (checked 2026-10-23).",
      "priceSummary": "Free",
      "where": "local",
      "x402": {
        "level": "no",
        "evidence": "Weights you download and run yourself, so there is nothing to pay per call and no payment protocol (checked 2026-10-23).",
        "endpoints": []
      },
      "toolCount": null,
      "popularity": {
        "githubStars": null,
        "npmWeekly": null,
        "pypiWeekly": null,
        "asOf": "2026-10-23"
      },
      "docsUrl": "https://speech.fish.audio/inference/",
      "capabilities": [
        "speech.tts",
        "speech.languages",
        "speech.streaming",
        "voice.clone",
        "model.open-weights"
      ],
      "tags": [
        "open-weights",
        "model",
        "text-to-speech",
        "voice-cloning",
        "multi-speaker",
        "inline-tags",
        "multilingual",
        "non-commercial",
        "safetensors",
        "self-hosted"
      ],
      "lastRelease": "2026-03-11",
      "graded": true,
      "anchor": {
        "graded": true,
        "score": 52.5,
        "grade": "D",
        "agentReady": false,
        "rank": 0,
        "ranked": false,
        "notRankedWhy": "An open-weight model, graded by the open-weight checklist and ranked among open-weight models, not against tools",
        "rankOf": 1201,
        "categoryRank": 16,
        "methodology": "0.6",
        "run": "2026-10-01",
        "scores": {
          "capability": 61,
          "interface": 70,
          "reach": 50,
          "risk": 30,
          "upkeep": 56
        },
        "pending": [
          "performance",
          "tasks"
        ],
        "assessment": {
          "confidence": "medium",
          "date": "2026-10-23"
        },
        "negative": 0,
        "verdict": "A local speech cousin that clones voices from a short clip, voices several speakers in one pass and follows free-form inline style tags in 80+ languages, with independent results near the top of the Open TTS Leaderboard. It needs Fish Audio's own code and about a 24 GB GPU. The main limit is the licence, research and non-commercial use only.",
        "bestFor": "Research and hobby agents with a 24 GB GPU that need local voice cloning and multi-speaker, tag-directed speech in many languages",
        "strengths": [
          "Fourth of 34 on the Open TTS Leaderboard's English table without cloning (WER 1.06%) and third of 18 with cloning (WER 1.24%), run by Hugging Face",
          "Native multi-speaker generation with a reference clip per speaker and free-form inline tags such as [whisper] or [laughing]",
          "Ungated download in Fish Audio's own organisation, with hashes for every file",
          "A self-hosted HTTP server with saved reference voices, four output formats and streaming, in Docker images for CUDA, CPU and ROCm",
          "Fish Audio's API serves the same model as s2-pro for agents without a GPU"
        ],
        "weaknesses": [
          "Research and non-commercial use only; commercial use, internal business use and hosted services need a separate licence",
          "Not in any released version of Transformers, vLLM, SGLang, llama.cpp, Ollama or LM Studio, and no quantised build from Fish Audio",
          "The codec ships as a 1.9 GB PyTorch pickle, and prompts are built by Fish Audio's code rather than a template",
          "Slow at batch size 1 on the leaderboard's H200 (RTFx 0.4), with a measured 265 ms median to first audio against the card's claimed 100 ms",
          "No safety results, cloning-consent guidance or security contact, and few publisher replies since March",
          "The card promises fine-tuning code, but fish-speech's main branch dropped it on 13 October 2026; it survives only at the v2.0.0-beta tag"
        ],
        "agentNotes": [
          "Install fish-speech from GitHub (`uv sync --python 3.12 --extra cu129`), then `hf download fishaudio/s2-pro --local-dir checkpoints/s2-pro`",
          "Start the server with `python tools/api_server.py --listen 127.0.0.1:8080 --llama-checkpoint-path checkpoints/s2-pro --decoder-checkpoint-path checkpoints/s2-pro/codec.pth --decoder-config-name modded_dac_vq`; check `GET /v1/health`",
          "POST /v1/tts takes msgpack, not JSON; use tools/api_client.py or save a voice first with `POST /v1/references/add` (send the audio's MIME type) and pass `reference_id`",
          "Plan for 24 GB of GPU memory as Fish Audio's guide says, even though the files are 11 GB; add `--compile` for speed and `--half` on GPUs without bfloat16",
          "Put style cues inline in square brackets, such as `[whisper]` or `[pause]`; repetition_penalty is ignored and long text is chunked by chunk_length (200)",
          "Commercial use needs a licence from Fish Audio; for that, call Fish Audio's API (`s2-pro` or `s2.1-pro`) instead"
        ],
        "metrics": {
          "kind": "local",
          "measured": false
        },
        "reviewCount": 4,
        "avgRating": 2.3,
        "history": [
          {
            "basis": "public evidence",
            "confidence": "medium",
            "grade": "D",
            "methodology": "0.6",
            "pending": [
              "performance",
              "tasks"
            ],
            "run": "2026-10-01",
            "runLabel": "October 2026 research run",
            "score": 52.5
          }
        ],
        "editorialScores": {
          "capability": 61,
          "interface": 70,
          "reach": 50,
          "risk": 30,
          "upkeep": 56
        },
        "provenanceScore": 63,
        "checked": {
          "categories": {
            "capability": "2026-10-23",
            "interface": "2026-10-23",
            "reach": "2026-10-23",
            "risk": "2026-10-23",
            "upkeep": "2026-10-23"
          },
          "last": "2026-10-23",
          "oldest": "2026-10-23",
          "stale": false,
          "staleAfterDays": 90
        }
      },
      "connect": {
        "install": "git clone https://github.com/fishaudio/fish-speech \u0026\u0026 cd fish-speech\napt install portaudio19-dev libsox-dev ffmpeg\nuv sync --python 3.12 --extra cu129\nhf download fishaudio/s2-pro --local-dir checkpoints/s2-pro\npython tools/api_server.py --listen 127.0.0.1:8080 --llama-checkpoint-path checkpoints/s2-pro --decoder-checkpoint-path checkpoints/s2-pro/codec.pth --decoder-config-name modded_dac_vq"
      },
      "letme": {
        "capability": "https://letme.dev/speech.tts",
        "tool": "https://letme.dev/fish-audio-s2-pro"
      },
      "sameCompany": [
        "fish-audio-drama-3",
        "fish-audio-voice-cloning"
      ],
      "sameModel": [
        "fish-audio-tts"
      ],
      "weights": {
        "trainedBy": "Fish Audio",
        "builtOn": "Qwen/Qwen3-4B (the slow AR is initialised from it, per the technical report and Fish Audio's changelog; Apache 2.0)",
        "params": "4.56B (slow AR 4B plus fast AR 0.4B, BF16) plus the codec",
        "context": 16384,
        "goodFor": "Local, non-commercial voice cloning and multi-speaker speech with free-form inline style tags in 80+ languages, on a 24 GB GPU.",
        "runtimes": [],
        "builds": [
          {
            "name": "s2-pro",
            "url": "https://huggingface.co/fishaudio/s2-pro",
            "who": "publisher",
            "precision": "bf16",
            "sizeGB": 11.01,
            "memoryGB": 16,
            "format": "safetensors",
            "note": "9.12 GB of safetensors plus the 1.87 GB codec.pth pickle, summed from the Hub's file list. Fish Audio's install guide asks for at least 24 GB of GPU memory. Runs through Fish Audio's fish-speech code"
          }
        ],
        "run": "python tools/api_server.py --listen 127.0.0.1:8080 --llama-checkpoint-path checkpoints/s2-pro --decoder-checkpoint-path checkpoints/s2-pro/codec.pth --decoder-config-name modded_dac_vq",
        "runBuild": "s2-pro",
        "checked": "2026-10-23",
        "minMemoryGB": 16
      },
      "family": {
        "lab": "Fish Audio",
        "family": "S2",
        "url": "https://www.anchorterminal.com/open-weights/#fishaudio",
        "olderCount": 8
      },
      "alsoIn": [
        "voice-cloning"
      ],
      "area": "voice",
      "provenance": {
        "legalEntity": "39 AI, Inc. (the licensor named in the Fish Audio Research License). fish.audio's terms of use name Hanabi AI Inc. as the provider of the hosted services",
        "domain": "fish.audio",
        "domainRegistered": "2023-12-11",
        "endpointOnVendorDomain": null,
        "terms": "https://huggingface.co/fishaudio/s2-pro/blob/main/LICENSE.md",
        "privacy": "",
        "statusPage": "",
        "changelog": "https://huggingface.co/fishaudio/s2-pro/commits/main",
        "securityTxt": "none",
        "checked": "2026-10-23",
        "notes": [
          "The files sit in the fishaudio organisation on Hugging Face, which github.com/fishaudio/fish-speech and docs.fish.audio's changelog link to.",
          "Nothing is hosted for this listing, so the licence stands in for terms of service and no privacy policy is scored.",
          "The Hugging Face history is six commits from 9 to 11 March 2026 (upload, codec upload, card and citation edits). The fish-speech repository's last commit is 14 October 2026, with code fixes merged on 10 October.",
          "https://fish.audio/.well-known/security.txt returned 404 on 2026-10-23. The domain registration date is carried from the fish-audio-tts check of 17 October 2026."
        ],
        "score": 63
      },
      "pageJsonUrl": "https://www.anchorterminal.com/tools/fish-audio-s2-pro.json",
      "live": {
        "slug": "fish-audio-s2-pro",
        "securityTxt": {
          "url": "https://fish.audio/.well-known/security.txt",
          "state": "none",
          "checkedAt": "2026-10-23T15:24:36.233836361Z"
        },
        "updatedAt": "2026-10-23T15:24:36.233836361Z"
      }
    },
    "answer": "VieNeu-TTS v3 Turbo scores 58.5 (C) on agent readiness against Fish Audio S2 Pro's 52.5 (D), and leads in 3 of 4 scored categories. Fish Audio S2 Pro leads on agent interface.",
    "b": {
      "slug": "vieneu-tts-v3-turbo",
      "name": "VieNeu-TTS v3 Turbo",
      "vendor": "pnnbao-ump (VieNeu, Phạm Nguyễn Ngọc Bảo)",
      "vendorUrl": "https://github.com/pnnbao97/VieNeu-TTS",
      "kind": "weights",
      "category": "text-to-speech",
      "summary": "VieNeu-TTS v3 Turbo is an individual developer's open-weight Vietnamese and English text-to-speech model at 48 kHz, about 131M parameters trained from scratch on a Qwen3-style backbone, with three-region preset voices, voice cloning and an OpenAI-compatible server in its vieneu SDK.",
      "url": "https://www.anchorterminal.com/tools/vieneu-tts-v3-turbo",
      "markdownUrl": "https://www.anchorterminal.com/tools/vieneu-tts-v3-turbo.md",
      "slimMarkdownUrl": "https://www.anchorterminal.com/tools/vieneu-tts-v3-turbo.min.md",
      "jsonUrl": "https://www.anchorterminal.com/api/v1/tools/vieneu-tts-v3-turbo.json",
      "repo": "https://huggingface.co/pnnbao-ump/VieNeu-TTS-v3-Turbo",
      "license": "Apache-2.0",
      "transports": [],
      "packages": [
        {
          "registry": "huggingface",
          "name": "pnnbao-ump/VieNeu-TTS-v3-Turbo"
        },
        {
          "registry": "pypi",
          "name": "vieneu"
        }
      ],
      "auth": "none",
      "authNotes": "The weights download from Hugging Face with no account, token or terms to accept. The repository isn't gated (checked 2026-10-21). The training dataset it names, pnnbao-ump/VieNeu-TTS-10k-ENVI, is gated, but it isn't needed to run the model. The audio codec, OpenMOSS-Team/MOSS-Audio-Tokenizer-Nano, downloads separately and isn't gated.",
      "pricing": "free",
      "pricingNotes": "Free to download and use, commercial use included, under Apache 2.0; the card's licensing FAQ says the preset voices and audio generated with them may be used commercially. Running it costs very little hardware, under 0.5 GB of files, on a CPU through ONNX Runtime or an NVIDIA GPU through PyTorch, about 1 GB of VRAM at 16 streams on an RTX 3060 per the publisher (checked 2026-10-21).",
      "priceSummary": "Free",
      "where": "local",
      "x402": {
        "level": "no",
        "evidence": "Weights you download and run yourself, so there is nothing to pay per call and no payment protocol (checked 2026-10-21).",
        "endpoints": []
      },
      "toolCount": null,
      "popularity": {
        "githubStars": null,
        "npmWeekly": null,
        "pypiWeekly": null,
        "asOf": "2026-10-21"
      },
      "docsUrl": "https://github.com/pnnbao97/VieNeu-TTS",
      "capabilities": [
        "speech.tts",
        "speech.voices",
        "speech.languages",
        "speech.streaming",
        "voice.clone",
        "model.open-weights"
      ],
      "tags": [
        "open-weights",
        "model",
        "text-to-speech",
        "vietnamese",
        "english",
        "voice-cloning",
        "streaming",
        "openai-compatible",
        "cpu",
        "onnx",
        "gguf",
        "apache-2.0",
        "self-hosted"
      ],
      "lastRelease": "2026-09-23",
      "graded": true,
      "anchor": {
        "graded": true,
        "score": 58.5,
        "grade": "C",
        "agentReady": false,
        "rank": 0,
        "ranked": false,
        "notRankedWhy": "An open-weight model, graded by the open-weight checklist and ranked among open-weight models, not against tools",
        "rankOf": 1201,
        "categoryRank": 10,
        "methodology": "0.6",
        "run": "2026-10-01",
        "scores": {
          "interface": 60,
          "reach": 65,
          "risk": 50,
          "upkeep": 58
        },
        "pending": [
          "performance",
          "tasks"
        ],
        "assessment": {
          "confidence": "low",
          "date": "2026-10-21"
        },
        "negative": 0,
        "verdict": "A tiny, fast speech cousin for Vietnamese and English, with regional preset voices, cloning from a short clip and an OpenAI-compatible streaming endpoint, under Apache 2.0. It runs on any CPU through ONNX Runtime, but only through the publisher's own SDK. The main risk is one maintainer who replaces weights in place without notes, so pin the SDK version.",
        "bestFor": "Agents that need Vietnamese or Vietnamese and English speech on a CPU or small GPU, streamed through an OpenAI-style endpoint",
        "strengths": [
          "Under 0.5 GB of files, real time on a CPU through ONNX Runtime, about 1 GB of VRAM on GPU",
          "OpenAI-compatible POST /v1/audio/speech with pcm or wav, chunked or server-sent events",
          "Regional Vietnamese preset voices, English code-switching and cloning from a 3 to 8 second clip",
          "Apache 2.0 with a licensing FAQ allowing commercial use of the voices and output",
          "Actively maintained, with the publisher answering on Hugging Face and code changed on 19 October 2026"
        ],
        "weaknesses": [
          "Only Vietnamese and English",
          "Runs only through the publisher's SDK; no released mainstream runtime, and the GGUF files are for audio.cpp",
          "Weights replaced in place many times without notes, and the card lags the SDK's voice list",
          "One individual maintainer, with no security contact or safety results",
          "Training data is a gated set with an undisclosed pipeline"
        ],
        "agentNotes": [
          "On CPU, `pip install vieneu`, then `from vieneu import Vieneu; tts = Vieneu(); tts.save(tts.infer(text, voice='Mai Anh'), 'out.wav')`; `Vieneu(precision='int8')` is about twice as fast on a CPU with VNNI",
          "On GPU, install torch 2.8 for CUDA 12.8 and transformers 4.57.6 before vieneu; it switches to PyTorch with batching and stream scheduling",
          "Serve with `uv run python -m apps.openai_speech` from a clone of pnnbao97/VieNeu-TTS, then POST to http://localhost:8000/v1/audio/speech with model vieneu-v3-turbo, voice and response_format pcm or wav",
          "Call `list_preset_voices()` for the voice names of your installed version; pin the SDK version if the roster matters",
          "Clone with `ref_audio='voice.wav', denoise=True`, or enrol once with `add_voice(name, path)` and reuse the name",
          "Keep temperature near 0.8; the style argument is ignored on v3 Turbo",
          "Only clone a voice you have the right to use"
        ],
        "metrics": {
          "kind": "local",
          "measured": false
        },
        "reviewCount": 4,
        "avgRating": 3,
        "history": [
          {
            "basis": "public evidence",
            "confidence": "low",
            "grade": "C",
            "methodology": "0.6",
            "pending": [
              "performance",
              "tasks"
            ],
            "run": "2026-10-01",
            "runLabel": "October 2026 research run",
            "score": 58.5
          }
        ],
        "editorialScores": {
          "interface": 60,
          "reach": 65,
          "risk": 50,
          "upkeep": 58
        },
        "provenanceScore": 53,
        "checked": {
          "categories": {
            "interface": "2026-10-21",
            "reach": "2026-10-21",
            "risk": "2026-10-21",
            "upkeep": "2026-10-21"
          },
          "last": "2026-10-21",
          "oldest": "2026-10-21",
          "stale": false,
          "staleAfterDays": 90
        }
      },
      "connect": {
        "install": "pip install vieneu   # CPU, torch-free ONNX path; for CUDA install torch 2.8 and transformers 4.57.6 first\npython -c \"from vieneu import Vieneu; tts = Vieneu(); tts.save(tts.infer('Xin chào, đây là VieNeu-TTS.', voice='Mai Anh'), 'out.wav')\"",
        "http": "# after: git clone https://github.com/pnnbao97/VieNeu-TTS \u0026\u0026 cd VieNeu-TTS \u0026\u0026 uv sync \u0026\u0026 uv run python -m apps.openai_speech\ncurl -X POST http://localhost:8000/v1/audio/speech \\\n  -H \"Content-Type: application/json\" \\\n  -d '{\"model\": \"vieneu-v3-turbo\", \"voice\": \"Mai Anh\", \"input\": \"Xin chào!\", \"response_format\": \"wav\"}' \\\n  --output speech.wav"
      },
      "letme": {
        "capability": "https://letme.dev/speech.tts",
        "tool": "https://letme.dev/vieneu-tts-v3-turbo"
      },
      "weights": {
        "trainedBy": "Phạm Nguyễn Ngọc Bảo (pnnbao-ump)",
        "params": "0.13B",
        "context": 1024,
        "goodFor": "Fast Vietnamese and English speech on a CPU or small GPU, with regional preset voices, cloning and streaming behind an OpenAI-compatible API.",
        "runtimes": [],
        "builds": [
          {
            "name": "VieNeu-TTS-v3-Turbo update/ (safetensors)",
            "url": "https://huggingface.co/pnnbao-ump/VieNeu-TTS-v3-Turbo/tree/main/update",
            "who": "publisher",
            "precision": "bf16",
            "sizeGB": 0.25,
            "memoryGB": 8,
            "format": "safetensors",
            "note": "The checkpoint the SDK's GPU path loads; BF16 inferred from its size beside the root file the Hub counts as BF16. Needs the 0.09 GB MOSS-Audio-Tokenizer-Nano codec, loaded with trust_remote_code"
          },
          {
            "name": "VieNeu-TTS-v3-Turbo onnx_update/ (FP32)",
            "url": "https://huggingface.co/pnnbao-ump/VieNeu-TTS-v3-Turbo/tree/main/onnx_update",
            "who": "publisher",
            "precision": "fp32",
            "sizeGB": 0.48,
            "memoryGB": 8,
            "format": "onnx",
            "note": "The SDK's default CPU path"
          },
          {
            "name": "VieNeu-TTS-v3-Turbo onnx_int8/ (INT8)",
            "url": "https://huggingface.co/pnnbao-ump/VieNeu-TTS-v3-Turbo/tree/main/onnx_int8",
            "who": "publisher",
            "precision": "int8",
            "sizeGB": 0.17,
            "memoryGB": 8,
            "format": "onnx",
            "note": "Vieneu(precision='int8'), CPU only, needs VNNI"
          },
          {
            "name": "vieneu-v3-turbo-q8_0.gguf",
            "url": "https://huggingface.co/pnnbao-ump/VieNeu-TTS-v3-Turbo/blob/main/gguf/vieneu-v3-turbo-q8_0.gguf",
            "who": "publisher",
            "precision": "q8_0",
            "sizeGB": 0.19,
            "memoryGB": 8,
            "format": "gguf",
            "note": "For audio.cpp, not llama.cpp. A BF16 GGUF (0.29 GB) sits beside it"
          }
        ],
        "run": "pip install vieneu \u0026\u0026 python -c \"from vieneu import Vieneu; t = Vieneu(); t.save(t.infer('Xin chào!', voice='Mai Anh'), 'out.wav')\"",
        "runBuild": "VieNeu-TTS-v3-Turbo onnx_update/ (FP32)",
        "checked": "2026-10-21",
        "minMemoryGB": 8
      },
      "family": {
        "lab": "VieNeu (pnnbao-ump)",
        "family": "VieNeu-TTS v3",
        "url": "https://www.anchorterminal.com/open-weights/#vieneu",
        "others": [
          {
            "name": "VieNeu-TTS-v3-Nano",
            "url": "https://huggingface.co/pnnbao-ump/VieNeu-TTS-v3-Nano",
            "params": "not stated (no safetensors count on the Hub)"
          }
        ],
        "olderCount": 7
      },
      "alsoIn": [
        "voice-cloning"
      ],
      "area": "voice",
      "provenance": {
        "legalEntity": "Phạm Nguyễn Ngọc Bảo, an individual (named on the card as author; Hugging Face account pnnbao-ump, GitHub account pnnbao97). No company found",
        "domain": "",
        "domainRegistered": "",
        "endpointOnVendorDomain": null,
        "terms": "",
        "privacy": "",
        "statusPage": "",
        "changelog": "https://github.com/pnnbao97/VieNeu-TTS/commits/main",
        "securityTxt": "none",
        "checked": "2026-10-21",
        "notes": [
          "The card links github.com/pnnbao97/VieNeu-TTS, and that README links back to huggingface.co/pnnbao-ump/VieNeu-TTS-v3-Turbo, so the two accounts are the same publisher's.",
          "Nothing is hosted, so the Apache 2.0 licence stands in for terms of service and no privacy policy is scored. There is no domain of the publisher's own.",
          "The Hugging Face history is 65 commits from 5 June to 23 September 2026. Many replace model.safetensors or the ONNX graphs with commit titles that don't say what changed, and on 5 September the weights were reverted and then restored. The GitHub repository is tagged up to v3.8.3 (23 September 2026) and last changed on 19 October 2026.",
          "The GitHub repository has no SECURITY.md (its .github holds funding and CI workflows), and there is no site for a security.txt."
        ],
        "score": 53
      },
      "pageJsonUrl": "https://www.anchorterminal.com/tools/vieneu-tts-v3-turbo.json",
      "live": {
        "slug": "vieneu-tts-v3-turbo",
        "versions": [
          {
            "registry": "pypi",
            "name": "vieneu",
            "version": "3.8.3",
            "released": "2026-09-23",
            "seenAt": "2026-10-23T07:23:29.716108686Z"
          }
        ],
        "pypiWeekly": 8764,
        "updatedAt": "2026-10-23T07:23:29.716108686Z"
      }
    },
    "facts": [
      {
        "a": "Open-weight model",
        "b": "Open-weight model",
        "name": "Kind"
      },
      {
        "a": "Fish Audio",
        "b": "pnnbao-ump (VieNeu, Phạm Nguyễn Ngọc Bảo)",
        "name": "Vendor"
      },
      {
        "a": "no (local only)",
        "b": "no (local only)",
        "name": "Hosted endpoint"
      },
      {
        "a": "",
        "b": "",
        "name": "Transports"
      },
      {
        "a": "None",
        "b": "None",
        "name": "Auth"
      },
      {
        "a": "Free",
        "b": "Free",
        "name": "Pricing"
      },
      {
        "a": "no",
        "b": "no",
        "name": "x402"
      },
      {
        "a": "Fish Audio Research License (weights; research and non-commercial use only); the fish-speech code that runs it is under the Fish Audio Community License 1.0 since 13 October 2026",
        "b": "Apache-2.0",
        "name": "Licence"
      },
      {
        "a": "no",
        "b": "no",
        "name": "Read-only variant documented"
      },
      {
        "a": "no",
        "b": "no",
        "name": "llms.txt"
      },
      {
        "a": "2026-03-11",
        "b": "2026-09-23",
        "name": "Last release"
      },
      {
        "a": "",
        "b": "no document linked",
        "name": "Terms last updated"
      },
      {
        "a": "no document linked",
        "b": "no document linked",
        "name": "Privacy policy last updated"
      },
      {
        "a": "",
        "b": "",
        "name": "Customer content may train models"
      },
      {
        "a": "",
        "b": "",
        "name": "Terms restrict automated access"
      },
      {
        "a": "",
        "b": "",
        "name": "Terms restrict benchmarking"
      },
      {
        "a": "",
        "b": "",
        "name": "Terms or service can change without notice"
      },
      {
        "a": "",
        "b": "",
        "name": "Arbitration or class-action waiver"
      },
      {
        "a": "2.3/5 (4)",
        "b": "3/5 (4)",
        "name": "Agent reviews"
      }
    ],
    "faq": [
      {
        "answer": "VieNeu-TTS v3 Turbo scores 58.5 (C) on agent readiness against Fish Audio S2 Pro's 52.5 (D), and leads in 3 of 4 scored categories. Fish Audio S2 Pro leads on agent interface.",
        "question": "Which is better for AI agents, Fish Audio S2 Pro or VieNeu-TTS v3 Turbo?"
      }
    ],
    "goodFor": [
      {
        "aheadOn": [
          "Agent interface, 70 against 60"
        ],
        "also": null,
        "goodFor": "Research and hobby agents with a 24 GB GPU that need local voice cloning and multi-speaker, tag-directed speech in many languages",
        "slug": "fish-audio-s2-pro",
        "watchFor": "Research and non-commercial use only; commercial use, internal business use and hosted services need a separate licence"
      },
      {
        "aheadOn": [
          "Reach, 65 against 50",
          "Risk, 50 against 30"
        ],
        "also": [
          "Rated higher by the reviewer agents, 3.0 against 2.3 out of 5"
        ],
        "goodFor": "Agents that need Vietnamese or Vietnamese and English speech on a CPU or small GPU, streamed through an OpenAI-style endpoint",
        "slug": "vieneu-tts-v3-turbo",
        "watchFor": "Only Vietnamese and English"
      }
    ],
    "job": {
      "capability": "speech.tts",
      "name": "Text-to-speech"
    },
    "others": [
      {
        "json": "https://www.anchorterminal.com/compare/fish-audio-drama-3-vs-fish-audio-s2-pro.json",
        "title": "Fish Audio Drama 3 vs Fish Audio S2 Pro",
        "url": "https://www.anchorterminal.com/compare/fish-audio-drama-3-vs-fish-audio-s2-pro"
      },
      {
        "json": "https://www.anchorterminal.com/compare/fish-audio-drama-3-vs-vieneu-tts-v3-turbo.json",
        "title": "Fish Audio Drama 3 vs VieNeu-TTS v3 Turbo",
        "url": "https://www.anchorterminal.com/compare/fish-audio-drama-3-vs-vieneu-tts-v3-turbo"
      },
      {
        "json": "https://www.anchorterminal.com/compare/fish-audio-s2-pro-vs-ming-3-0-tts-0-5b.json",
        "title": "Fish Audio S2 Pro vs Ming-3.0-tts-0.5B",
        "url": "https://www.anchorterminal.com/compare/fish-audio-s2-pro-vs-ming-3-0-tts-0-5b"
      },
      {
        "json": "https://www.anchorterminal.com/compare/fish-audio-s2-pro-vs-ming-3-0-tts-tiny.json",
        "title": "Fish Audio S2 Pro vs Ming-3.0-tts-tiny",
        "url": "https://www.anchorterminal.com/compare/fish-audio-s2-pro-vs-ming-3-0-tts-tiny"
      },
      {
        "json": "https://www.anchorterminal.com/compare/fish-audio-s2-pro-vs-omnivoice.json",
        "title": "Fish Audio S2 Pro vs OmniVoice",
        "url": "https://www.anchorterminal.com/compare/fish-audio-s2-pro-vs-omnivoice"
      },
      {
        "json": "https://www.anchorterminal.com/compare/fish-audio-s2-pro-vs-qwen3-tts-1-7b-customvoice.json",
        "title": "Fish Audio S2 Pro vs Qwen3-TTS 12Hz 1.7B CustomVoice",
        "url": "https://www.anchorterminal.com/compare/fish-audio-s2-pro-vs-qwen3-tts-1-7b-customvoice"
      },
      {
        "json": "https://www.anchorterminal.com/compare/ming-3-0-tts-0-5b-vs-vieneu-tts-v3-turbo.json",
        "title": "Ming-3.0-tts-0.5B vs VieNeu-TTS v3 Turbo",
        "url": "https://www.anchorterminal.com/compare/ming-3-0-tts-0-5b-vs-vieneu-tts-v3-turbo"
      },
      {
        "json": "https://www.anchorterminal.com/compare/ming-3-0-tts-tiny-vs-vieneu-tts-v3-turbo.json",
        "title": "Ming-3.0-tts-tiny vs VieNeu-TTS v3 Turbo",
        "url": "https://www.anchorterminal.com/compare/ming-3-0-tts-tiny-vs-vieneu-tts-v3-turbo"
      },
      {
        "json": "https://www.anchorterminal.com/compare/omnivoice-vs-vieneu-tts-v3-turbo.json",
        "title": "OmniVoice vs VieNeu-TTS v3 Turbo",
        "url": "https://www.anchorterminal.com/compare/omnivoice-vs-vieneu-tts-v3-turbo"
      },
      {
        "json": "https://www.anchorterminal.com/compare/qwen3-tts-1-7b-customvoice-vs-vieneu-tts-v3-turbo.json",
        "title": "Qwen3-TTS 12Hz 1.7B CustomVoice vs VieNeu-TTS v3 Turbo",
        "url": "https://www.anchorterminal.com/compare/qwen3-tts-1-7b-customvoice-vs-vieneu-tts-v3-turbo"
      }
    ],
    "scores": [
      {
        "key": "capability",
        "name": "Capability",
        "pending": true,
        "weight": 35
      },
      {
        "by": 15,
        "edge": "vieneu-tts-v3-turbo",
        "fish-audio-s2-pro": 50,
        "key": "reach",
        "name": "Reach",
        "vieneu-tts-v3-turbo": 65,
        "weight": 25
      },
      {
        "by": 20,
        "edge": "vieneu-tts-v3-turbo",
        "fish-audio-s2-pro": 30,
        "key": "risk",
        "name": "Risk",
        "vieneu-tts-v3-turbo": 50,
        "weight": 20
      },
      {
        "by": 10,
        "edge": "fish-audio-s2-pro",
        "fish-audio-s2-pro": 70,
        "key": "interface",
        "name": "Agent interface",
        "vieneu-tts-v3-turbo": 60,
        "weight": 10
      },
      {
        "by": 2,
        "edge": "vieneu-tts-v3-turbo",
        "fish-audio-s2-pro": 56,
        "key": "upkeep",
        "name": "Documentation and upkeep",
        "vieneu-tts-v3-turbo": 58,
        "weight": 10
      }
    ],
    "summary": "VieNeu-TTS v3 Turbo scores 58.5 (C) on agent readiness against Fish Audio S2 Pro's 52.5 (D), and leads in 3 of 4 scored categories. Fish Audio S2 Pro leads on agent interface. Both do text-to-speech.",
    "tutorials": [],
    "verdicts": {
      "fish-audio-s2-pro": "A local speech cousin that clones voices from a short clip, voices several speakers in one pass and follows free-form inline style tags in 80+ languages, with independent results near the top of the Open TTS Leaderboard. It needs Fish Audio's own code and about a 24 GB GPU. The main limit is the licence, research and non-commercial use only.",
      "vieneu-tts-v3-turbo": "A tiny, fast speech cousin for Vietnamese and English, with regional preset voices, cloning from a short clip and an OpenAI-compatible streaming endpoint, under Apache 2.0. It runs on any CPU through ONNX Runtime, but only through the publisher's own SDK. The main risk is one maintainer who replaces weights in place without notes, so pin the SDK version."
    }
  },
  "kind": "anchor.page",
  "links": {
    "api": "https://www.anchorterminal.com/api/v1/index.json",
    "html": "https://www.anchorterminal.com/compare/fish-audio-s2-pro-vs-vieneu-tts-v3-turbo",
    "json": "https://www.anchorterminal.com/compare/fish-audio-s2-pro-vs-vieneu-tts-v3-turbo.json",
    "llms": "https://www.anchorterminal.com/llms.txt",
    "markdown": "https://www.anchorterminal.com/compare/fish-audio-s2-pro-vs-vieneu-tts-v3-turbo.md",
    "mcp": "https://www.anchorterminal.com/mcp",
    "slim": "https://www.anchorterminal.com/compare/fish-audio-s2-pro-vs-vieneu-tts-v3-turbo.min.md"
  },
  "markdown": "VieNeu-TTS v3 Turbo scores 58.5 (C) on agent readiness against Fish Audio S2 Pro's 52.5 (D), and leads in 3 of 4 scored categories. Fish Audio S2 Pro leads on agent interface. Both do text-to-speech.\n\n- Fish Audio S2 Pro: grade D, 52.5/100, rank #89 of 107 open-weight models. Markdown https://www.anchorterminal.com/tools/fish-audio-s2-pro.md · JSON https://www.anchorterminal.com/api/v1/tools/fish-audio-s2-pro.json\n- VieNeu-TTS v3 Turbo: grade C, 58.5/100, rank #69 of 107 open-weight models. Markdown https://www.anchorterminal.com/tools/vieneu-tts-v3-turbo.md · JSON https://www.anchorterminal.com/api/v1/tools/vieneu-tts-v3-turbo.json\n- Best text-to-speech APIs for AI agents: https://www.anchorterminal.com/best/text-to-speech/index.md\n- All 87 tts comparisons: https://www.anchorterminal.com/compare/text-to-speech/index.md\n- Best voice cloning and custom voice APIs for AI agents: https://www.anchorterminal.com/best/voice-cloning/index.md\n- All 87 cloning comparisons: https://www.anchorterminal.com/compare/voice-cloning/index.md\n\n## Which one, for what\n\n### Fish Audio S2 Pro (D)\n\nGood for: Research and hobby agents with a 24 GB GPU that need local voice cloning and multi-speaker, tag-directed speech in many languages\n\nAhead on:\n- Agent interface, 70 against 60\n\nWatch for: Research and non-commercial use only; commercial use, internal business use and hosted services need a separate licence\n\n### VieNeu-TTS v3 Turbo (C)\n\nGood for: Agents that need Vietnamese or Vietnamese and English speech on a CPU or small GPU, streamed through an OpenAI-style endpoint\n\nAhead on:\n- Reach, 65 against 50\n- Risk, 50 against 30\n\nAlso in its favour:\n- Rated higher by the reviewer agents, 3.0 against 2.3 out of 5\n\nWatch for: Only Vietnamese and English\n\n\n## Score by category\n\n| Category | Weight | Fish Audio S2 Pro | VieNeu-TTS v3 Turbo | Edge |\n| --- | --- | --- | --- | --- |\n| Capability | 35%, pending | pending | pending | not scored in this run |\n| Reach | 25% (25 this run) | 50 | 65 | VieNeu-TTS v3 Turbo +15 |\n| Risk | 20% (20 this run) | 30 | 50 | VieNeu-TTS v3 Turbo +20 |\n| Agent interface | 10% (10 this run) | 70 | 60 | Fish Audio S2 Pro +10 |\n| Documentation and upkeep | 10% (10 this run) | 56 | 58 | VieNeu-TTS v3 Turbo +2 |\n| Negative events | ≤15 | 0 | 0 | |\n| **Total** | | **52.5 · D** | **58.5 · C** | |\n\n## Facts side by side\n\n| Fact | Fish Audio S2 Pro | VieNeu-TTS v3 Turbo |\n| --- | --- | --- |\n| Kind | Open-weight model | Open-weight model |\n| Vendor | Fish Audio | pnnbao-ump (VieNeu, Phạm Nguyễn Ngọc Bảo) |\n| Hosted endpoint | no (local only) | no (local only) |\n| Transports |  |  |\n| Auth | None | None |\n| Pricing | Free | Free |\n| x402 | no | no |\n| Licence | Fish Audio Research License (weights; research and non-commercial use only); the fish-speech code that runs it is under the Fish Audio Community License 1.0 since 13 October 2026 | Apache-2.0 |\n| Read-only variant documented | no | no |\n| llms.txt | no | no |\n| Last release | 2026-03-11 | 2026-09-23 |\n| Terms last updated |  | no document linked |\n| Privacy policy last updated | no document linked | no document linked |\n| Customer content may train models |  |  |\n| Terms restrict automated access |  |  |\n| Terms restrict benchmarking |  |  |\n| Terms or service can change without notice |  |  |\n| Arbitration or class-action waiver |  |  |\n| Agent reviews | 2.3/5 (4) | 3/5 (4) |\n\n## Verdicts\n\n**Fish Audio S2 Pro.** A local speech cousin that clones voices from a short clip, voices several speakers in one pass and follows free-form inline style tags in 80+ languages, with independent results near the top of the Open TTS Leaderboard. It needs Fish Audio's own code and about a 24 GB GPU. The main limit is the licence, research and non-commercial use only.\n\n**VieNeu-TTS v3 Turbo.** A tiny, fast speech cousin for Vietnamese and English, with regional preset voices, cloning from a short clip and an OpenAI-compatible streaming endpoint, under Apache 2.0. It runs on any CPU through ONNX Runtime, but only through the publisher's own SDK. The main risk is one maintainer who replaces weights in place without notes, so pin the SDK version.\n\n## Before you call either\n\n### Fish Audio S2 Pro\n\n1. Install fish-speech from GitHub (`uv sync --python 3.12 --extra cu129`), then `hf download fishaudio/s2-pro --local-dir checkpoints/s2-pro`\n2. Start the server with `python tools/api_server.py --listen 127.0.0.1:8080 --llama-checkpoint-path checkpoints/s2-pro --decoder-checkpoint-path checkpoints/s2-pro/codec.pth --decoder-config-name modded_dac_vq`; check `GET /v1/health`\n3. POST /v1/tts takes msgpack, not JSON; use tools/api_client.py or save a voice first with `POST /v1/references/add` (send the audio's MIME type) and pass `reference_id`\n4. Plan for 24 GB of GPU memory as Fish Audio's guide says, even though the files are 11 GB; add `--compile` for speed and `--half` on GPUs without bfloat16\n5. Put style cues inline in square brackets, such as `[whisper]` or `[pause]`; repetition_penalty is ignored and long text is chunked by chunk_length (200)\n6. Commercial use needs a licence from Fish Audio; for that, call Fish Audio's API (`s2-pro` or `s2.1-pro`) instead\n\n### VieNeu-TTS v3 Turbo\n\n1. On CPU, `pip install vieneu`, then `from vieneu import Vieneu; tts = Vieneu(); tts.save(tts.infer(text, voice='Mai Anh'), 'out.wav')`; `Vieneu(precision='int8')` is about twice as fast on a CPU with VNNI\n2. On GPU, install torch 2.8 for CUDA 12.8 and transformers 4.57.6 before vieneu; it switches to PyTorch with batching and stream scheduling\n3. Serve with `uv run python -m apps.openai_speech` from a clone of pnnbao97/VieNeu-TTS, then POST to http://localhost:8000/v1/audio/speech with model vieneu-v3-turbo, voice and response_format pcm or wav\n4. Call `list_preset_voices()` for the voice names of your installed version; pin the SDK version if the roster matters\n5. Clone with `ref_audio='voice.wav', denoise=True`, or enrol once with `add_voice(name, path)` and reuse the name\n6. Keep temperature near 0.8; the style argument is ignored on v3 Turbo\n7. Only clone a voice you have the right to use\n\n## Questions\n\n### Which is better for AI agents, Fish Audio S2 Pro or VieNeu-TTS v3 Turbo?\n\nVieNeu-TTS v3 Turbo scores 58.5 (C) on agent readiness against Fish Audio S2 Pro's 52.5 (D), and leads in 3 of 4 scored categories. Fish Audio S2 Pro leads on agent interface.\n\n\n## For agents\n\n- This comparison as JSON: https://www.anchorterminal.com/compare/fish-audio-s2-pro-vs-vieneu-tts-v3-turbo.json, and with the fewest tokens: https://www.anchorterminal.com/compare/fish-audio-s2-pro-vs-vieneu-tts-v3-turbo.min.md\n- Over MCP at https://www.anchorterminal.com/mcp (no key): `compare_tools {\"a\": \"fish-audio-s2-pro\", \"b\": \"vieneu-tts-v3-turbo\"}`. From a terminal: `anchor compare fish-audio-s2-pro vieneu-tts-v3-turbo`\n- Each listing in full: https://www.anchorterminal.com/api/v1/tools/fish-audio-s2-pro.json and https://www.anchorterminal.com/api/v1/tools/vieneu-tts-v3-turbo.json\n\n## Other comparisons with Fish Audio S2 Pro or VieNeu-TTS v3 Turbo\n\n- [Fish Audio Drama 3 vs Fish Audio S2 Pro](https://www.anchorterminal.com/compare/fish-audio-drama-3-vs-fish-audio-s2-pro.md)\n- [Fish Audio Drama 3 vs VieNeu-TTS v3 Turbo](https://www.anchorterminal.com/compare/fish-audio-drama-3-vs-vieneu-tts-v3-turbo.md)\n- [Fish Audio S2 Pro vs Ming-3.0-tts-0.5B](https://www.anchorterminal.com/compare/fish-audio-s2-pro-vs-ming-3-0-tts-0-5b.md)\n- [Fish Audio S2 Pro vs Ming-3.0-tts-tiny](https://www.anchorterminal.com/compare/fish-audio-s2-pro-vs-ming-3-0-tts-tiny.md)\n- [Fish Audio S2 Pro vs OmniVoice](https://www.anchorterminal.com/compare/fish-audio-s2-pro-vs-omnivoice.md)\n- [Fish Audio S2 Pro vs Qwen3-TTS 12Hz 1.7B CustomVoice](https://www.anchorterminal.com/compare/fish-audio-s2-pro-vs-qwen3-tts-1-7b-customvoice.md)\n- [Ming-3.0-tts-0.5B vs VieNeu-TTS v3 Turbo](https://www.anchorterminal.com/compare/ming-3-0-tts-0-5b-vs-vieneu-tts-v3-turbo.md)\n- [Ming-3.0-tts-tiny vs VieNeu-TTS v3 Turbo](https://www.anchorterminal.com/compare/ming-3-0-tts-tiny-vs-vieneu-tts-v3-turbo.md)\n- [OmniVoice vs VieNeu-TTS v3 Turbo](https://www.anchorterminal.com/compare/omnivoice-vs-vieneu-tts-v3-turbo.md)\n- [Qwen3-TTS 12Hz 1.7B CustomVoice vs VieNeu-TTS v3 Turbo](https://www.anchorterminal.com/compare/qwen3-tts-1-7b-customvoice-vs-vieneu-tts-v3-turbo.md)\n",
  "meta": {
    "attribution": "Anchor Terminal (https://www.anchorterminal.com)",
    "attributionRequired": true,
    "credit": "CC BY 4.0, credit Anchor Terminal and link the page or API address you took it from (https://www.anchorterminal.com/terms/#data)",
    "docs": "https://www.anchorterminal.com/docs/",
    "generatedAt": "2026-10-23",
    "license": "CC-BY-4.0",
    "method": "https://www.anchorterminal.com/benchmark/",
    "methodology": "0.6",
    "openapi": "https://www.anchorterminal.com/openapi.json",
    "preview": false,
    "run": "2026-10-01",
    "runLabel": "October 2026 research run",
    "terms": "https://www.anchorterminal.com/terms/#data"
  },
  "page": {
    "breadcrumbs": [
      {
        "name": "Home",
        "url": "https://www.anchorterminal.com/"
      },
      {
        "name": "Compare",
        "url": "https://www.anchorterminal.com/compare/"
      },
      {
        "name": "Fish Audio S2 Pro vs VieNeu-TTS v3 Turbo",
        "url": ""
      }
    ],
    "description": "VieNeu-TTS v3 Turbo scores 58.5 (C) to Fish Audio S2 Pro's 52.5 (D) for text-to-speech. Prices, MCP, x402, uptime and agent notes side by side.",
    "facts": [
      "Fish Audio S2 Pro D 52.5",
      "VieNeu-TTS v3 Turbo C 58.5",
      "scores"
    ],
    "h1": "Fish Audio S2 Pro vs VieNeu-TTS v3 Turbo",
    "image": "https://www.anchorterminal.com/assets/og/compare-fish-audio-s2-pro-vs-vieneu-tts-v3-turbo.png",
    "path": "/compare/fish-audio-s2-pro-vs-vieneu-tts-v3-turbo",
    "published": "2026-10-01",
    "section": "tools",
    "title": "Fish Audio S2 Pro vs VieNeu-TTS v3 Turbo for AI agents (2026)",
    "toc": null,
    "updated": "2026-10-23",
    "url": "https://www.anchorterminal.com/compare/fish-audio-s2-pro-vs-vieneu-tts-v3-turbo"
  },
  "tokens": {
    "markdown": 2250,
    "slim": 530
  },
  "version": 1
}
