arwin0727's picture
Upload folder using huggingface_hub
3303abf verified
# Server
This page covers server-side inference for Fish Audio S2, plus quick links for WebUI inference and Docker deployment.
## API Server Inference
Fish Speech provides an HTTP API server entrypoint at `tools/api_server.py`.
### Start the server locally
```bash
python tools/api_server.py \
--llama-checkpoint-path checkpoints/s2-pro \
--decoder-checkpoint-path checkpoints/s2-pro/codec.pth \
--listen 0.0.0.0:8080
```
Common options:
- `--compile`: enable `torch.compile` optimization
- `--half`: use fp16 mode
- `--api-key`: require bearer token authentication
- `--workers`: set worker process count
### Health check
```bash
curl -X GET http://127.0.0.1:8080/v1/health
```
Expected response:
```json
{"status":"ok"}
```
### Main API endpoint
- `POST /v1/tts` for text-to-speech generation
- `POST /v1/vqgan/encode` for VQ encode
- `POST /v1/vqgan/decode` for VQ decode
### Python client example
The base TTS model is selected when the server starts. In the example above, the server is started with the `checkpoints/s2-pro` weights, so every request sent to `http://127.0.0.1:8080/v1/tts` will use **S2-Pro** automatically. There is no separate per-request `model` field in `tools/api_client.py` for local server calls.
```bash
python tools/api_client.py \
--url http://127.0.0.1:8080/v1/tts \
--text "Hello from Fish Speech" \
--output s2-pro-demo
```
If you want to select a saved reference voice, use `--reference_id`. This chooses the **voice reference**, not the base TTS model:
```bash
python tools/api_client.py \
--url http://127.0.0.1:8080/v1/tts \
--text "Hello from Fish Speech" \
--reference_id my-speaker \
--output s2-pro-demo
```
## WebUI Inference
For WebUI usage, see:
- [WebUI Inference](https://speech.fish.audio/inference/#webui-inference)
## Docker
For Docker-based server or WebUI deployment, see:
- [Docker Setup](https://speech.fish.audio/install/#docker-setup)
You can also start the server profile directly with Docker Compose:
```bash
docker compose --profile server up
```