Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
87 changes: 47 additions & 40 deletions public/studio-api/audio/text_to_speech/voices.md
Original file line number Diff line number Diff line change
Expand Up @@ -24,7 +24,7 @@ Save audio samples as reusable voices. Once created, a voice can be referenced b
```python
import base64
from pathlib import Path
from mistralai import Mistral
from mistralai.client import Mistral

client = Mistral(api_key="your-api-key")

Expand Down Expand Up @@ -151,25 +151,27 @@ curl -X POST "https://api.mistral.ai/v1/audio/voices" \
<TabItem value="v1" label="V1" default>

```python
from mistralai import Mistral
from mistralai.client import Mistral

client = Mistral(api_key="your-api-key")

result = client.audio.voices.list(limit=10, offset=0)

print(f"Total voices: {result.total}")
for voice in result.items:
print(f" - {voice.name} ({voice.id}) languages={voice.languages}")

# Paginate through all voices
limit = 10
offset = 0
all_voices = []

while True:
page = client.audio.voices.list(limit=10, offset=offset)
all_voices.extend(page.items)
if offset + len(page.items) >= page.total:
page = client.audio.voices.list(limit=limit, offset=offset)
items = page.items or []
all_voices.extend(items)

if offset + len(items) >= page.total:
break
offset += len(page.items)

offset += len(items)

print(f"Total voices: {len(all_voices)}")
for voice in all_voices:
print(f" - {voice.name} ({voice.id}) languages={voice.languages}")
```

</TabItem>
Expand All @@ -180,21 +182,23 @@ from mistralai.client import Mistral

client = Mistral(api_key="your-api-key")

result = client.audio.voices.list(limit=10, offset=0)

print(f"Total voices: {result.total}")
for voice in result.items:
print(f" - {voice.name} ({voice.id}) languages={voice.languages}")

# Paginate through all voices
limit = 10
offset = 0
all_voices = []

while True:
page = client.audio.voices.list(limit=10, offset=offset)
all_voices.extend(page.items)
if offset + len(page.items) >= page.total:
page = client.audio.voices.list(limit=limit, offset=offset)
items = page.items or []
all_voices.extend(items)

if offset + len(items) >= page.total:
break
offset += len(page.items)

offset += len(items)

print(f"Total voices: {len(all_voices)}")
for voice in all_voices:
print(f" - {voice.name} ({voice.id}) languages={voice.languages}")
```

</TabItem>
Expand All @@ -206,21 +210,24 @@ while True:

const client = new Mistral({ apiKey: "your-api-key" });

const result = await client.audio.voices.list({ limit: 10, offset: 0 });

console.log(`Total voices: ${result.total}`);
for (const voice of result.items ?? []) {
console.log(` - ${voice.name} (${voice.id}) languages=${voice.languages}`);
}

// Paginate through all voices
const limit = 10;
let offset = 0;
const allVoices = [];

while (true) {
const page = await client.audio.voices.list({ limit: 10, offset });
allVoices.push(...(page.items ?? []));
if (offset + (page.items?.length ?? 0) >= page.total) break;
offset += page.items?.length ?? 0;
const page = await client.audio.voices.list({ limit, offset });
const items = page.items ?? [];

allVoices.push(...items);

if (offset + items.length >= page.total) break;

offset += items.length;
}

console.log(`Total voices: ${allVoices.length}`);
for (const voice of allVoices) {
console.log(` - ${voice.name} (${voice.id}) languages=${voice.languages}`);
}
```

Expand Down Expand Up @@ -268,7 +275,7 @@ curl "https://api.mistral.ai/v1/audio/voices?limit=10&offset=0" \
<TabItem value="v1" label="V1" default>

```python
from mistralai import Mistral
from mistralai.client import Mistral

client = Mistral(api_key="your-api-key")

Expand Down Expand Up @@ -349,7 +356,7 @@ curl "https://api.mistral.ai/v1/audio/voices/$VOICE_ID" \
<TabItem value="v1" label="V1" default>

```python
from mistralai import Mistral
from mistralai.client import Mistral

client = Mistral(api_key="your-api-key")

Expand Down Expand Up @@ -447,7 +454,7 @@ curl -X PATCH "https://api.mistral.ai/v1/audio/voices/$VOICE_ID" \
<TabItem value="v1" label="V1" default>

```python
from mistralai import Mistral
from mistralai.client import Mistral

client = Mistral(api_key="your-api-key")

Expand Down Expand Up @@ -517,7 +524,7 @@ curl -X DELETE "https://api.mistral.ai/v1/audio/voices/$VOICE_ID" \

```python
from pathlib import Path
from mistralai import Mistral
from mistralai.client import Mistral

client = Mistral(api_key="your-api-key")

Expand Down
77 changes: 33 additions & 44 deletions src/content/en/api/endpoint/chat/page.mdx
Original file line number Diff line number Diff line change
Expand Up @@ -104,28 +104,19 @@ TypeScript
```typescript
import { Mistral } from "@mistralai/mistralai";

const mistral = new Mistral({
apiKey: "MISTRAL_API_KEY",
});
const client = new Mistral({ apiKey: process.env.MISTRAL_API_KEY });

async function run() {
const result = await mistral.chat.complete({
model: "mistral-large-latest",
messages: [
{
role: "user",
content: "Who is the best French painter? Answer in one short sentence.",
},
],
responseFormat: {
type: "text",
const response = await client.chat.complete({
model: "mistral-large-latest",
messages: [
{
role: "user",
content: "Who is the best French painter? Answer in one short sentence.",
},
});

console.log(result);
}
],
});

run();
console.log(response.choices[0].message.content);

```

Expand All @@ -151,26 +142,22 @@ Python
<CodeSample>

```python
from mistralai.client import Mistral
import os
from mistralai.client import Mistral

client = Mistral(api_key=os.environ["MISTRAL_API_KEY"])

with Mistral(
api_key=os.getenv("MISTRAL_API_KEY", ""),
) as mistral:

res = mistral.chat.complete(model="mistral-large-latest", messages=[
response = client.chat.complete(
model="mistral-large-latest",
messages=[
{
"role": "user",
"content": "Who is the best French painter? Answer in one short sentence.",
},
], stream=False, response_format={
"type": "text",
})

# Handle response
print(res)
}
],
)

print(response.choices[0].message.content)

```

Expand All @@ -197,17 +184,18 @@ cURL

```curl
curl https://api.mistral.ai/v1/chat/completions \
-X POST \
-H 'Authorization: Bearer YOUR_APIKEY_HERE' \
-H 'Content-Type: application/json' \
-d '{
"messages": [
{
"content": "Example content."
}
],
"model": "mistral-large-latest"
}'
-H "Content-Type: application/json" \
-H "Authorization: Bearer $MISTRAL_API_KEY" \
-d '{
"model": "mistral-large-latest",
"messages": [
{
"role": "user",
"content": "Who is the best French painter? Answer in one short sentence."
}
]
}'

```

</CodeSample>
Expand All @@ -234,7 +222,8 @@ curl https://api.mistral.ai/v1/chat/completions \
{
"messages": [
{
"content": "Example content."
"role": "user",
"content": "Who is the best French painter? Answer in one short sentence."
}
],
"model": "mistral-large-latest"
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -12,21 +12,23 @@ from mistralai.client import Mistral

client = Mistral(api_key="your-api-key")

result = client.audio.voices.list(limit=10, offset=0)

print(f"Total voices: {result.total}")
for voice in result.items:
print(f" - {voice.name} ({voice.id}) languages={voice.languages}")

# Paginate through all voices
limit = 10
offset = 0
all_voices = []

while True:
page = client.audio.voices.list(limit=10, offset=offset)
all_voices.extend(page.items)
if offset + len(page.items) >= page.total:
page = client.audio.voices.list(limit=limit, offset=offset)
items = page.items or []
all_voices.extend(items)

if offset + len(items) >= page.total:
break
offset += len(page.items)

offset += len(items)

print(f"Total voices: {len(all_voices)}")
for voice in all_voices:
print(f" - {voice.name} ({voice.id}) languages={voice.languages}")
```

</TabItem>
Expand All @@ -37,21 +39,23 @@ from mistralai.client import Mistral

client = Mistral(api_key="your-api-key")

result = client.audio.voices.list(limit=10, offset=0)

print(f"Total voices: {result.total}")
for voice in result.items:
print(f" - {voice.name} ({voice.id}) languages={voice.languages}")

# Paginate through all voices
limit = 10
offset = 0
all_voices = []

while True:
page = client.audio.voices.list(limit=10, offset=offset)
all_voices.extend(page.items)
if offset + len(page.items) >= page.total:
page = client.audio.voices.list(limit=limit, offset=offset)
items = page.items or []
all_voices.extend(items)

if offset + len(items) >= page.total:
break
offset += len(page.items)

offset += len(items)

print(f"Total voices: {len(all_voices)}")
for voice in all_voices:
print(f" - {voice.name} ({voice.id}) languages={voice.languages}")
```

</TabItem>
Expand All @@ -64,21 +68,24 @@ import { Mistral } from "@mistralai/mistralai";

const client = new Mistral({ apiKey: "your-api-key" });

const result = await client.audio.voices.list({ limit: 10, offset: 0 });

console.log(`Total voices: ${result.total}`);
for (const voice of result.items ?? []) {
console.log(` - ${voice.name} (${voice.id}) languages=${voice.languages}`);
}

// Paginate through all voices
const limit = 10;
let offset = 0;
const allVoices = [];

while (true) {
const page = await client.audio.voices.list({ limit: 10, offset });
allVoices.push(...(page.items ?? []));
if (offset + (page.items?.length ?? 0) >= page.total) break;
offset += page.items?.length ?? 0;
const page = await client.audio.voices.list({ limit, offset });
const items = page.items ?? [];

allVoices.push(...items);

if (offset + items.length >= page.total) break;

offset += items.length;
}

console.log(`Total voices: ${allVoices.length}`);
for (const voice of allVoices) {
console.log(` - ${voice.name} (${voice.id}) languages=${voice.languages}`);
}
```

Expand Down
4 changes: 2 additions & 2 deletions src/content/en/docs/studio-api/batch-processing/page.mdx
Original file line number Diff line number Diff line change
Expand Up @@ -512,8 +512,8 @@ const listJob = await client.batch.jobs.list({
<TabItem value="curl" label="curl">

```bash
curl 'https://api.mistral.ai/v1/batch/jobs?status=RUNNING&job_type=testing'\
--header 'x-api-key: $MISTRAL_API_KEY'
curl 'https://api.mistral.ai/v1/batch/jobs?status=RUNNING' \
--header "Authorization: Bearer $MISTRAL_API_KEY"
```

</TabItem>
Expand Down
Loading