> ## Documentation Index
> Fetch the complete documentation index at: https://docs.tazolabs.com/llms.txt
> Use this file to discover all available pages before exploring further.

# Clients

> Public client configuration and connection ownership.

Public client configuration and connection ownership.

### Tazo

```python theme={null}
class tazo.client.Tazo(*, api_key=None, base_url='https://api.tazolabs.com', timeout=Timeout(connect=5, read=65, write=30, pool=5), max_retries=2, operation_timeout=180, http_client=None)
```

Synchronous client for the four public Tazo operations.

* Parameters:

  * **api\_key** (*str*  \*|\**None*) – Bearer credential, or read TAZO\_API\_KEY. May be omitted for health.

  * **base\_url** (*str*) – API origin, optionally with a proxy path prefix; no /v1 suffix.

  * **timeout** (*float*  \*|\**httpx.Timeout*) – Per-network-phase timeout in seconds, or an httpx.Timeout.

  * **max\_retries** (*int*) – Additional HTTP attempts after the first (default two).

  * **operation\_timeout** (*float*) – HTTP retry budget in seconds (default 180). Each network phase is capped by the remaining budget. A synchronous in-flight request can outlast this budget across multiple network phases/body chunks.

  * **http\_client** (*httpx.Client*  \*|\**None*) – Optional caller-owned HTTPX client; the SDK will not close it.

Use as a context manager, or call close. Streaming sockets have their own context managers and must be closed before closing this client.

#### close()

```python theme={null}
close()
```

Release the SDK-owned HTTP pool. Safe to call more than once.

* Return type:

  None

### AsyncTazo

```python theme={null}
class tazo.client.AsyncTazo(*, api_key=None, base_url='https://api.tazolabs.com', timeout=Timeout(connect=5, read=65, write=30, pool=5), max_retries=2, operation_timeout=180, http_client=None)
```

Native async client with the same configuration as Tazo.

Await create, list, and check. Use async with for streaming sessions. operation\_timeout also enforces an async deadline during each HTTP attempt. Supplied HTTPX clients remain caller-owned.

* Parameters:

  * **api\_key** (*str*  \*|\**None*)

  * **base\_url** (*str*)

  * **timeout** (*float*  \*|\**httpx.Timeout*)

  * **max\_retries** (*int*)

  * **operation\_timeout** (*float*)

  * **http\_client** (*httpx.AsyncClient*  \*|\**None*)

#### close()

```python theme={null}
async close()
```

Release the SDK-owned HTTP pool.

* Return type:

  None

## WAV helper

### wav\_chunks()

```python theme={null}
tazo.wav_chunks(path, *, chunk_ms=100)
```

Yield raw mono 16 kHz PCM16 from a WAV, without headers or real-time pacing.

* Parameters:

  * **path** (*str*  *|**PathLike**\[**str**]*) – PCM16 WAV recording. Compressed WAV and other formats are rejected.

  * **chunk\_ms** (*int*) – Chunk size from 1 to 200 milliseconds.

* Yields:

  Binary audio frames suitable for `session.send_audio`.

* Return type:

  *Iterator*\[bytes]


This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.