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

# Obtenir les Finetune de musique

GET https://api.elevenlabs.io/v1/music/finetunes

Liste les Finetune de musique auxquels vous avez accès, les vôtres, ceux partagés dans le Workspace et ceux sélectionnés par ElevenLabs, avec filtrage, tri et pagination par curseur facultatifs.

Reference: https://elevenlabs.io/docs/api-reference/music/finetunes/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

- `cursor` (string, optional, nullable) — Utilisé pour récupérer la page suivante. Le curseur est renvoyé dans la réponse.
- `page_size` (integer, optional, default: 50) — Nombre de finetunes à renvoyer. Maximum : 150 ; 50 par défaut.
- `visibility` (enum, optional, nullable) — Filtrer par visibilité. 'private' renvoie les Finetune privés ; 'workspace' renvoie les Finetune partagés dans le Workspace ; 'public' renvoie les Finetune publics, actuellement sélectionnés par ElevenLabs. Omettez ce paramètre pour renvoyer tous les Finetune accessibles.
  - Allowed values: `private`, `workspace`, `public`
- `created_by` (enum, optional, nullable) — Filtrer par créateur. 'self' renvoie les Finetune que vous avez créés ; 'workspace' renvoie les Finetune créés par les membres du Workspace ; 'elevenlabs' renvoie les Finetune sélectionnés par ElevenLabs. Omettez ce paramètre pour renvoyer les Finetune de tous les créateurs.
  - Allowed values: `self`, `workspace`, `elevenlabs`
- `sort` (enum, optional, default: created_at) — Sort by field (created_at or name)
  - Allowed values: `created_at`, `name`
- `sort_direction` (enum, optional, default: desc) — Sort direction (asc or desc)
  - Allowed values: `asc`, `desc`

## Response

### 200

Réponse réussie

- `finetunes` (list of MusicFinetuneResponseModel, required) — Les Finetune de cette page.
- `next_cursor` (string, required, nullable) — Curseur à transmettre comme `cursor` pour récupérer la page suivante ; `null` lorsqu'il n'y a plus de résultats.
- `has_more` (boolean, required) — Indique si d’autres Finetune sont disponibles après cette page.

## Errors

### 422 Unprocessable Entity Error

Erreur de validation

- `detail` (list of ValidationError, optional)

## Types

### MusicFinetuneResponseModel

- `id` (string, required) — Identifiant unique du finetune.
- `name` (string, required) — Nom du Finetune.
- `tags` (list of string, required) — Étiquettes associées au finetune.
- `model_id` (string, required) — Modèle musical de base sur lequel le finetune a été entraîné.
- `created_at` (string, required) — Date de création du finetune (UTC).
- `visibility` (enum, required) — Indique qui peut accéder à ce Finetune : `private` (vous uniquement), `workspace` (les membres de votre Workspace), `public` (sélectionné par ElevenLabs, accessible à tous).
  - Allowed values: `private`, `workspace`, `public`
- `created_by` (enum, required) — Indique qui a créé le Finetune : `self`, `workspace` ou `elevenlabs`.
  - Allowed values: `self`, `workspace`, `elevenlabs`
- `status` (enum, required) — État du cycle de vie de l’entraînement : pending, in_progress, completed, failed et blocked.
  - Allowed values: `pending`, `in_progress`, `completed`, `failed`, `blocked`
- `training_progress` (double, required) — Progression de l’entraînement, de 0.0 à 1.0.
- `primary_genre` (string, optional, nullable) — Genre musical principal du Finetune.
- `failure_reason` (enum, optional, nullable) — Raison pour laquelle le Finetune a échoué ou a été bloqué, le cas échéant.
  - Allowed values: `audio_processing_failed`, `copyright_violation`, `training_failed`

### ValidationError

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

### ValidationErrorLocItems

- string
- integer

## Examples

**Response**

```json
{
  "finetunes": [
    {
      "id": "string",
      "name": "string",
      "tags": [
        "string"
      ],
      "model_id": "music_v1",
      "created_at": "2024-01-15T09:30:00Z",
      "visibility": "private",
      "created_by": "self",
      "status": "pending",
      "training_progress": 1.1,
      "primary_genre": "string",
      "failure_reason": "audio_processing_failed"
    }
  ],
  "next_cursor": "string",
  "has_more": true
}
```

**SDK Code**

```python
import requests

url = "https://api.elevenlabs.io/v1/music/finetunes"

response = requests.get(url)

print(response.json())
```

```javascript
const url = 'https://api.elevenlabs.io/v1/music/finetunes';
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/music/finetunes"

	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/music/finetunes")

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/music/finetunes")
  .asString();
```

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

$client = new \GuzzleHttp\Client();

$response = $client->request('GET', 'https://api.elevenlabs.io/v1/music/finetunes');

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

```csharp
using RestSharp;

var client = new RestClient("https://api.elevenlabs.io/v1/music/finetunes");
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/music/finetunes")! 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()
```