> 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.

# Doeltaal voor nasynchronisatie ophalen

GET https://api.elevenlabs.io/v1/dubbing/project/{project_id}/language/{language_id}

Volledige details over het taaldoel. Zodra het doel `completed` rapporteert, bevat `outputs` de ondertekende download-URL's. Om te weten wanneer dit gebeurt, raden we het `webhook_ids`-abonnement van het project aan in plaats van deze endpoint te pollen; haal hier gegevens op wanneer een geleverde URL is verlopen of om na een bewerking te synchroniseren.

Reference: https://elevenlabs.io/docs/api-reference/dubbing/language-targets/get-language-target

## 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

- `project_id` (string, required) — ID van het bovenliggende nasynchronisatieproject.
- `language_id` (string, required) — ID van het op te halen taaldoel.

## Response

### 200

Geslaagde response

- `language_id` (string, required) — Unieke identificatiecode van het taaldoel.
- `project_id` (string, required) — ID van het bovenliggende nasynchronisatieproject.
- `target_language` (string, required) — BCP-47-taaltag waarnaar dit doel wordt nagesynchroniseerd.
- `status` (enum, required) — Levenscyclusstatus: `queued` (wacht tot het project klaar is of op een worker), `processing` tijdens de nasynchronisatie, `completed` zodra de uitvoer beschikbaar is, `stale` wanneer het transcript is gewijzigd nadat de uitvoer is geproduceerd, of `failed`.
  - Allowed values: `queued`, `processing`, `completed`, `stale`, `failed`
- `revision` (integer, required) — Monotone teller die wordt verhoogd wanneer het transcript van dit doel verandert (door een bronbewerking die het beïnvloedt of een bewerking van de vertaling).
- `created_at` (string, required) — Wanneer het taaldoel is gemaakt.
- `updated_at` (string, required) — Wanneer het taaldoel voor het laatst is bijgewerkt.
- `model_id` (string, optional, nullable) — Nasynchronisatiemodel waarmee dit doel van nasynchronisatie wordt voorzien, overgenomen van het project en niet per taal selecteerbaar.
- `voice_settings` (VoiceSettings, optional, nullable) — Steminstellingen die op elke spreker in deze taal worden toegepast, of null als de standaardinstellingen gelden.
- `outputs` (DubbingLanguageOutputs, optional, nullable) — Ondertekende output-URL's; null totdat het doel output heeft geproduceerd (aanwezig zodra `completed`, en behouden zolang `stale` — vergelijk `output_revision` met `revision` om te bepalen of de output actueel is).
- `output_revision` (integer, optional, nullable) — De `revision` waaruit de huidige nagesynchroniseerde uitvoer is gegenereerd; gelijk aan `revision` wanneer deze actueel is en lager wanneer deze `stale` is. Dit is null totdat een generatie is voltooid.
- `error` (DubbingError, optional, nullable) — Waarom deze taal is mislukt; null tenzij `status` `failed` is, en ook null voor de enkele talen die mislukten voordat foutrapportage werd ingevoerd. Een code van `project_failed` betekent dat het bovenliggende project is mislukt; raadpleeg dus het project voor de onderliggende oorzaak.
- `warnings` (list of VoicesNotPermittedWarning, optional) — Niet-fatale omstandigheden die zijn opgetreden tijdens het nasynchroniseren van deze taal, of leeg als er geen zijn. Weerspiegelt de nieuwste generatie. Omstandigheden die zijn opgetreden tijdens het voorbereiden van de bron worden in plaats daarvan bij het project gerapporteerd.

## Errors

### 422 Unprocessable Entity Error

Validatiefout

- `detail` (list of ValidationError, optional)

## Types

### VoiceSettings

- `cloning_strength` (integer, optional, default: 7) — Hoe sterk de nagesynchroniseerde sprekers de bronstemmen klonen, van 0 tot 10.

### DubbingLanguageOutputs

Ondertekende download-URL's met beperkte geldigheidsduur voor de output van een taaldoel.

- `lossless_audio` (string, optional, nullable) — Ondertekende URL voor de nagesynchroniseerde lossless audiotrack in FLAC. De link verloopt een uur nadat deze is uitgegeven; lees het taaldoel opnieuw uit voor een nieuwe link.
- `subtitles` (string, optional, nullable) — Ondertekende URL voor de vertaalde regels als WebVTT-ondertiteling, getimed op de bronspraak. Null als er geen beschikbaar zijn, zoals voor talen die zijn nagesynchroniseerd voordat ondertiteling werd geproduceerd. De link verloopt een uur nadat deze is uitgegeven.

### DubbingError

- `message_type` ("error", required)
- `error` (string, required)

### VoicesNotPermittedWarning

- `type` ("voices_not_permitted", required) — Identificeert deze waarschuwing; gebruik dit om te vertakken en de andere velden te lezen.
- `speaker_ids` (list of string, required) — Speakers waarvan de stemmen niet mochten worden gekloond. De dub gebruikte voor elk van hen een vervangende stem; alle andere speakers blijven ongewijzigd.
- `message` (string, required) — Voor mensen leesbare beschrijving van de waarschuwing, voor weergave. De formulering kan op elk moment veranderen, dus we raden aan in plaats daarvan te vertakken op `type`.

### ValidationError

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

### ValidationErrorLocItems

## Examples

**Response**

```json
{
  "language_id": "lang_1001kwkyxp0je6ktn4knsfrasx5s",
  "project_id": "proj_1601kwkyxp0hfzvtmyxwqxx6mcy3",
  "target_language": "es",
  "status": "completed",
  "revision": 3,
  "created_at": "2026-07-03T10:16:00Z",
  "updated_at": "2026-07-03T10:20:45Z",
  "model_id": "dubbing_v2",
  "outputs": {
    "lossless_audio": "https://storage.googleapis.com/eleven-dubbing/proj_1601kwkyxp0hfzvtmyxwqxx6mcy3/lang_1001kwkyxp0je6ktn4knsfrasx5s/output.flac?X-Goog-Signature=...",
    "subtitles": "https://storage.googleapis.com/eleven-dubbing/proj_1601kwkyxp0hfzvtmyxwqxx6mcy3/lang_1001kwkyxp0je6ktn4knsfrasx5s/subtitles.vtt?X-Goog-Signature=..."
  },
  "output_revision": 3,
  "warnings": []
}
```

**SDK Code**

```python
import requests

url = "https://api.elevenlabs.io/v1/dubbing/project/proj_1601kwkyxp0hfzvtmyxwqxx6mcy3/language/lang_1001kwkyxp0je6ktn4knsfrasx5s"

response = requests.get(url)

print(response.json())
```

```javascript
const url = 'https://api.elevenlabs.io/v1/dubbing/project/proj_1601kwkyxp0hfzvtmyxwqxx6mcy3/language/lang_1001kwkyxp0je6ktn4knsfrasx5s';
const options = {method: 'GET'};

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"
	"net/http"
	"io"
)

func main() {

	url := "https://api.elevenlabs.io/v1/dubbing/project/proj_1601kwkyxp0hfzvtmyxwqxx6mcy3/language/lang_1001kwkyxp0je6ktn4knsfrasx5s"

	req, _ := http.NewRequest("GET", url, nil)

	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/dubbing/project/proj_1601kwkyxp0hfzvtmyxwqxx6mcy3/language/lang_1001kwkyxp0je6ktn4knsfrasx5s")

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

request = Net::HTTP::Get.new(url)

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.get("https://api.elevenlabs.io/v1/dubbing/project/proj_1601kwkyxp0hfzvtmyxwqxx6mcy3/language/lang_1001kwkyxp0je6ktn4knsfrasx5s")
  .asString();
```

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

$client = new \GuzzleHttp\Client();

$response = $client->request('GET', 'https://api.elevenlabs.io/v1/dubbing/project/proj_1601kwkyxp0hfzvtmyxwqxx6mcy3/language/lang_1001kwkyxp0je6ktn4knsfrasx5s');

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

```csharp
using RestSharp;

var client = new RestClient("https://api.elevenlabs.io/v1/dubbing/project/proj_1601kwkyxp0hfzvtmyxwqxx6mcy3/language/lang_1001kwkyxp0je6ktn4knsfrasx5s");
var request = new RestRequest(Method.GET);
IRestResponse response = client.Execute(request);
```

```swift
import Foundation

let request = NSMutableURLRequest(url: NSURL(string: "https://api.elevenlabs.io/v1/dubbing/project/proj_1601kwkyxp0hfzvtmyxwqxx6mcy3/language/lang_1001kwkyxp0je6ktn4knsfrasx5s")! as URL,
                                        cachePolicy: .useProtocolCachePolicy,
                                    timeoutInterval: 10.0)
request.httpMethod = "GET"

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()
```