Zum Inhalt
Lumean API

Beschreibungen auf Englisch

Die Oberfläche des Bereichs ist in Ihre Sprache übersetzt, Beschreibungen von Operationen, Schemata und Fehlern gibt es aber nur auf Russisch und Englisch — hier wird die englische Fassung angezeigt.
GET/voices

My Voices

LumVoice voices created by the key owner, in any state — including ones still cloning or not yet approved.

Korrekturen an der Spezifikation · 1

  • Pagination does not live in data.meta

    Four per_page descriptions promise pagination metadata in data.meta. No public API response contains that key: a page arrives flat — data.items[] plus data.current_page, data.last_page, data.per_page, data.total. Code reading data.meta.total gets undefined.

Only voices with voice_status: ready can be used for generation; such a voice's id goes into a template's config.tts_settings.voice_id or into an order's config_override.

The public API is read-only here: a key cannot create or modify a voice.

Required key permission: voices.read.

Auf dieser Seite(3)

Parameter

Die Eingabefelder liegen direkt in der Anfragezeile: Wert eintragen und die URL ist fertig. Darunter stehen Typ, Pflichtangabe und erlaubte Werte jedes Parameters.

GEThttps://api.lumean.app/api/public/voices
  • stringin der Queryoptional

    Lifecycle stage of a cloned voice. Only ready is usable for generation.

    Zulässige Werte
  • stringin der Queryoptional

    Publication state of the voice in the shared catalogue.

    Zulässige Werte
  • stringin der Queryoptional

    Language filter, ISO-639-1 (ru, en, de, …).

  • stringin der Queryoptional

    Sort field. Defaults to created_at.

    Zulässige Werte
  • stringin der Queryoptional

    Sort direction.

    Zulässige Werte
  • integerin der Queryoptional

    How many records to return per page. Pagination metadata sits next to items: current_page, last_page, per_page, total.

Mögliche Antworten

200

Success. The payload is in data.

Beispiel für den Body
{
  "success": true,
  "message": "Success",
  "data": {
    "items": [
      {
        "id": "Qm4Bx8Yt1WvNc6Zs",
        "display_name": "Marcus Draft (EN)",
        "description": null,
        "gender": "male",
        "accent": null,
        "default_language_code": null,
        "voice_status": "cloning",
        "publication_status": "private",
        "allow_usage_in_orders": true,
        "preview_generated_at": null,
        "created_at": "2026-07-16T18:00:00+00:00",
        "updated_at": "2026-07-17T08:30:00+00:00",
        "tags": [],
        "languages": [
          {
            "id": 2,
            "language_code": "en",
            "status": "cloning",
            "reference_duration_ms": 32000,
            "model_version": 1,
            "failure_reason": null,
            "clone_started_at": "2026-07-17T08:30:00+00:00",
            "clone_completed_at": null,
            "updated_at": "2026-07-17T08:30:00+00:00"
          }
        ],
        "preview_urls": {
          "en": null
        }
      },
      {
        "id": "k3nH9vRt2Lw7ZpXb",
        "display_name": "Ava Narrator (EN)",
        "description": "Warm, measured narration voice cloned from a 45-second studio reference — ideal for long-form audiobook and e-learning narration.",
        "gender": "female",
        "accent": "us",
        "default_language_code": "en",
        "voice_status": "ready",
        "publication_status": "public",
        "allow_usage_in_orders": true,
        "preview_generated_at": "2026-06-02T09:15:00+00:00",
        "created_at": "2026-06-01T10:00:00+00:00",
        "updated_at": "2026-06-02T09:15:00+00:00",
        "tags": [
          {
            "id": 8,
            "code": "narration",
            "name": "Narration",
            "description": null,
            "color": null,
            "sort_order": 80
          },
          {
            "id": 4,
            "code": "calm",
            "name": "Calm",
            "description": null,
            "color": null,
            "sort_order": 40
          }
        ],
        "languages": [
          {
            "id": 1,
            "language_code": "en",
            "status": "ready",
            "reference_duration_ms": 47000,
            "model_version": 1,
            "failure_reason": null,
            "clone_started_at": "2026-06-01T10:05:00+00:00",
            "clone_completed_at": "2026-06-01T10:22:00+00:00",
            "updated_at": "2026-06-01T10:22:00+00:00"
          }
        ],
        "preview_urls": {
          "en": "https://s3.lumean.app/lumean/storage/lumvoice/voices/k3nH9vRt2Lw7ZpXb/previews/en.mp3?X-Amz-Algorithm=AWS4-HMAC-SHA256&X-Amz-Credential=AKIAEXAMPLE1234567%2F20260602%2Fus-east-1%2Fs3%2Faws4_request&X-Amz-Date=20260602T091500Z&X-Amz-Expires=3600&X-Amz-SignedHeaders=host&X-Amz-Signature=3f9c2b0a1d4e5f6a7b8c9d0e1f2a3b4c5d6e7f8a9b0c1d2e3f4a5b6c7d8e9f0a"
        }
      }
    ],
    "current_page": 1,
    "last_page": 1,
    "per_page": 20,
    "total": 2
  }
}
Felder der Antwort
successerforderlich

Success flag. Branch on the HTTP status code instead: any 2xx response carries true here, while an error comes back in a different shape that need not contain this field at all.

boolean
messageerforderlich

A human-readable note in the account language. Fine to show to a user; do not parse it — the wording changes without notice and is not an error code.

string
dataerforderlich

Your LumVoice voices — both your own and the ones added to your library.

LumVoiceListLumVoiceList
itemserforderlich

Records on the current page, in the list’s sort order.

array<LumVoice>LumVoice
Array-Element
iderforderlich

Voice UUID. Put it into a template’s config.voice_id; the same value goes into /voices/{voice} paths.

string
display_nameerforderlich

Display name of the voice.

string
descriptionerforderlich

Author’s description of the voice: timbre, delivery, intended use.

string
gendererforderlich

Voice gender.

string
accenterforderlich

Accent or regional pronunciation variant.

string
default_language_codeerforderlich

The language the voice defaults to, ISO-639-1.

string
voice_statuserforderlich

Cloning state of the voice. Only a fully prepared voice can be used in orders.

string
publication_statuserforderlich

Publication stage: draft, under review, published. It determines whether the voice appears in the shared catalogue GET /voices/public.

string
allow_usage_in_orderserforderlich

Whether the author lets others use the voice. Without this flag the voice is absent from the GET /voices/public catalogue, and library entries other users already made for it become unavailable.

boolean
preview_generated_aterforderlich

When the preview clips were produced, ISO 8601. null means there is no preview yet.

darf null seindate-time
string
created_aterforderlich

When the voice was created, ISO 8601.

darf null seindate-time
string
updated_aterforderlich

When the voice last changed, ISO 8601.

darf null seindate-time
string
tagsoptional

Voice tags for search and filtering. The full directory is GET /voices/tags.

array<VoiceTag>VoiceTag
Array-Element
iderforderlich

Internal identifier of the tag.

integer
codeerforderlich

Tag code — the stable value to filter by, unlike the translatable name.

string
nameerforderlich

Tag name in the account language.

string
descriptionerforderlich

Explanation of the tag in the account language, when the author provided one.

darf null sein
string
colorerforderlich

Tag colour in HEX — a styling hint.

string
sort_ordererforderlich

Sort weight within the tag list: lower comes first.

integer
languagesoptional

Languages the voice has been cloned into, each with its own state. An order is only possible in a language that is ready.

array<VoiceLanguage>VoiceLanguage
Array-Element
iderforderlich

Internal identifier of the voice’s language version.

integer
language_codeerforderlich

Language code, ISO-639-1. It is also the key used in preview_urls.

string
statuserforderlich

Cloning state for this language. Orders are accepted only in a language whose clone is ready.

string
reference_duration_mserforderlich

Duration of the reference recording in milliseconds — the clone was trained on it.

darf null sein
integer
model_versionerforderlich

Version of the trained model. It increments whenever the voice is retrained.

integer
failure_reasonerforderlich

Why cloning failed. null when there was no failure.

darf null sein
string
clone_started_aterforderlich

When cloning started, ISO 8601.

darf null seindate-time
string
clone_completed_aterforderlich

When cloning finished, ISO 8601. null means it is still running or it failed.

darf null seindate-time
string
updated_aterforderlich

When the language version last changed, ISO 8601.

darf null seindate-time
string
preview_urlserforderlich

Preview clips by language: the key is a language code, the value a temporary audio link or null when there is no preview for that language. The links live for about a minute.

object
*optional
darf null seinbeliebige Schlüssel
string
current_pageerforderlich

Current page number, starting from one.

integer
last_pageerforderlich

Number of the last page. The walk is over once current_page equals last_page.

integer
per_pageerforderlich

Page size the server applied.

integer
totalerforderlich

Total number of records matching the filter.

integer
401

The key is missing, unknown, disabled or expired.

Diese Antwort analysieren
Beispiel für den Body
{
  "success": false,
  "message": "API key is missing. Provide it in the X-API-KEY header.",
  "data": null
}
Felder der Antwort
successerforderlich

Always false in error responses.

boolean
messageerforderlich

Error text in the key's language (set through the X-Locale header).

string
dataerforderlich

Always null when the request is rejected before processing.

darf null sein
null
403

The key lacks the required permission, or the object belongs to another user.

Diese Antwort analysieren
Beispiel für den Body
{
  "success": false,
  "message": "This API key does not have permission to perform this action."
}
Felder der Antwort
messageerforderlich

Error overview.

string
422

Validation error. Offending fields are listed in errors.

Diese Antwort analysieren
Beispiel für den Body
{
  "message": "string",
  "errors": {}
}
Felder der Antwort
messageerforderlich

Errors overview.

string
errorserforderlich

A detailed description of each field that failed validation.

object
*optional
beliebige Schlüssel
array<string>

Diese Seite einer KI geben

.md öffnenllm.md

Spezifikation 0.0.1