canonical: https://jentic.com/apis/nicevois.com/nicevois

# NiceVois Agent API

The NiceVois Agent API splits and cleans up audio and trains or applies private RVC v2 voice models. Four free tools need no account: split_stems separates vocals from the instrumental, split_lead_backing separates the lead vocal from backing vocals, remove_noise takes background noise out of a voice recording, and remove_reverb removes room echo. With a connected account, the API quotes and runs RVC training jobs, imports existing .pth or ZIP voice models, and converts a vocal with a private model, returning both a normal RVC output and a NiceVois cleaned version. Uploads use one-time PUT URLs, and jobs are polled until outputs are ready.

## For AI agents

Split songs into vocal and instrumental stems, remove noise or reverb from voice recordings for free, and, with an account, quote and run private RVC voice training or convert a vocal with a private model.

## Scope

Does not generate speech from text, transcribe audio, or master and mix full tracks. Use for stem separation, voice cleanup, and private RVC voice training and conversion only.

## Capabilities

- Split a song into vocals and instrumental, or lead vocal and backing vocals, with the free split_stems and split_lead_backing tools
- Remove background noise or reverb from a voice recording with the free remove_noise and remove_reverb tools
- Download each output stem, such as vocal, instrumental, backing_vocals, or clean, through a short-lived link
- Quote an RVC training job from durationSeconds and epochs before spending credit
- Create and start a private RVC v2 voice training job and track its epoch progress
- Import an existing RVC model as a .pth file or ZIP and list the private voices on the account
- Convert a vocal with a private voice model and authorize download of the normal or cleaned result

## Use cases

### Free stem splitting by an agent through Jentic

A music assistant agent asked for an instrumental searches Jentic for 'split a song into vocals and instrumental', receives the createFreeAudioJob schema, and posts tool split_stems with the fileName and sizeBytes. It uploads the file to the returned one-time PUT URL, polls the job no more than every 10 seconds, and downloads the instrumental stem when the status is completed. No NiceVois account is needed for this flow.

Example prompt: Call POST `/api/agent/v1/audio-jobs` with tool='split_stems', fileName='song.mp3', sizeBytes=5242880, PUT the file to the returned upload URL, poll GET `/api/agent/v1/audio-jobs/{jobId}` until completed, then fetch the instrumental stem

### Cleaning up voice recordings

Podcasters and video creators often record in noisy or echoey rooms. The remove_noise and remove_reverb tools take a WAV, MP3, FLAC, M4A, or OGG voice recording and return a clean output alongside the removed component, and each tool includes its own free minutes per rolling day without an account.

Example prompt: Call POST `/api/agent/v1/audio-jobs` with tool='remove_noise' and fileName='interview.wav', upload the file, then download the clean stem when the job completes

### Training a private RVC voice

Creators who want a voice model of their own can train one without managing GPUs. The agent checks requirements with the capabilities endpoint, reads the welcome credit and balance from the account endpoint, gets an exact price from the quote endpoint, creates the job with fileName, contentType, sizeBytes, durationSeconds, epochs, modelName, and submissionId, uploads the audio, and only then starts training.

Example prompt: Call POST `/api/agent/v1/quote` with durationSeconds=1200 and epochs=200, confirm the price with the user, create the job with POST `/api/agent/v1/jobs`, upload the audio, then call POST `/api/agent/v1/jobs/{jobId}/start`

### Converting a vocal with a private model

Once a model is trained or imported, a vocal can be converted into that voice. The agent lists voices to get a modelId, creates a conversion with modelId, fileName, and durationSeconds plus an optional transpose for pitch, uploads the source vocal, and polls until both the normal RVC and NiceVois cleaned outputs are ready. Downloads are authorized one at a time and deduct conversion-download minutes.

Example prompt: Call GET `/api/agent/v1/voices`, pick the modelId for 'MyVoice', call POST `/api/agent/v1/conversions` with modelId, fileName='take3.wav', durationSeconds=95, transpose=0, upload the vocal, then poll GET `/api/agent/v1/conversions/{conversionId}`

## Key endpoints

| Method | Path | Description |
| --- | --- | --- |
| POST | `/api/agent/v1/audio-jobs` | Create a free split or cleanup job |
| GET | `/api/agent/v1/audio-jobs/{jobId}` | Check a free audio job |
| GET | `/api/agent/v1/audio-jobs/{jobId}/stems/{stem}` | Download one output stem |
| POST | `/api/agent/v1/quote` | Quote an RVC training job |
| POST | `/api/agent/v1/jobs` | Create a private RVC training upload |
| POST | `/api/agent/v1/jobs/{jobId}/start` | Start uploaded RVC training |
| POST | `/api/agent/v1/conversions` | Create an RVC vocal conversion |

## Key resources

- **Free audio jobs** — Split stems, separate lead and backing vocals, remove noise or reverb, poll status, and download outputs without an account
- **Training jobs** — Quote, create, upload, start, and track private RVC v2 voice training
- **Voices and model imports** — List private voice models and import an existing .pth or ZIP model
- **Conversions** — Convert a vocal with a private model and authorize downloads of the outputs
- **Account** — Welcome-credit status, balance, and available packs for the connected account

## AI readiness

This API is usable in Jentic One now. Its AI-readiness score against Jentic's framework shows where it stands today and where improvements would make it even easier for agents to use.

- **Score:** 62 / 100
- **Maturity:** AI-Aware
- **Dimensions:**
  - Foundational Compliance: 76 / 100
  - Developer Experience & Jentic Compatibility: 61 / 100
  - AI-Readiness & Agent Experience: 42 / 100
  - Agent Usability: 94 / 100
  - Security: 60 / 100
  - AI Discoverability: 75 / 100
- **View full report:** https://jentic.com/apis/nicevois.com/nicevois/scorecard
- **How the score is calculated:** https://docs.jentic.com/reference/api-readiness-framework/overview/
- **More about the dimensions:** https://docs.jentic.com/reference/api-readiness-framework/specification/#dimensional-model-overview

### Score it yourself

Every API in the directory is allowlisted, so you can re-score it with no key required.

- **Score your own API:** https://jentic.com/scorecard.md
- **Scoring CLI agent skill:** https://github.com/jentic/jentic-api-scorecard/blob/main/skills/jentic-api-scorecard/SKILL.md

```sh
npx @jentic/api-scorecard-cli score <openapi-url>
```

## Why Jentic

- **Setup:** Wiring NiceVois by hand means handling an OAuth-connected bearer token for account calls, the one-time PUT upload step, and the polling rules for each job type. Through Jentic you install once, import NiceVois from the API Directory, connect your NiceVois token once, and your agent calls it.
- **Permission scoping:** NiceVois separates pricing, upload, and compute into distinct operations, so a rule can limit your agent to the ones it needs, such as free audio jobs and quotes. You choose the operations it may call, so ones that spend credit, like starting training or authorizing conversion downloads, are not included unless you add them.
- **Credential handling:** Your NiceVois access token is stored once, encrypted, by your own Jentic One instance and injected at execution time. It never enters the agent's prompt, logs, or context.
- **Discovery method:** Agents search Jentic by intent such as 'split a song into stems' or 'train a voice model', and Jentic returns the matching NiceVois operation with its input schema so the agent calls the right endpoint without browsing the reference docs.

## Related APIs

- **Auphonic API** — Audio post-production with leveling, noise reduction, and encoding
- **ElevenLabs API** — Text-to-speech, voice cloning, and voice changing
- **Deepgram API** — Speech-to-text transcription for cleaned voice tracks

## FAQ

### What authentication does the NiceVois Agent API use?

Per its OpenAPI spec, account operations such as training, voices, model imports, and conversions use a bearer token in the Authorization header, an OAuth-connected NiceVois access token. The free audio tools, the capabilities endpoints, and the conversion requirements endpoint are open and need no token. Through Jentic, the token is stored encrypted by your own Jentic One instance and injected at call time.

### Can I split a song into stems for free with the NiceVois Agent API?

Yes. POST `/api/agent/v1/audio-jobs` with tool split_stems or split_lead_backing needs no account. The spec says each free tool includes its own 10 free minutes per rolling 24 hours, and outputs are downloaded per stem from GET `/api/agent/v1/audio-jobs/{jobId}/stems/{stem}.`

### What are the rate limits for the NiceVois Agent API?

The OpenAPI spec gives polling guidance rather than a request ceiling: poll free audio jobs and conversions no more than every 10 seconds and training jobs no more than once every 15 seconds. Free tools are limited by minutes of audio per rolling 24 hours. Check https://nicevois.com for current account limits.

### How do I remove noise from a recording with the NiceVois Agent API through Jentic?

Install Jentic One with `curl -fsSL https://raw.githubusercontent.com/jentic/jentic-one/main/tools/install.sh | sh` and add NiceVois from the Jentic API Directory. Your agent searches for 'remove background noise from audio', calls POST `/api/agent/v1/audio-jobs` with tool remove_noise, uploads the file to the returned URL, and downloads the clean stem when the job completes. To run it on your own infrastructure, install Jentic One from its GitHub repo.

### Can I limit what my agent is allowed to do with the NiceVois Agent API?

Yes. A rule that allows POST `/api/agent/v1/quote`, GET `/api/agent/v1/account`, and POST `/api/agent/v1/jobs` lets the agent price and prepare a training job, while leaving out POST `/api/agent/v1/jobs/{jobId}/start` means it cannot start cloud compute on its own. Leave out the conversion downloads operation too if download minutes should only be spent with your approval.

### Is there a NiceVois MCP server?

Yes, NiceVois describes its agent API as both REST and MCP. You can also connect it directly through Jentic: your agent gets the full 17-endpoint surface from the spec without loading another server's tool definitions into its context, your token is injected at call time by your self-hosted instance instead of living in an MCP config, and your rules decide which operations the agent may call.

### Can I use an RVC model I already have with the NiceVois Agent API?

Yes. POST `/api/agent/v1/model-imports` takes a fileName and sizeBytes and returns a one-time PUT upload instruction for a .pth file or complete model ZIP. After uploading, call GET `/api/agent/v1/voices` to get its model ID for conversions.
