# Speech capabilities

`GET https://api.vidmoat.com/v1/speech/capabilities`

- Scope: `speech.read`
- Cost: Free

Check actual service readiness, enabled languages, plan eligibility, credit prices, recording limits and the current consent version before submitting work.

## Response

Returns `200`.

### Response fields

- `available` (boolean): True when the verified deployment and capacity budget accept work. A shared GPU may need to wake before inference.
- `languages` (array): Enabled end-to-end languages. Initial pilot: English.
- `pricing` (object): Configured enrollment credits and perThousandCharacters credits; null when not configured. No fixed public price.
- `limits` (object): 8,000 characters; 25 MB, 10 to 120 second recording; two pending jobs; six submissions/minute and 50/day across all keys.
- `credits` (integer): Personal credit balance; an available organisation pool can also fund a job.
- `consent` (object): version and text to show the recording owner.

## Errors

Besides the errors any request can get ([authentication](https://developer.vidmoat.com/developer/docs/authentication#when-a-request-is-refused), [rate limits](https://developer.vidmoat.com/developer/docs/rate-limits)):

| Status | Code | When |
| --- | --- | --- |
| 409 | [`conflict`](https://developer.vidmoat.com/developer/docs/errors#conflict) | The idempotency key belongs to different inputs, or the job is not in the required state. |
| 503 | [`unavailable`](https://developer.vidmoat.com/developer/docs/errors#unavailable) | Inference, private storage, configured pilot billing or the limiter is unavailable. Nothing new is charged before admission. |

## Request examples

```bash curl
curl --fail-with-body "https://api.vidmoat.com/v1/speech/capabilities" -H "Authorization: Bearer $VIDMOAT_KEY"
```

```js Node
const res = await fetch('https://api.vidmoat.com/v1/speech/capabilities', {
  headers: {
    Authorization: `Bearer ${process.env.VIDMOAT_KEY}`,
  },
});
const data = await res.json();
if (!res.ok) throw new Error(data.error?.message ?? `HTTP ${res.status}`);
console.log(data);
```

```python Python
import os
import requests

res = requests.get(
    "https://api.vidmoat.com/v1/speech/capabilities",
    headers={"Authorization": f"Bearer {os.environ['VIDMOAT_KEY']}"},
    timeout=60,
)
res.raise_for_status()
print(res.json())
```

---

Source: https://developer.vidmoat.com/developer/docs/api/speech/capabilities
Previous: [API reference](https://developer.vidmoat.com/developer/docs/api.md)
Next: [Discover voices](https://developer.vidmoat.com/developer/docs/api/speech/list-voices.md)
All documentation: https://developer.vidmoat.com/llms-full.txt
