> This is a page from the ElevenLabs documentation. For a complete page index, fetch https://elevenlabs.io/docs/llms.txt. For the full documentation in a single file, fetch https://elevenlabs.io/docs/llms-full.txt.

# Remixa en röst.

POST https://api.elevenlabs.io/v1/text-to-voice/{voice_id}/remix
Content-Type: application/json

Remixa en befintlig röst via en prompt. Den här metoden returnerar en lista med röstförhandsvisningar. Varje förhandsvisning har ett generated_voice_id och ett röstprov som base64-kodad mp3-ljudfil. Skapa en röst genom att använda generated_voice_id från den önskade förhandsvisningen med slutpunkten /v1/text-to-voice.

Reference: https://elevenlabs.io/docs/api-reference/text-to-voice/remix

## Servers

- `https://api.elevenlabs.io` (Production, default)
- `https://api.us.elevenlabs.io` (Production US)
- `https://api.eu.residency.elevenlabs.io` (Production EU)
- `https://api.in.residency.elevenlabs.io` (Production India)
- `https://api.sg.residency.elevenlabs.io` (Production Singapore)

## Request

### Path parameters

- `voice_id` (string, required) — Röst-ID som ska användas. Du kan använda https://api.elevenlabs.io/v1/voices för att lista alla tillgängliga röster.

### Query parameters

- `output_format` (enum, optional) — Output format of the generated audio. Formatted as codec_sample_rate_bitrate. So an mp3 with 22.05kHz sample rate at 32kbs is represented as mp3_22050_32. MP3 with 192kbps bitrate requires you to be subscribed to Creator tier or above. PCM with 44.1kHz sample rate requires you to be subscribed to Pro tier or above. Note that the μ-law format (sometimes written mu-law, often approximated as u-law) is commonly used for Twilio audio inputs.
  - Allowed values: `mp3_22050_32`, `mp3_24000_48`, `mp3_44100_32`, `mp3_44100_64`, `mp3_44100_96`, `mp3_44100_128`, `mp3_44100_192`, `pcm_8000`, `pcm_16000`, `pcm_22050`, `pcm_24000`, `pcm_32000`, `pcm_44100`, `pcm_48000`, `ulaw_8000`, `alaw_8000`, `opus_48000_32`, `opus_48000_64`, `opus_48000_96`, `opus_48000_128`, `opus_48000_192`

### Body (application/json)

This endpoint expects a VoiceRemixRequestModel.

- `voice_description` (string, required) — Beskrivning av ändringarna som ska göras i rösten.
- `text` (string, optional, nullable) — Text att generera, textlängden måste vara mellan 100 och 1 000.
- `auto_generate_text` (boolean, optional, default: false) — Om en text som passar röstbeskrivningen ska genereras automatiskt.
- `loudness` (double, optional, default: 0.5) — Styr volymnivån för den genererade rösten. -1 är tystast, 1 är högst och 0 motsvarar ungefär -24 LUFS.
- `seed` (integer, optional, nullable) — Slumptal som styr röstgenereringen. Samma seed med samma indata ger samma röst.
- `guidance_scale` (double, optional, default: 2) — Styr hur nära AI:n följer prompten. Lägre värden ger AI:n större kreativ frihet, medan högre värden får den att följa prompten mer strikt. Höga värden kan få rösten att låta konstgjord eller robotlik. Vi rekommenderar längre och mer detaljerade prompter vid lägre Guidance Scale.
- `stream_previews` (boolean, optional, default: false) — Avgör om Text to Voice-förhandsvisningarna ska inkluderas i svaret. Om värdet är true returneras endast de genererade ID:na, som sedan kan streamas via slutpunkten /v1/text-to-voice/:generated_voice_id/stream.
- `remixing_session_id` (string, optional, nullable) — Remixningssessionens id.
- `remixing_session_iteration_id` (string, optional, nullable) — ID:t för iterationen i remixningssessionen som dessa genereringar ska kopplas till. Om det inte anges skapas en ny iteration.
- `prompt_strength` (double, optional, nullable) — Styr balansen mellan prompt och referensljud när röstprover genereras. 0 innebär nästan ingen påverkan från prompten, 1 innebär nästan ingen påverkan från referensljudet. Stöds endast med modellen eleven_ttv_v3.

## Response

### 200

Lyckat svar

- `previews` (list of VoicePreviewResponseModel, required) — Förhandsvisningarna av de genererade rösterna.
- `text` (string, required) — Texten som används för att förhandsgranska rösterna.

## Errors

### 409 Conflict Error

En generering för den här förhandsvisningen pågår redan. Försök igen med begäran.

- `any`

### 422 Unprocessable Entity Error

Valideringsfel

- `detail` (list of ValidationError, optional)

## Types

### VoicePreviewResponseModel

- `audio_base_64` (string, required) — Det base64-kodade ljudet i förhandsvisningen.
- `generated_voice_id` (string, required) — ID:t för den genererade rösten. Använd det för att skapa en röst från förhandsvisningen.
- `media_type` (string, required) — Förhandsvisningens medietyp.
- `duration_secs` (double, required) — Förhandsvisningens längd i sekunder.
- `language` (string, required, nullable) — Språket i förhandsvisningen.

### ValidationError

- `loc` (list of ValidationErrorLocItems, required)
- `msg` (string, required)
- `type` (string, required)

### ValidationErrorLocItems

## Examples

**Request**

```json
{
  "voice_description": "Make the voice have a higher pitch."
}
```

**Response**

```json
{
  "previews": [
    {
      "audio_base_64": "string",
      "generated_voice_id": "string",
      "media_type": "string",
      "duration_secs": 1.1,
      "language": "string"
    }
  ],
  "text": "string"
}
```

**SDK Code**

```python
import requests

url = "https://api.elevenlabs.io/v1/text-to-voice/21m00Tcm4TlvDq8ikWAM/remix"

payload = { "voice_description": "Make the voice have a higher pitch." }
headers = {"Content-Type": "application/json"}

response = requests.post(url, json=payload, headers=headers)

print(response.json())
```

```javascript
const url = 'https://api.elevenlabs.io/v1/text-to-voice/21m00Tcm4TlvDq8ikWAM/remix';
const options = {
  method: 'POST',
  headers: {'Content-Type': 'application/json'},
  body: '{"voice_description":"Make the voice have a higher pitch."}'
};

try {
  const response = await fetch(url, options);
  const data = await response.json();
  console.log(data);
} catch (error) {
  console.error(error);
}
```

```go
package main

import (
	"fmt"
	"strings"
	"net/http"
	"io"
)

func main() {

	url := "https://api.elevenlabs.io/v1/text-to-voice/21m00Tcm4TlvDq8ikWAM/remix"

	payload := strings.NewReader("{\n  \"voice_description\": \"Make the voice have a higher pitch.\"\n}")

	req, _ := http.NewRequest("POST", url, payload)

	req.Header.Add("Content-Type", "application/json")

	res, _ := http.DefaultClient.Do(req)

	defer res.Body.Close()
	body, _ := io.ReadAll(res.Body)

	fmt.Println(res)
	fmt.Println(string(body))

}
```

```ruby
require 'uri'
require 'net/http'

url = URI("https://api.elevenlabs.io/v1/text-to-voice/21m00Tcm4TlvDq8ikWAM/remix")

http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true

request = Net::HTTP::Post.new(url)
request["Content-Type"] = 'application/json'
request.body = "{\n  \"voice_description\": \"Make the voice have a higher pitch.\"\n}"

response = http.request(request)
puts response.read_body
```

```java
import com.mashape.unirest.http.HttpResponse;
import com.mashape.unirest.http.Unirest;

HttpResponse<String> response = Unirest.post("https://api.elevenlabs.io/v1/text-to-voice/21m00Tcm4TlvDq8ikWAM/remix")
  .header("Content-Type", "application/json")
  .body("{\n  \"voice_description\": \"Make the voice have a higher pitch.\"\n}")
  .asString();
```

```php
<?php
require_once('vendor/autoload.php');

$client = new \GuzzleHttp\Client();

$response = $client->request('POST', 'https://api.elevenlabs.io/v1/text-to-voice/21m00Tcm4TlvDq8ikWAM/remix', [
  'body' => '{
  "voice_description": "Make the voice have a higher pitch."
}',
  'headers' => [
    'Content-Type' => 'application/json',
  ],
]);

echo $response->getBody();
```

```csharp
using RestSharp;

var client = new RestClient("https://api.elevenlabs.io/v1/text-to-voice/21m00Tcm4TlvDq8ikWAM/remix");
var request = new RestRequest(Method.POST);
request.AddHeader("Content-Type", "application/json");
request.AddParameter("application/json", "{\n  \"voice_description\": \"Make the voice have a higher pitch.\"\n}", ParameterType.RequestBody);
IRestResponse response = client.Execute(request);
```

```swift
import Foundation

let headers = ["Content-Type": "application/json"]
let parameters = ["voice_description": "Make the voice have a higher pitch."] as [String : Any]

let postData = JSONSerialization.data(withJSONObject: parameters, options: [])

let request = NSMutableURLRequest(url: NSURL(string: "https://api.elevenlabs.io/v1/text-to-voice/21m00Tcm4TlvDq8ikWAM/remix")! as URL,
                                        cachePolicy: .useProtocolCachePolicy,
                                    timeoutInterval: 10.0)
request.httpMethod = "POST"
request.allHTTPHeaderFields = headers
request.httpBody = postData as Data

let session = URLSession.shared
let dataTask = session.dataTask(with: request as URLRequest, completionHandler: { (data, response, error) -> Void in
  if (error != nil) {
    print(error as Any)
  } else {
    let httpResponse = response as? HTTPURLResponse
    print(httpResponse)
  }
})

dataTask.resume()
```