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

# Generierte Elemente abrufen

GET https://api.elevenlabs.io/v1/history

Gibt eine Liste Ihrer generierten Audiodateien zurück, z. B. Text to Speech, Speech to Speech, Studio und Synchronisierung. Musik- und SFX-Generierungen sind nicht enthalten und können derzeit nicht über die API abgerufen werden.

Reference: https://elevenlabs.io/docs/api-reference/history/list

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

### Query parameters

- `page_size` (integer, optional, default: 100) — Maximale Anzahl zurückzugebender Verlaufsobjekte. Darf 1000 nicht überschreiten, Standardwert ist 100.
- `start_after_history_item_id` (string, optional, nullable) — ID, nach der der Abruf beginnen soll. Verwenden Sie diesen Parameter zur Paginierung einer großen Sammlung von Verlaufseinträgen. Wenn dieser Parameter nicht angegeben ist, werden Verlaufseinträge ab dem zuletzt erstellten Eintrag in absteigender Reihenfolge nach Erstellungsdatum abgerufen.
- `voice_id` (string, optional, nullable) — ID der Stimme, nach der gefiltert werden soll. Mit dem Endpunkt [Get voices](/docs/api-reference/voices/search) können Sie alle verfügbaren Stimmen auflisten.
- `model_id` (string, optional, nullable) — Suchbegriff zum Filtern von Verlaufseinträgen. Wenn angegeben, wird source erforderlich.
- `date_before_unix` (integer, optional, nullable) — Unix-Zeitstempel zum Filtern von Verlaufselementen vor diesem Datum ausschließlich.
- `date_after_unix` (integer, optional, nullable) — Unix-Zeitstempel zum Filtern von Verlaufselementen nach diesem Datum einschließlich.
- `sort_direction` (enum, optional, nullable, default: desc) — Sortierrichtung für die Ergebnisse.
  - Allowed values: `asc`, `desc`
- `search` (string, optional, nullable) — Suchbegriff zum Filtern
- `source` (enum, optional, nullable) — Quelle des generierten Verlaufseintrags
  - Allowed values: `TTS`, `STS`, `Flows`

## Response

### 200

Erfolgreiche Antwort

- `history` (list of SpeechHistoryItemResponseModel, required) — Eine Liste von Sprachverlaufseinträgen.
- `has_more` (boolean, required) — Ob weitere Verlaufseinträge abgerufen werden können.
- `last_history_item_id` (string, optional, nullable) — Die ID des letzten Verlaufselements.
- `scanned_until` (integer, optional, nullable) — Der Zeitstempel des letzten Verlaufselements.

## Errors

### 422 Unprocessable Entity Error

Validierungsfehler

- `detail` (list of ValidationError, optional)

## Types

### SpeechHistoryItemResponseModel

- `history_item_id` (string, required) — Die ID des Verlaufselements.
- `date_unix` (integer, required) — Unix-Zeitstempel der Erstellung des Elements.
- `character_count_change_from` (integer, required) — Die Änderung der Zeichenzahl von.
- `character_count_change_to` (integer, required) — Die Änderung der Zeichenzahl auf.
- `content_type` (string, required) — Der Inhaltstyp des generierten Elements.
- `state` (any, required)
- `request_id` (string, optional, nullable) — Die ID der Anfrage.
- `voice_id` (string, optional, nullable) — Die ID der verwendeten Stimme.
- `model_id` (string, optional, nullable) — Die ID des Modells.
- `voice_name` (string, optional, nullable) — Der Name der Stimme.
- `voice_category` (enum, optional, nullable) — Die Kategorie der Stimme. Entweder „premade“, „cloned“, „generated“ oder „professional“.
  - Allowed values: `premade`, `cloned`, `generated`, `professional`
- `text` (string, optional, nullable) — Der zur Generierung des Audioelements verwendete Text.
- `settings` (map from string to any, optional, nullable) — Die Einstellungen des Verlaufseintrags.
- `share_link_id` (string, optional, nullable) — Die ID des Freigabelinks.
- `source` (enum, optional, nullable) — Die Quelle des Verlaufseintrags. Entweder TTS (Text to Speech), STS (Speech to Text), AN (Audio Native), Projects, Dubbing, PlayAPI, PD (Aussprachewörterbuch) oder ConvAI (Agents Platform).
  - Allowed values: `TTS`, `STS`, `Projects`, `PD`, `AN`, `Dubbing`, `PlayAPI`, `ConvAI`, `VoiceGeneration`, `InVPC`, `Flows`, `VoicePreview`
- `alignments` (HistoryAlignmentsResponseModel, optional, nullable) — Die Ausrichtungen des Verlaufselements.
- `dialogue` (list of DialogueInputResponseModel, optional, nullable) — Der Dialog (Stimm- und Textpaare), der zum Generieren des Audioelements verwendet wurde. Wenn dieser festgelegt ist, sind die Felder `text` und `voice_id` der obersten Ebene leer.
- `output_format` (string, optional, nullable) — Das Ausgabeformat, in dem das Audio ursprünglich generiert wurde.

### ValidationError

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

### HistoryAlignmentsResponseModel

- `alignment` (HistoryAlignmentResponseModel, required) — Die Ausrichtung des Textes.
- `normalized_alignment` (HistoryAlignmentResponseModel, required) — Die normalisierte Ausrichtung des Textes.

### DialogueInputResponseModel

- `text` (string, required) — Der Text der Dialogeingabezeile.
- `voice_id` (string, required) — Die ID der für diese Dialogeingabezeile verwendeten Stimme.
- `voice_name` (string, required) — Der Name der für diese Dialogeingabezeile verwendeten Stimme.

### ValidationErrorLocItems

### HistoryAlignmentResponseModel

- `characters` (list of string, required) — Die Zeichen im Alignment.
- `character_start_times_seconds` (list of double, required) — Die Startzeiten der Zeichen in Sekunden.
- `character_end_times_seconds` (list of double, required) — Die Endzeiten der Zeichen in Sekunden.

## Examples

**Response**

```json
{
  "history": [
    {
      "history_item_id": "ja9xsmfGhxYcymxGcOGB",
      "date_unix": 1714650306,
      "character_count_change_from": 17189,
      "character_count_change_to": 17231,
      "content_type": "audio/mpeg",
      "state": null,
      "request_id": "BF0BZg4IwLGBlaVjv9Im",
      "voice_id": "21m00Tcm4TlvDq8ikWAM",
      "model_id": "eleven_multilingual_v2",
      "voice_name": "Rachel",
      "voice_category": "premade",
      "text": "Hello, world!",
      "settings": {
        "similarity_boost": 0.5,
        "stability": 0.71,
        "style": 0,
        "use_speaker_boost": true
      },
      "source": "TTS"
    }
  ],
  "has_more": true,
  "last_history_item_id": "ja9xsmfGhxYcymxGcOGB",
  "scanned_until": 1714650306
}
```

**SDK Code**

```python
import requests

url = "https://api.elevenlabs.io/v1/history"

querystring = {"date_after_unix":"1640995200","date_before_unix":"1640995200","model_id":"eleven_turbo_v2","search":"In the land far far away","sort_direction":"desc","source":"TTS"}

response = requests.get(url, params=querystring)

print(response.json())
```

```javascript
const url = 'https://api.elevenlabs.io/v1/history?date_after_unix=1640995200&date_before_unix=1640995200&model_id=eleven_turbo_v2&search=In+the+land+far+far+away&sort_direction=desc&source=TTS';
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/history?date_after_unix=1640995200&date_before_unix=1640995200&model_id=eleven_turbo_v2&search=In+the+land+far+far+away&sort_direction=desc&source=TTS"

	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/history?date_after_unix=1640995200&date_before_unix=1640995200&model_id=eleven_turbo_v2&search=In+the+land+far+far+away&sort_direction=desc&source=TTS")

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/history?date_after_unix=1640995200&date_before_unix=1640995200&model_id=eleven_turbo_v2&search=In+the+land+far+far+away&sort_direction=desc&source=TTS")
  .asString();
```

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

$client = new \GuzzleHttp\Client();

$response = $client->request('GET', 'https://api.elevenlabs.io/v1/history?date_after_unix=1640995200&date_before_unix=1640995200&model_id=eleven_turbo_v2&search=In+the+land+far+far+away&sort_direction=desc&source=TTS');

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

```csharp
using RestSharp;

var client = new RestClient("https://api.elevenlabs.io/v1/history?date_after_unix=1640995200&date_before_unix=1640995200&model_id=eleven_turbo_v2&search=In+the+land+far+far+away&sort_direction=desc&source=TTS");
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/history?date_after_unix=1640995200&date_before_unix=1640995200&model_id=eleven_turbo_v2&search=In+the+land+far+far+away&sort_direction=desc&source=TTS")! 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()
```