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.

API-Objekte

Die Schemata, aus denen Antworten bestehen. Die vollständige Tabelle jedes Objekts existiert genau einmal: Operationsseiten verlinken hierher, statt sie erneut auszuklappen. Objekt und jedes Feld haben einen eigenen Anker und lassen sich so direkt verlinken.

AiGatewayCatalogModel

object
keyerforderlich

То самое имя, которое надо ставить в поле model запроса. Оно же единственное принимаемое: гейтвей резолвит его точным совпадением и уже сам подставляет имя модели на стороне поставщика.

string
nameerforderlich
string
familyerforderlich
string
kinderforderlich

chat | image. Модель image зовут через /v1/images (или чатом — ответ придёт markdown-картинкой), цена — price.request.

string
descriptionerforderlich
darf null sein
string
context_windowerforderlich
string
max_output_tokenserforderlich
string
capabilitieserforderlich
string
pricing_modeerforderlich
string
priceerforderlich

null — отпускной нет: ни одна пара не продаёт модель не в минус. Нули здесь обещали бы бесплатную модель.

darf null sein
object
*optional
beliebige Schlüssel
object
billing_availableerforderlich

Вызываема ли модель платным ключом. false при живой модели — она видна ради своего ключа (BYOK), а платный вызов откажет.

boolean
byokerforderlich
string
Beispiel anzeigen
{
  "key": "string",
  "name": "string",
  "family": "string",
  "kind": "string",
  "description": "string",
  "context_window": "string",
  "max_output_tokens": "string",
  "capabilities": "string",
  "pricing_mode": "string",
  "price": {},
  "billing_available": true,
  "byok": "string"
}

Verwendet in 2 Operationen

Asset

object
iderforderlich

Internal identifier of the asset.

integer
codeerforderlich

Asset code: LUMC is the internal currency, TOKEN the generation tokens.

string
kinderforderlich

Kind of asset: money or consumable units. It decides whether an amount counts as a payment or as quota consumption.

Wertemoneyunit
AssetKindAssetKind
precisionerforderlich

Number of decimal places. The load-bearing field: every integer amount in this asset is divided by 10^precision to obtain the real value. Do not assume the divisor is 100.

integer
nameerforderlich

Display name of the asset, in the account language.

string
deleted_aterforderlich

When the asset was retired, ISO 8601. null while it is in use.

darf null seindate-time
string
created_aterforderlich

When the asset was created, ISO 8601.

darf null seindate-time
string
updated_aterforderlich

When the asset last changed, ISO 8601.

darf null seindate-time
string
Beispiel anzeigen
{
  "id": 1,
  "code": "string",
  "kind": "money",
  "precision": 1,
  "name": "string",
  "deleted_at": "string",
  "created_at": "string",
  "updated_at": "string"
}

BrowseTemplates

object
itemserforderlich

Contents of the current folder — folders and templates interleaved, in sort order. Tell them apart by service_key: only a template has it.

array<TemplateItem>TemplateItem
Array-Element
typeerforderlich
Wertetemplate
string
iderforderlich
string
nameerforderlich
string
slugoptional
string
service_keyoptional
string
serviceoptional
darf null sein
Service | null
configoptional
object | string
is_publicoptional
string
folder_idoptional
string
created_aterforderlich
string
updated_aterforderlich
string
templates_countoptional
string | integer
current_pageerforderlich

Current page number, starting at 1.

integer
last_pageerforderlich

Number of the last page. When it equals current_page, there is nothing further.

integer
per_pageerforderlich

How many records fit on a page.

integer
totalerforderlich

How many records the folder holds in total, across all pages.

integer
current_foldererforderlich

The folder whose contents are shown. null means you are at the root.

darf null sein
object
iderforderlich

UUID of the current folder — pass it as folder_id to open the folder again.

string
nameerforderlich

Name of the current folder.

string
breadcrumbserforderlich

The path from the root to the current folder, ancestor first — ready to render as a breadcrumb trail.

array<object>
Array-Element
idoptional

UUID of an ancestor folder — the folder_id value that jumps back to that level.

uuid
string
nameoptional

Name of the ancestor folder.

string
Beispiel anzeigen
{
  "items": [
    {
      "type": "template",
      "id": "string",
      "name": "string",
      "slug": "string",
      "service_key": "string",
      "service": {
        "id": 1,
        "code": "string",
        "name": "string",
        "display_name": "string",
        "label": null,
        "payg_access": "string",
        "billing_mode": "subscription",
        "unit_asset_id": 1,
        "unit_asset": {
          "id": null,
          "code": null,
          "kind": null,
          "precision": null,
          "name": null,
          "deleted_at": null,
          "created_at": null,
          "updated_at": null
        },
        "required_entitlement_id": 1,
        "required_entitlement": {
          "id": null,
          "code": null,
          "name": null,
          "metadata": null,
          "is_active": null,
          "created_at": null,
          "updated_at": null,
          "is_unlimited": null
        },
        "units_per_call": 1,
        "units_per_char": 1,
        "units_per_image": 1,
        "units_per_second": 1,
        "min_billable_chars": 1,
        "lumcoin_per_token": 1,
        "lumc_precision": 1,
        "price_lumc_minor": 1,
        "unit_size": 1,
        "uses_money_first_pricing": true,
        "rate_unit": "string",
        "display_category": "string",
        "is_premium": true,
        "display_order": 1,
        "metadata": {},
        "is_active": true,
        "maintenance_mode": true,
        "access_level": "string",
        "maintenance_auto_resume": true,
        "maintenance_started_at": "string",
        "maintenance_note": "string",
        "created_at": "string",
        "updated_at": "string"
      },
      "config": {},
      "is_public": "string",
      "folder_id": "string",
      "created_at": "string",
      "updated_at": "string"
    }
  ],
  "current_page": 1,
  "last_page": 1,
  "per_page": 1,
  "total": 1,
  "current_folder": {
    "id": "string",
    "name": "string"
  },
  "breadcrumbs": [
    {
      "id": "string",
      "name": "string"
    }
  ]
}

Verwendet in 1 Operationen

CartesiaVoiceClone

object
iderforderlich

Clone UUID. Use it in /voices/cartesia/clones/{voiceClone}/… paths; it does NOT go into a template — voice_id does.

string
providererforderlich

Clone provider — always cartesia.

Wertecartesia
string
display_nameerforderlich

Clone name given at creation.

string
languageerforderlich

Language of the sample (ISO 639-1), or null if none was sent.

string
descriptionerforderlich

Your description of the clone, or null.

string
statuserforderlich

Status: pending → cloning → ready or failed; archived — retired by the owner; banned — blocked by a moderator. Only ready can be used for narration.

string
voice_iderforderlich

The Cartesia voice id — the value for tts_settings.voice_id of a template with service_key: cartesia. Present only for ready, otherwise null.

string
attemptserforderlich

Cloning attempt number: 1 on creation, +1 for every retry.

integer
errorerforderlich

Why the last attempt failed; null while there has been no failure.

darf null sein
object
reasonerforderlich

Machine-readable failure code: processing_error, max_retries, network, timeout, dispatch_failed. Retry with POST /voices/cartesia/clones/{voiceClone}/retry; if processing_error keeps coming back, use a different sample.

string
messageerforderlich

Human-readable explanation of the failure, or null. Branch on reason, not on this text.

string
created_aterforderlich

When the clone was created.

string
completed_aterforderlich

When the clone became ready; null until then.

string
failed_aterforderlich

When the last attempt failed; null if it has not.

string
banned_aterforderlich

When a moderator banned the clone (status = banned); null if it is not banned.

string
ban_reasonerforderlich

Reason for the ban given by the moderator, or null. A banned clone can be neither used nor archived.

string
Beispiel anzeigen
{
  "id": "string",
  "provider": "cartesia",
  "display_name": "string",
  "language": "string",
  "description": "string",
  "status": "string",
  "voice_id": "string",
  "attempts": 1,
  "error": {
    "reason": "string",
    "message": "string"
  },
  "created_at": "string",
  "completed_at": "string",
  "failed_at": "string",
  "banned_at": "string",
  "ban_reason": "string"
}

CartesiaVoiceCloneStatus

string

Status of a Cartesia voice clone: pending — queued, cloning — in progress, ready — done, carries a voice_id; failed — refused (the reason is in error), can be retried; archived — retired by the owner.

  • pending
  • cloning
  • ready
  • failed
  • archived
  • banned
Beispiel anzeigen
"pending"

Keine Operation der Referenz verweist direkt auf dieses Schema — es tritt innerhalb anderer Objekte auf.

CartesiaVoice

object
iderforderlich

Internal id of the catalogue entry. Not needed for narration — voice_id goes into the template.

string
voice_iderforderlich

The Cartesia voice id — the value for tts_settings.voice_id of a template with service_key: cartesia.

string
nameerforderlich

Voice name.

string
descriptionerforderlich

Voice description from Cartesia, or null.

string
languageerforderlich

Voice language (ISO 639-1), or null.

string
gendererforderlich

Voice gender: masculine, feminine, gender_neutral, or null.

string
preview_urlerforderlich

Link to a voice preview recording, or null.

string
Beispiel anzeigen
{
  "id": "string",
  "voice_id": "string",
  "name": "string",
  "description": "string",
  "language": "string",
  "gender": "string",
  "preview_url": "string"
}

Verwendet in 1 Operationen

CreateCartesiaVoiceCloneRequest

object

A new Cartesia voice clone: a base64 sample recording plus consent to use the voice. Accepted as application/json.

display_nameerforderlich

Clone name — visible only to you, up to 128 characters.

≤ 128 Zeichen
string
Beispiel Мой голос
reference_audioerforderlich

The voice sample in base64; a data URI (data:audio/wav;base64,…) works too. Up to 20 MB once decoded; any common audio format (WAV, MP3 and the like). It should be clean speech by a single person, without music or noise.

string
Beispiel UklGRiQAAABXQVZFZm10IBAAAAABAAEAQB8AAIA+AAACABAAZGF0YQAAAAA=
languageoptional

Language of the sample, an ISO 639-1 code from the list. Omitted — the default language of the worker.

darf null sein
Werteenruukdefresptitnlplsvtrcsskbgrohuelfidanohrkahearhibntateguknmlmrpajakozhvithidmstl
string
Beispiel ru
descriptionoptional

Your description of the clone, up to 500 characters.

darf null sein≤ 500 Zeichen
string
voice_owneroptional

Whose voice is in the sample: self — yours, third_party — someone else's, and you hold their consent.

darf null sein
Werteselfthird_party
string
Beispiel self
Beispiel anzeigen
{
  "display_name": "Мой голос",
  "reference_audio": "UklGRiQAAABXQVZFZm10IBAAAAABAAEAQB8AAIA+AAACABAAZGF0YQAAAAA=",
  "language": "ru",
  "description": "string",
  "consent_biometric": true,
  "voice_owner": "self",
  "consent_confirmed": true
}

Keine Operation der Referenz verweist direkt auf dieses Schema — es tritt innerhalb anderer Objekte auf.

CreateFishAudioVoiceCloneRequest

object

A new Fish Audio voice clone: a base64 sample recording plus consent to use the voice. Accepted as application/json.

display_nameerforderlich

Clone name — visible only to you, up to 128 characters.

≤ 128 Zeichen
string
Beispiel Мой голос
reference_audioerforderlich

The voice sample in base64; a data URI (data:audio/wav;base64,…) works too. Up to 20 MB once decoded; any common audio format (WAV, MP3 and the like). It should be clean speech by a single person, without music or noise.

string
Beispiel UklGRiQAAABXQVZFZm10IBAAAAABAAEAQB8AAIA+AAACABAAZGF0YQAAAAA=
languageoptional

A reference label for the clone, a two-letter ISO 639-1 code (ru, en, …). Fish Audio voices have no language of their own and the label is not sent to the provider.

darf null seinMuster: ^[a-z]{2}$
string
Beispiel ru
descriptionoptional

Your description of the clone, up to 500 characters.

darf null sein≤ 500 Zeichen
string
voice_owneroptional

Whose voice is in the sample: self — yours, third_party — someone else's, and you hold their consent.

darf null sein
Werteselfthird_party
string
Beispiel self
Beispiel anzeigen
{
  "display_name": "Мой голос",
  "reference_audio": "UklGRiQAAABXQVZFZm10IBAAAAABAAEAQB8AAIA+AAACABAAZGF0YQAAAAA=",
  "language": "ru",
  "description": "string",
  "consent_biometric": true,
  "voice_owner": "self",
  "consent_confirmed": true
}

Keine Operation der Referenz verweist direkt auf dieses Schema — es tritt innerhalb anderer Objekte auf.

Entitlement

object
iderforderlich

Internal identifier of the entitlement.

integer
codeerforderlich

Entitlement code — a service checks it to decide whether you have access.

string
nameerforderlich

Display name of the entitlement, in the account language.

string
metadataerforderlich

Extra attributes of the entitlement. The key set is free-form.

darf null sein
object
is_activeerforderlich

Whether the entitlement is active.

boolean
created_aterforderlich

When the entitlement was created, ISO 8601.

darf null seindate-time
string
updated_aterforderlich

When the entitlement last changed, ISO 8601.

darf null seindate-time
string
is_unlimitedoptional

Whether this capability is unlimited under the plan. Present only when the entitlement is returned in a plan context.

boolean
Beispiel anzeigen
{
  "id": 1,
  "code": "string",
  "name": "string",
  "metadata": {},
  "is_active": true,
  "created_at": "string",
  "updated_at": "string",
  "is_unlimited": true
}

Keine Operation der Referenz verweist direkt auf dieses Schema — es tritt innerhalb anderer Objekte auf.

FishAudioVoiceClone

object
iderforderlich

Clone UUID. Use it in /voices/fishaudio/clones/{voiceClone}/… paths; it does NOT go into a template — voice_id does.

string
providererforderlich

Clone provider — always fishaudio.

Wertefishaudio
string
display_nameerforderlich

Clone name given at creation.

string
languageerforderlich

Reference language label (ISO 639-1), or null if none was sent. It does not affect cloning.

string
descriptionerforderlich

Your description of the clone, or null.

string
statuserforderlich

Status: pending → cloning → ready or failed; archived — retired by the owner; banned — blocked by a moderator. Only ready can be used for narration.

string
voice_iderforderlich

The Fish Audio voice id (a 32-character hex string, not a UUID) — the value for tts_settings.voice_id of a template with service_key: fishaudio. Present only for ready, otherwise null.

string
attemptserforderlich

Cloning attempt number: 1 on creation, +1 for every retry.

integer
errorerforderlich

Why the last attempt failed; null while there has been no failure.

darf null sein
object
reasonerforderlich

Machine-readable failure code: processing_error, max_retries, network, timeout, dispatch_failed, unbanned (the clone was unbanned but had no voice). Retry with POST /voices/fishaudio/clones/{voiceClone}/retry; if processing_error keeps coming back, use a different sample.

string
messageerforderlich

Human-readable explanation of the failure, or null. Branch on reason, not on this text.

string
created_aterforderlich

When the clone was created.

string
completed_aterforderlich

When the clone became ready; null until then.

string
failed_aterforderlich

When the last attempt failed; null if it has not.

string
banned_aterforderlich

When a moderator banned the clone (status = banned); null if it is not banned.

string
ban_reasonerforderlich

Reason for the ban given by the moderator, or null. A banned clone can be neither used nor archived.

string
Beispiel anzeigen
{
  "id": "string",
  "provider": "fishaudio",
  "display_name": "string",
  "language": "string",
  "description": "string",
  "status": "string",
  "voice_id": "string",
  "attempts": 1,
  "error": {
    "reason": "string",
    "message": "string"
  },
  "created_at": "string",
  "completed_at": "string",
  "failed_at": "string",
  "banned_at": "string",
  "ban_reason": "string"
}

FishAudioVoiceCloneStatus

string

Status of a Fish Audio voice clone: pending — queued, cloning — in progress, ready — done, carries a voice_id; failed — refused (the reason is in error), can be retried; archived — retired by the owner; banned — blocked by a moderator (the reason is in ban_reason).

  • pending
  • cloning
  • ready
  • failed
  • archived
  • banned
Beispiel anzeigen
"pending"

Keine Operation der Referenz verweist direkt auf dieses Schema — es tritt innerhalb anderer Objekte auf.

FishAudioVoice

object
iderforderlich

Internal id of the catalogue entry. Not needed for narration — voice_id goes into the template.

string
voice_iderforderlich

The Fish Audio voice id (a 32-character hex string, not a UUID) — the value for tts_settings.voice_id of a template with service_key: fishaudio.

string
nameerforderlich

Voice name.

string
descriptionerforderlich

Voice description from Fish Audio, or null.

string
languageerforderlich

Catalogue language the voice was imported under (ru, en, es), or null.

string
languageserforderlich

All languages of the voice according to Fish Audio.

string | array<string>
gendererforderlich

Voice gender: male, female, or null.

string
tagserforderlich

Voice tags at Fish Audio.

string | array<string>
author_nameerforderlich

Voice author at Fish Audio, or null.

string
task_counterforderlich

How many times the voice has been used at Fish Audio — a popularity measure; the catalogue is sorted by it.

integer
like_counterforderlich

Number of likes of the voice at Fish Audio.

integer
preview_urlerforderlich

A temporary link (60 minutes) to an MP3 sample of the voice, or null while the preview has not been downloaded yet.

string
Beispiel anzeigen
{
  "id": "string",
  "voice_id": "string",
  "name": "string",
  "description": "string",
  "language": "string",
  "languages": "string",
  "gender": "string",
  "tags": "string",
  "author_name": "string",
  "task_count": 1,
  "like_count": 1,
  "preview_url": "string"
}

Verwendet in 1 Operationen

GetFileUrlRequest

object

A request for a temporary link to a result file. Fetch the link with a plain GET, without the X-API-KEY header.

patherforderlich

The full file path exactly as it arrived in the order's result.files[] or result.service_files[]. Do not assemble it by hand — it contains internal segments.

string
Beispiel storage/42/orders/9f8b2c1a-4d3e-4f5a-8b9c-0d1e2f3a4b5c/result/output.mp3
downloadoptional

When true, the link is marked as an attachment: the file is saved under the human-readable order name instead of opening in a browser tab.

Standard false
boolean
number_baseoptional

Where chunk numbering starts in the file name: 1 → the first chunk is "001", 0 → "000". Defaults to 1.

Standard 1
Werte01
integer
number_paddingoptional

Width of the zero-padded chunk number, 1..4: 3 → "007". Defaults to 3. Keep it identical to the ZIP archive request, otherwise the same chunk is named differently on its own and inside the archive.

Standard 31..4
integer
Beispiel anzeigen
{
  "path": "storage/42/orders/9f8b2c1a-4d3e-4f5a-8b9c-0d1e2f3a4b5c/result/output.mp3",
  "download": false,
  "number_base": 1,
  "number_padding": 3
}

Keine Operation der Referenz verweist direkt auf dieses Schema — es tritt innerhalb anderer Objekte auf.

GiftCodeBatch

object
uuiderforderlich

The batch id.

string
sourceerforderlich

Always reseller — the batch was issued from the reseller balance.

string
codes_counterforderlich

How many codes the batch holds.

string
nominal_totalerforderlich

Sum of the code nominals, LMC minor units.

string
nominal_total_formattederforderlich

Sum of the nominals, LMC.

number
cost_totaloptional

How much was charged to the reseller balance (nominals minus the discount), LMC minor units.

string
cost_total_formattedoptional

Charged to the reseller balance, LMC.

number
discount_bpsoptional

The reseller personal discount at issue time, basis points (1000 = 10%).

integer
codesoptional

The batch codes with the FULL code value — store them: they are bearer money.

array<GiftCode>GiftCode
Array-Element
uuiderforderlich

Code UUID. Use it in the GET /reseller/codes/{uuid} and POST /reseller/codes/{uuid}/cancel paths.

string
code_maskederforderlich

The code with a mask, LUM-****-****-XXXX: safe to show in a UI and to write to logs.

string
codeoptional

The FULL code value — what the recipient types to redeem it. The reseller public API returns it in the list, on show and on issue. Treat it as a secret: whoever knows the code can redeem it.

string
nominalerforderlich

The code’s nominal value in minor LMC units: real = nominal / 10^currency_asset.precision. This is how much LMC the redeemer receives.

string
nominal_formattederforderlich

The same nominal value in whole LMC — a number ready to display.

number
costoptional

What the code cost the reseller after the discount, in minor LMC units. Present only for reseller codes (source: reseller).

string
cost_formattedoptional

The same cost in whole LMC. Present only for reseller codes.

number
discount_bpsoptional

The reseller’s discount at the moment of issue, in basis points (100 = 1%). A later change of the personal discount does not affect this code. Present only for reseller codes.

integer
sourceerforderlich
string
fundingerforderlich
string
statuserforderlich
string
activatable_aterforderlich

The moment from which the code can be redeemed; until then it is frozen. null means no restriction.

string
redeemed_aterforderlich

When the code was redeemed. null until it is. The API never reveals who redeemed it.

string
cancelled_aterforderlich

When the reseller cancelled the code. null if it was not cancelled.

string
created_aterforderlich

When the code was issued.

string
currency_asseterforderlich

The currency of the amounts in the response — LMC. Use precision to convert amounts in minor units into whole LMC.

object
codeerforderlich

Code of the asset the amounts are expressed in.

WerteLUMC
string
precisionerforderlich

How many decimals LMC has: real = value / 10^precision.

integer
created_aterforderlich

When the batch was issued.

string
currency_asseterforderlich

The currency of the amounts in the response — LMC. Use precision to convert amounts in minor units into whole LMC.

object
codeerforderlich

Code of the asset the amounts are expressed in.

WerteLUMC
string
precisionerforderlich

How many decimals LMC has: real = value / 10^precision.

integer
Beispiel anzeigen
{
  "uuid": "string",
  "source": "string",
  "codes_count": "string",
  "nominal_total": "string",
  "nominal_total_formatted": 1,
  "cost_total": "string",
  "cost_total_formatted": 1,
  "discount_bps": 1,
  "codes": [
    {
      "uuid": "string",
      "code_masked": "string",
      "code": "string",
      "nominal": "string",
      "nominal_formatted": 1,
      "cost": "string",
      "cost_formatted": 1,
      "discount_bps": 1,
      "source": "string",
      "funding": "string",
      "status": "string",
      "activatable_at": "string",
      "redeemed_at": "string",
      "cancelled_at": "string",
      "created_at": "string",
      "currency_asset": {
        "code": "LUMC",
        "precision": 1
      }
    }
  ],
  "created_at": "string",
  "currency_asset": {
    "code": "LUMC",
    "precision": 1
  }
}

Verwendet in 1 Operationen

GiftCodeList

object
itemserforderlich

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

array<GiftCode>GiftCode
Array-Element
uuiderforderlich

Code UUID. Use it in the GET /reseller/codes/{uuid} and POST /reseller/codes/{uuid}/cancel paths.

string
code_maskederforderlich

The code with a mask, LUM-****-****-XXXX: safe to show in a UI and to write to logs.

string
codeoptional

The FULL code value — what the recipient types to redeem it. The reseller public API returns it in the list, on show and on issue. Treat it as a secret: whoever knows the code can redeem it.

string
nominalerforderlich

The code’s nominal value in minor LMC units: real = nominal / 10^currency_asset.precision. This is how much LMC the redeemer receives.

string
nominal_formattederforderlich

The same nominal value in whole LMC — a number ready to display.

number
costoptional

What the code cost the reseller after the discount, in minor LMC units. Present only for reseller codes (source: reseller).

string
cost_formattedoptional

The same cost in whole LMC. Present only for reseller codes.

number
discount_bpsoptional

The reseller’s discount at the moment of issue, in basis points (100 = 1%). A later change of the personal discount does not affect this code. Present only for reseller codes.

integer
sourceerforderlich
string
fundingerforderlich
string
statuserforderlich
string
activatable_aterforderlich

The moment from which the code can be redeemed; until then it is frozen. null means no restriction.

string
redeemed_aterforderlich

When the code was redeemed. null until it is. The API never reveals who redeemed it.

string
cancelled_aterforderlich

When the reseller cancelled the code. null if it was not cancelled.

string
created_aterforderlich

When the code was issued.

string
currency_asseterforderlich

The currency of the amounts in the response — LMC. Use precision to convert amounts in minor units into whole LMC.

object
codeerforderlich

Code of the asset the amounts are expressed in.

WerteLUMC
string
precisionerforderlich

How many decimals LMC has: real = value / 10^precision.

integer
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
Beispiel anzeigen
{
  "items": [
    {
      "uuid": "string",
      "code_masked": "string",
      "code": "string",
      "nominal": "string",
      "nominal_formatted": 1,
      "cost": "string",
      "cost_formatted": 1,
      "discount_bps": 1,
      "source": "string",
      "funding": "string",
      "status": "string",
      "activatable_at": "string",
      "redeemed_at": "string",
      "cancelled_at": "string",
      "created_at": "string",
      "currency_asset": {
        "code": "LUMC",
        "precision": 1
      }
    }
  ],
  "current_page": 1,
  "last_page": 1,
  "per_page": 1,
  "total": 1
}

Verwendet in 1 Operationen

GiftCode

object
uuiderforderlich

Code UUID. Use it in the GET /reseller/codes/{uuid} and POST /reseller/codes/{uuid}/cancel paths.

string
code_maskederforderlich

The code with a mask, LUM-****-****-XXXX: safe to show in a UI and to write to logs.

string
codeoptional

The FULL code value — what the recipient types to redeem it. The reseller public API returns it in the list, on show and on issue. Treat it as a secret: whoever knows the code can redeem it.

string
nominalerforderlich

The code’s nominal value in minor LMC units: real = nominal / 10^currency_asset.precision. This is how much LMC the redeemer receives.

string
nominal_formattederforderlich

The same nominal value in whole LMC — a number ready to display.

number
costoptional

What the code cost the reseller after the discount, in minor LMC units. Present only for reseller codes (source: reseller).

string
cost_formattedoptional

The same cost in whole LMC. Present only for reseller codes.

number
discount_bpsoptional

The reseller’s discount at the moment of issue, in basis points (100 = 1%). A later change of the personal discount does not affect this code. Present only for reseller codes.

integer
sourceerforderlich
string
fundingerforderlich
string
statuserforderlich
string
activatable_aterforderlich

The moment from which the code can be redeemed; until then it is frozen. null means no restriction.

string
redeemed_aterforderlich

When the code was redeemed. null until it is. The API never reveals who redeemed it.

string
cancelled_aterforderlich

When the reseller cancelled the code. null if it was not cancelled.

string
created_aterforderlich

When the code was issued.

string
currency_asseterforderlich

The currency of the amounts in the response — LMC. Use precision to convert amounts in minor units into whole LMC.

object
codeerforderlich

Code of the asset the amounts are expressed in.

WerteLUMC
string
precisionerforderlich

How many decimals LMC has: real = value / 10^precision.

integer
Beispiel anzeigen
{
  "uuid": "string",
  "code_masked": "string",
  "code": "string",
  "nominal": "string",
  "nominal_formatted": 1,
  "cost": "string",
  "cost_formatted": 1,
  "discount_bps": 1,
  "source": "string",
  "funding": "string",
  "status": "string",
  "activatable_at": "string",
  "redeemed_at": "string",
  "cancelled_at": "string",
  "created_at": "string",
  "currency_asset": {
    "code": "LUMC",
    "precision": 1
  }
}

GiftCodeSource

string

Where the code came from: bought by a user with money (purchase) or issued by a reseller from their own balance (reseller).

  • purchase
  • reseller
Beispiel anzeigen
"purchase"

Keine Operation der Referenz verweist direkt auf dieses Schema — es tritt innerhalb anderer Objekte auf.

GiftCodeStatus

string

Gift code status: active — issued and awaiting redemption (possibly still frozen until activatable_at); refunding — a refund is in progress, redemption and cancellation are unavailable; redeemed — redeemed, the nominal is on the redeemer's balance; refunded — the money went back to the buyer's card; cancelled — the reseller cancelled the code and the cost returned to their balance; annulled — annulled with no refund.

  • active
  • refunding
  • redeemed
  • refunded
  • cancelled
  • annulled
Beispiel anzeigen
"active"

Keine Operation der Referenz verweist direkt auf dieses Schema — es tritt innerhalb anderer Objekte auf.

IssueGiftCodesRequest

object

Issuing codes from the reseller balance. The Idempotency-Key header is optional but recommended: with it a network retry cannot issue a second batch.

nominalserforderlich

Code nominals in LMC, one number per code: as many codes as elements. Numbers and decimal strings are accepted; a nominal is either one of the presets from GET /reseller/settings or between min_nominal and max_nominal. The number of elements is capped by limits.max_codes_per_issue from GET /reseller.

min. Elemente: 1max. Elemente: 1000
array<number>
Beispiel [100,100,250]
Beispiel anzeigen
{
  "nominals": [
    100,
    100,
    250
  ]
}

Keine Operation der Referenz verweist direkt auf dieses Schema — es tritt innerhalb anderer Objekte auf.

LumVoiceList

object
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
Beispiel anzeigen
{
  "items": [
    {
      "id": "string",
      "display_name": "string",
      "description": "string",
      "gender": "string",
      "accent": "string",
      "default_language_code": "string",
      "voice_status": "string",
      "publication_status": "string",
      "allow_usage_in_orders": true,
      "preview_generated_at": "string",
      "created_at": "string",
      "updated_at": "string",
      "tags": [
        {
          "id": 1,
          "code": "string",
          "name": "string",
          "description": "string",
          "color": "string",
          "sort_order": 1
        }
      ],
      "languages": [
        {
          "id": 1,
          "language_code": "string",
          "status": "string",
          "reference_duration_ms": 1,
          "model_version": 1,
          "failure_reason": "string",
          "clone_started_at": "string",
          "clone_completed_at": "string",
          "updated_at": "string"
        }
      ],
      "preview_urls": {}
    }
  ],
  "current_page": 1,
  "last_page": 1,
  "per_page": 1,
  "total": 1
}

Verwendet in 1 Operationen

LumVoice

object
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
Beispiel anzeigen
{
  "id": "string",
  "display_name": "string",
  "description": "string",
  "gender": "string",
  "accent": "string",
  "default_language_code": "string",
  "voice_status": "string",
  "publication_status": "string",
  "allow_usage_in_orders": true,
  "preview_generated_at": "string",
  "created_at": "string",
  "updated_at": "string",
  "tags": [
    {
      "id": 1,
      "code": "string",
      "name": "string",
      "description": "string",
      "color": "string",
      "sort_order": 1
    }
  ],
  "languages": [
    {
      "id": 1,
      "language_code": "string",
      "status": "string",
      "reference_duration_ms": 1,
      "model_version": 1,
      "failure_reason": "string",
      "clone_started_at": "string",
      "clone_completed_at": "string",
      "updated_at": "string"
    }
  ],
  "preview_urls": {}
}

OrderList

object
itemserforderlich

Orders of the current page.

array<Order>Order
Beispiel []
current_pageerforderlich

Current page number, starting from 1.

integer
Beispiel 1
last_pageerforderlich

Number of the last page.

integer
Beispiel 1
per_pageerforderlich

Items per page.

integer
Beispiel 20
totalerforderlich

Total items matching the filter.

integer
Beispiel 0
Beispiel anzeigen
{
  "items": [],
  "current_page": 1,
  "last_page": 1,
  "per_page": 20,
  "total": 0
}

Verwendet in 1 Operationen

OrderItem

object
iderforderlich

Chunk UUID. Use it in /orders/{order}/items/{item}/… paths.

string
order_iderforderlich

UUID of the order this chunk belongs to.

string
item_typeerforderlich

What the record is: chunk is an original fragment, retry a free re-run of a failed one, regeneration a paid redo of a finished one.

Retries and regenerations are separate records sharing the same chunk_index: the full attempt history is kept, and the last one is what the result plays.

string
chunk_indexerforderlich

Zero-based position of the fragment within the order. It defines the order in which the final file is assembled.

darf null sein
integer
paragraph_indexerforderlich

The paragraph this fragment belongs to — filled in only for the original fragments of a paragraph-mode order. It is null both in ordinary mode and on retry or regeneration records: those carry no paragraph link of their own and inherit it from the parent fragment via parent_item_id. The mode is switched on by the generation_mode key in the order's config_override.

string
parent_item_iderforderlich

UUID of the source chunk — present on retry and regeneration records. null on an original chunk.

string
original_text_lengtherforderlich

Length of the text the fragment was created with. It is the ceiling for text in regenerate.

integer
current_text_lengtherforderlich

Length of the fragment’s current text: after a regeneration it differs from original_text_length.

integer
price_unitserforderlich

Cost of the fragment in tokens — not money. The monetary amount lives on the order itself, in its own price_units field (LMC there, tokens here; the names match, the units do not).

integer
consumed_unitserforderlich

How many tokens were actually charged for this fragment. Zero while the fragment is unfinished.

integer
remaining_lockederforderlich

How many tokens are still reserved for the fragment. Drops to zero once the fragment finishes or is cancelled.

integer
statuserforderlich

Fragment state: pending waits for a worker, processing is in flight, completed is done, failed hit a technical error, and policy_flagged was rejected by the content policy.

The difference between the last two dictates the fix: failed is cured by retrying as is, whereas policy_flagged requires rewording — retrying the same text is rejected again.

string
result_fileerforderlich

The finished fragment’s file: an absolute path, or a structure carrying path and size. Download it via POST /storage/url, same as order files. null until the fragment is ready.

darf null sein
object | string | null
duration_mserforderlich

Duration of the produced audio in milliseconds — the length of the recording, not the generation time. null for non-audio tasks.

darf null sein
integer
attempt_numbererforderlich

Attempt number for this fragment, starting at 1. It grows with every retry.

integer
can_retryerforderlich

Whether a free retry is allowed right now. It already accounts for status, task type and exhausted attempts, so you need not re-check the conditions.

boolean
can_regenerateerforderlich

Whether a paid regeneration is allowed right now. Available for finished fragments only.

boolean
created_aterforderlich

When the fragment was created, ISO 8601.

darf null seindate-time
string
updated_aterforderlich

When the fragment last changed, ISO 8601.

darf null seindate-time
string
failure_reasonoptional

Machine-readable failure reason — present only on failed and policy_flagged. Everything else gets null.

darf null sein
string
Beispiel anzeigen
{
  "id": "string",
  "order_id": "string",
  "item_type": "string",
  "chunk_index": 1,
  "paragraph_index": "string",
  "parent_item_id": "string",
  "original_text_length": 1,
  "current_text_length": 1,
  "price_units": 1,
  "consumed_units": 1,
  "remaining_locked": 1,
  "status": "string",
  "result_file": {},
  "duration_ms": 1,
  "attempt_number": 1,
  "can_retry": true,
  "can_regenerate": true,
  "created_at": "string",
  "updated_at": "string",
  "failure_reason": "string"
}

Order

object
iderforderlich

Order UUID. Use it in /orders/{order}/… paths and when calling POST /orders/{order}/retry.

string
user_iderforderlich

ID of the order owner. For orders created with an API key this is always the key owner — a key never sees someone else’s order.

integer
nameerforderlich

Order name: the downloaded file name and the ZIP archive name are derived from it.

string
templateoptional

The template the order was created from. Present only for orders that have a template_id; template-less orders (sfx/music created by task_type) omit it. Its config holds the settings THIS order runs with: the template configuration at the moment the order was created, with config_override applied on top; editing the template later does not change it. In the GET /orders list config is null — the full configuration comes from GET /orders/{order}. The template may have been deleted since: it is still shown here, but GET /templates/{template} returns 404 and a new order with that template_id returns 422. Orders created before this API version (late September 2026) have no snapshot: their config is the current template configuration with config_override applied, and editing the template changes it.

TemplateTemplate
iderforderlich

Template UUID. Put it into template_id when creating an order.

string
user_iderforderlich

ID of the template owner.

integer
slugerforderlich

Short public identifier used for sharing. null on a template that was never shared.

string
nameerforderlich

Template name — for humans only; it does not affect generation.

string
service_keyerforderlich

Code of the service whose schema validates config: elevenlabs, lumimg, and so on.

string
serviceerforderlich

The template’s service for reference: name and pricing, without configuration schemas. null means no service with that code exists any more.

darf null sein
Service | null
configerforderlich

Generation settings: voice, model, speed and so on — the set of keys is defined by the service. Look up allowed values in GET /templates/config-options?service=<code>; anything outside the schema is rejected with 422. Inside an order (template in GET /orders/{order}) this is the order’s own settings — the snapshot taken at creation with config_override applied, not the template’s current configuration (for orders created before late September 2026 — the current template configuration with config_override).

object
is_publicerforderlich

Whether the template is published in the shared catalogue.

boolean
folder_iderforderlich

UUID of the folder holding the template, or null for the root. The folder tree is visible in GET /templates/browse.

string
created_aterforderlich

When the template was created, ISO 8601.

darf null seindate-time
string
updated_aterforderlich

When the template last changed, ISO 8601.

darf null seindate-time
string
template_iderforderlich

UUID of the template used, or null when the order was created without one.

string
task_typeerforderlich

Task type — it determines what goes into task_data and what comes back in result.

Wertettsimagetxt2imgremiximage_editvoice_clonesfxmusicvoice_search
TaskTypeTaskType
statuserforderlich

Current state of the order. Terminal values are completed, failed, cancelled and compensated — there is nothing to poll for after those.

partially_completed means some chunks succeeded and some failed: the finished files are already downloadable, and the failed fragments can be requeued via POST /orders/{order}/items/retry-failed.

Wertecreatedpendingin_progresscompletedresult_deliveredfailedcompensatedcancelledpartially_completed
OrderStatusOrderStatus
price_unitserforderlich

The amount locked for the order, in LMC minor units. Do not display this number as-is: the real value is price_units / 10^precision, where precision comes from the asset alongside. A display-ready value sits in the neighbouring decimal field.

integer
price_formattederforderlich

The same amount as price_units, expressed in whole LMC and ready to display. null until the cost is settled.

darf null sein
number
currency_asseterforderlich

The amount's asset is always LMC. Its precision is what converts minor units into the real value.

AssetAsset
iderforderlich

Internal identifier of the asset.

integer
codeerforderlich

Asset code: LUMC is the internal currency, TOKEN the generation tokens.

string
kinderforderlich

Kind of asset: money or consumable units. It decides whether an amount counts as a payment or as quota consumption.

Wertemoneyunit
AssetKindAssetKind
precisionerforderlich

Number of decimal places. The load-bearing field: every integer amount in this asset is divided by 10^precision to obtain the real value. Do not assume the divisor is 100.

integer
nameerforderlich

Display name of the asset, in the account language.

string
deleted_aterforderlich

When the asset was retired, ISO 8601. null while it is in use.

darf null seindate-time
string
created_aterforderlich

When the asset was created, ISO 8601.

darf null seindate-time
string
updated_aterforderlich

When the asset last changed, ISO 8601.

darf null seindate-time
string
total_tokenserforderlich

The order's full cost in tokens: the original chunks plus every retry and regeneration. This is a quota unit, not money.

darf null sein
integer
total_duration_mserforderlich

Total length of the produced audio in milliseconds. This is the result's duration, not the time spent generating it.

darf null sein
integer
task_dataerforderlich

The task input exactly as the server accepted it: text, references to uploaded files, resolved settings. The set of keys depends on task_type.

darf null sein
object
resulterforderlich

Execution result. files[] holds the primary files; service_files[] holds auxiliary ones (subtitles .srt/.vtt/.lrc, alignment) for TTS orders. Paths are absolute and ready to pass to POST /storage/url.

null while the order is unfinished, and also for a failed order: the public surface does not expose error internals.

darf null sein
object
created_aterforderlich

When the order was created, ISO 8601.

darf null seindate-time
string
updated_aterforderlich

When the order last changed, ISO 8601. It advances on every status transition, which makes it a cheap “something happened” signal.

darf null seindate-time
string
files_expire_aterforderlich

Retention of the order's files. files_expire_at is the deletion moment (null when the order has not finished yet, or the files are already gone); files_expired means nothing is left to download.

darf null sein
string
files_expirederforderlich

true means retention has elapsed and the files are already deleted: no link can be issued, and the order has to be created again.

boolean
retentionerforderlich

Retention deadlines by file level. For a stitched order the per-fragment tracks are removed earlier than the result itself.

object
chunkserforderlich

Lifetime of the per-fragment tracks — pause editing, re-stitching and per-fragment regeneration all operate on them.

object
expires_aterforderlich

When the per-fragment tracks disappear, ISO 8601. Until then pause editing, re-stitching and per-fragment regeneration remain available. null means the order has not finished yet (the countdown has not started) or the fragments are already gone.

string
expirederforderlich

true means the per-fragment tracks are gone: editing and re-stitching are rejected. The finished result may still be available — check retention.files.

boolean
expires_earlyerforderlich

true means the fragments will disappear before the result (the order is stitched into a separate file). false means the fragments are the result, and both levels expire together.

boolean
reasonerforderlich

Why the fragments are unavailable: chunks_purged — removed on their own schedule while the result is still there; storage_expired — every file of the order is gone. null means the fragments are available.

darf null sein
Wertechunks_purgedstorage_expired
string
fileserforderlich

Lifetime of every file of the order, including the result. Mirrors the top-level files_expire_at / files_expired fields.

object
expires_aterforderlich

When every file of the order will be deleted, ISO 8601. The same value as files_expire_at — the top-level field is kept for compatibility.

darf null sein
string
expirederforderlich

Same as files_expired: nothing is left to download.

boolean
eta_secondserforderlich

Estimated time remaining, in seconds — present only while the order is running. null once it is finished, and before it starts.

darf null sein
integer
eta_aterforderlich

Expected completion moment, ISO 8601 — the same forecast as eta_seconds, expressed as an absolute time.

darf null seindate-time
string
completed_chunkserforderlich

How many source chunks are already finished. Retries and regenerations are excluded — counting them would push progress past 100%.

darf null sein
integer
total_chunkserforderlich

How many source chunks the order has in total. Zero means the split has not happened yet.

darf null sein
integer
progress_percenterforderlich

Completion percentage, 0–100 — derived from completed_chunks and total_chunks, so there is no need to compute it yourself.

darf null sein
integer
stitchingerforderlich

true means the audio is being stitched and the result is not final yet. This also happens with status = completed: after a fragment is regenerated the final track is rebuilt, and until stitching ends result points to the previous track. Download the result once stitching = false.

boolean
paragraphserforderlich

Per-paragraph summary: index, fragment count, aggregate status and progress. null means the order uses ordinary mode — use items[] instead. To get paragraphs, create the order with config_override.generation_mode = paragraph (see that field for details).

darf null sein
array<object>
Array-Element
paragraph_indexerforderlich

Zero-based index of the paragraph.

integer
chunks_counterforderlich

How many chunks the paragraph was split into.

integer | number
completed_chunkserforderlich

How many of the paragraph’s chunks are already finished.

string | integer
statuserforderlich

Aggregate status of the paragraph: derived from its chunks’ statuses rather than stored separately. It uses its own, shorter vocabulary: pending, in_progress, failed, completed — a chunk blocked by moderation also reads as failed. Only the original chunks count, so a successful retry of a failed fragment does NOT change the paragraph status: check the fragment itself in items[].

string
progress_percenterforderlich

Paragraph completion percentage, 0–100.

integer
result_fileerforderlich

The whole paragraph stitched into one audio file: an absolute path, or a structure carrying path and size. Download it via POST /storage/url, same as the other order files. null means two different things depending on chunks_count: with chunks_count = 1 the paragraph has no file of its own and never will — the paragraph is that single fragment, so take its result_file from items[] under the same paragraph_index; with chunks_count > 1 the stitch has not happened yet — a multi-chunk paragraph gets its file ONLY after stitching, never in advance.

darf null sein
string
itemsoptional

The order’s chunks. Present in the detailed GET /orders/{order} response; the list endpoint GET /orders omits the field — use GET /orders/{order}/items instead.

array<OrderItem>OrderItem
Array-Element
iderforderlich

Chunk UUID. Use it in /orders/{order}/items/{item}/… paths.

string
order_iderforderlich

UUID of the order this chunk belongs to.

string
item_typeerforderlich

What the record is: chunk is an original fragment, retry a free re-run of a failed one, regeneration a paid redo of a finished one.

Retries and regenerations are separate records sharing the same chunk_index: the full attempt history is kept, and the last one is what the result plays.

string
chunk_indexerforderlich

Zero-based position of the fragment within the order. It defines the order in which the final file is assembled.

darf null sein
integer
paragraph_indexerforderlich

The paragraph this fragment belongs to — filled in only for the original fragments of a paragraph-mode order. It is null both in ordinary mode and on retry or regeneration records: those carry no paragraph link of their own and inherit it from the parent fragment via parent_item_id. The mode is switched on by the generation_mode key in the order's config_override.

string
parent_item_iderforderlich

UUID of the source chunk — present on retry and regeneration records. null on an original chunk.

string
original_text_lengtherforderlich

Length of the text the fragment was created with. It is the ceiling for text in regenerate.

integer
current_text_lengtherforderlich

Length of the fragment’s current text: after a regeneration it differs from original_text_length.

integer
price_unitserforderlich

Cost of the fragment in tokens — not money. The monetary amount lives on the order itself, in its own price_units field (LMC there, tokens here; the names match, the units do not).

integer
consumed_unitserforderlich

How many tokens were actually charged for this fragment. Zero while the fragment is unfinished.

integer
remaining_lockederforderlich

How many tokens are still reserved for the fragment. Drops to zero once the fragment finishes or is cancelled.

integer
statuserforderlich

Fragment state: pending waits for a worker, processing is in flight, completed is done, failed hit a technical error, and policy_flagged was rejected by the content policy.

The difference between the last two dictates the fix: failed is cured by retrying as is, whereas policy_flagged requires rewording — retrying the same text is rejected again.

string
result_fileerforderlich

The finished fragment’s file: an absolute path, or a structure carrying path and size. Download it via POST /storage/url, same as order files. null until the fragment is ready.

darf null sein
object | string | null
duration_mserforderlich

Duration of the produced audio in milliseconds — the length of the recording, not the generation time. null for non-audio tasks.

darf null sein
integer
attempt_numbererforderlich

Attempt number for this fragment, starting at 1. It grows with every retry.

integer
can_retryerforderlich

Whether a free retry is allowed right now. It already accounts for status, task type and exhausted attempts, so you need not re-check the conditions.

boolean
can_regenerateerforderlich

Whether a paid regeneration is allowed right now. Available for finished fragments only.

boolean
created_aterforderlich

When the fragment was created, ISO 8601.

darf null seindate-time
string
updated_aterforderlich

When the fragment last changed, ISO 8601.

darf null seindate-time
string
failure_reasonoptional

Machine-readable failure reason — present only on failed and policy_flagged. Everything else gets null.

darf null sein
string
tokens_from_quotaoptional

How many of the spent tokens were covered by the subscription quota. null means the quota covered nothing.

darf null sein
integer
tokens_from_paygoptional

How many tokens were paid for out of the LMC balance, beyond the quota. null means there was no top-up.

darf null sein
integer
tokens_spentoptional

The sum of the two fields above: how many tokens were charged for the order (quota + top-up). Orders covered by an unlimited subscription and free versions are excluded — an unlimited order has null here; the generated volume is total_tokens. Retries are excluded — they are not billed again.

darf null sein
integer
queue_positionoptional

Position in the queue — only for voice-search tasks (voice_search), which are processed one at a time. Other task types omit the field.

darf null sein
integer
queue_wait_secondsoptional

Estimated wait in the voice-search queue, in seconds. An estimate, not a promise — recomputed on every response.

darf null sein
integer
Beispiel anzeigen
{
  "id": "string",
  "user_id": 1,
  "name": "string",
  "template": {
    "id": "string",
    "user_id": 1,
    "slug": "string",
    "name": "string",
    "service_key": "string",
    "service": {
      "id": 1,
      "code": "string",
      "name": "string",
      "display_name": "string",
      "label": [
        "string"
      ],
      "payg_access": "string",
      "billing_mode": "subscription",
      "unit_asset_id": 1,
      "unit_asset": {
        "id": 1,
        "code": "string",
        "kind": "money",
        "precision": 1,
        "name": "string",
        "deleted_at": "string",
        "created_at": "string",
        "updated_at": "string"
      },
      "required_entitlement_id": 1,
      "required_entitlement": {
        "id": 1,
        "code": "string",
        "name": "string",
        "metadata": {},
        "is_active": true,
        "created_at": "string",
        "updated_at": "string",
        "is_unlimited": true
      },
      "units_per_call": 1,
      "units_per_char": 1,
      "units_per_image": 1,
      "units_per_second": 1,
      "min_billable_chars": 1,
      "lumcoin_per_token": 1,
      "lumc_precision": 1,
      "price_lumc_minor": 1,
      "unit_size": 1,
      "uses_money_first_pricing": true,
      "rate_unit": "string",
      "display_category": "string",
      "is_premium": true,
      "display_order": 1,
      "metadata": {},
      "is_active": true,
      "maintenance_mode": true,
      "access_level": "string",
      "maintenance_auto_resume": true,
      "maintenance_started_at": "string",
      "maintenance_note": "string",
      "created_at": "string",
      "updated_at": "string"
    },
    "config": {},
    "is_public": true,
    "folder_id": "string",
    "created_at": "string",
    "updated_at": "string"
  },
  "template_id": "string",
  "task_type": "tts",
  "status": "created",
  "price_units": 1,
  "price_formatted": 1,
  "currency_asset": {
    "id": 1,
    "code": "string",
    "kind": "money",
    "precision": 1,
    "name": "string",
    "deleted_at": "string",
    "created_at": "string",
    "updated_at": "string"
  },
  "total_tokens": 1,
  "total_duration_ms": 1,
  "task_data": {},
  "result": {},
  "created_at": "string",
  "updated_at": "string",
  "files_expire_at": "string",
  "files_expired": true,
  "retention": {
    "chunks": {
      "expires_at": "string",
      "expired": true,
      "expires_early": true,
      "reason": "chunks_purged"
    },
    "files": {
      "expires_at": "string",
      "expired": true
    }
  },
  "eta_seconds": 1,
  "eta_at": "string",
  "completed_chunks": 1,
  "total_chunks": 1,
  "progress_percent": 1,
  "stitching": true,
  "paragraphs": [
    {
      "paragraph_index": 1,
      "chunks_count": 1,
      "completed_chunks": "string",
      "status": "string",
      "progress_percent": 1,
      "result_file": "string"
    }
  ],
  "items": [
    {
      "id": "string",
      "order_id": "string",
      "item_type": "string",
      "chunk_index": 1,
      "paragraph_index": "string",
      "parent_item_id": "string",
      "original_text_length": 1,
      "current_text_length": 1,
      "price_units": 1,
      "consumed_units": 1,
      "remaining_locked": 1,
      "status": "string",
      "result_file": {},
      "duration_ms": 1,
      "attempt_number": 1,
      "can_retry": true,
      "can_regenerate": true,
      "created_at": "string",
      "updated_at": "string",
      "failure_reason": "string"
    }
  ],
  "tokens_from_quota": 1,
  "tokens_from_payg": 1,
  "tokens_spent": 1,
  "queue_position": 1,
  "queue_wait_seconds": 1
}

OrderStatus

string
  • created
  • pending
  • in_progress
  • completed
  • result_delivered
  • failed
  • compensated
  • cancelled
  • partially_completed
Beispiel anzeigen
"created"

PreviewChunksRequest

object

Chunk-preview parameters — a dry-run of the text-to-chunks split and its cost, without creating an order. Free of charge, does not spend the key's token quota.

template_iderforderlich
uuid
string
task_typeoptional
darf null sein
string
input_texterforderlich
string
previous_preview_idoptional

The preview_id of a prior preview response, for incremental re-preview: only the edited neighborhood is recomputed. Works for sync texts (≤50,000 characters); for larger ones the edit still goes through a full async recalculation. If it has expired, just omit it — you get a full recalculation instead.

darf null sein
string
text_hashoptional

Not required for POST — the server computes the hash itself from input_text. Send it only if you already know it for some other reason; it is otherwise ignored here (used by GET /orders/chunks/preview for the preflight lookup instead).

darf null seinMuster: ^[a-f0-9]{64}$
string
generation_modeoptional

Generation mode — the same value accepted by config_override.generation_mode when creating an order. paragraph splits the text on blank lines first, and each paragraph becomes its own generation unit (see POST /orders for the full explanation). Omitted — a continuous split, the previous behavior.

darf null sein
Wertedefaultparagraph
string
config_overrideoptional

Generation settings on top of the template config — the same JSON object you will send to POST /orders. Settings that affect the split apply to the preview exactly as to the order; keys the service does not declare are dropped. Omitted — the split follows the template config alone.

object
Beispiel anzeigen
{
  "template_id": "string",
  "task_type": "string",
  "input_text": "string",
  "previous_preview_id": "string",
  "text_hash": "string",
  "generation_mode": "default",
  "config_override": {}
}

Keine Operation der Referenz verweist direkt auf dieses Schema — es tritt innerhalb anderer Objekte auf.

PublicVoiceList

object
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
Beispiel anzeigen
{
  "items": [
    {
      "id": "string",
      "display_name": "string",
      "description": "string",
      "gender": "string",
      "accent": "string",
      "default_language_code": "string",
      "voice_status": "string",
      "publication_status": "string",
      "allow_usage_in_orders": true,
      "preview_generated_at": "string",
      "created_at": "string",
      "updated_at": "string",
      "tags": [
        {
          "id": 1,
          "code": "string",
          "name": "string",
          "description": "string",
          "color": "string",
          "sort_order": 1
        }
      ],
      "languages": [
        {
          "id": 1,
          "language_code": "string",
          "status": "string",
          "reference_duration_ms": 1,
          "model_version": 1,
          "failure_reason": "string",
          "clone_started_at": "string",
          "clone_completed_at": "string",
          "updated_at": "string"
        }
      ],
      "preview_urls": {}
    }
  ],
  "current_page": 1,
  "last_page": 1,
  "per_page": 1,
  "total": 1
}

Verwendet in 1 Operationen

RegenerateOrderItemRequest

object

Parameters for regenerating a completed order fragment.

texterforderlich

New text for a completed chunk — required. Regenerating an already finished fragment is billed as a new generation (the key's token quota is checked first, 429 on excess).

≤ 50000 Zeichen
string
Beispiel Новая редакция фрагмента.
Beispiel anzeigen
{
  "text": "Новая редакция фрагмента."
}

Keine Operation der Referenz verweist direkt auf dieses Schema — es tritt innerhalb anderer Objekte auf.

ResellerProfile

object
iderforderlich

Reseller ID.

string
statuserforderlich
string
discount_bpserforderlich

The reseller’s personal discount on issued codes, in basis points: 100 = 1%. It sets the price of a code: cost = nominal × (1 − discount_bps / 10000).

string
blocked_reasonerforderlich

Why the account is blocked. null while it is not blocked.

string
approved_aterforderlich

When the reseller application was approved.

string
limitsoptional

Limits — personal when an administrator set them, otherwise the shared defaults: max_topup_rub is the ceiling of a single top-up in roubles, max_codes_per_issue is how many codes one POST /reseller/codes request may issue.

string
balanceoptional

The account balance. Every amount comes as a pair: in minor LMC units (available, held, debt, …; real = value / 10^currency_asset.precision) and <name>_formatted, the same amount in whole LMC. available is what sits on the account, held is frozen, debt is owed to the platform (the next top-up repays it), spendable is what can actually be spent on issuing (available minus the debt).

object
*optional
beliebige Schlüssel
integer | number
currency_asseterforderlich

The currency of the amounts in the response — LMC. Use precision to convert amounts in minor units into whole LMC.

object
codeerforderlich

Code of the asset the amounts are expressed in.

WerteLUMC
string
precisionerforderlich

How many decimals LMC has: real = value / 10^precision.

integer
Beispiel anzeigen
{
  "id": "string",
  "status": "string",
  "discount_bps": "string",
  "blocked_reason": "string",
  "approved_at": "string",
  "limits": "string",
  "balance": {},
  "currency_asset": {
    "code": "LUMC",
    "precision": 1
  }
}

Verwendet in 1 Operationen

RetryOrderItemRequest

object

Parameters for retrying a failed order fragment.

textoptional

Corrected chunk text. If omitted, the chunk is retried with its previous text.

For a policy_flagged chunk (content rejected by the provider) the same text will be rejected again — send a rephrased one. The current text is available at GET /orders/{order}/items/{item}/text.

darf null sein≤ 50000 Zeichen
string
Beispiel Переформулированный фрагмент текста.
Beispiel anzeigen
{
  "text": "Переформулированный фрагмент текста."
}

Keine Operation der Referenz verweist direkt auf dieses Schema — es tritt innerhalb anderer Objekte auf.

RetryOrderRequest

object

Billing confirmation for the repeat order. An empty body is the normal path; these fields only matter after a 402 response in the fallback mode with explicit confirmation.

confirm_payg_topupoptional

Consent to a pay-as-you-go top-up for the new order — only in the fallback mode with explicit confirmation (otherwise ignored). Same semantics as POST /orders: valid only together with a fresh quote_token from a 402 response.

darf null seinStandard false
boolean
quote_tokenoptional

The top-up quote from this request's 402 response (fallback mode only). Lives about 60 seconds.

darf null sein
string
Beispiel anzeigen
{
  "confirm_payg_topup": false,
  "quote_token": "string"
}

Keine Operation der Referenz verweist direkt auf dieses Schema — es tritt innerhalb anderer Objekte auf.

Service

object
iderforderlich

Internal numeric identifier of the service. Use code in requests, not this.

integer
codeerforderlich

Service code — the value that goes into a template’s service_key and into the GET /usage/{service} path.

string
nameerforderlich

Internal service name.

string
display_nameerforderlich

Service name for display, translated into the account language.

string
labeloptional
darf null sein
null | array<any> | string | object
payg_accesserforderlich

Whether pay-as-you-go top-up beyond the subscription quota is allowed for this service.

string
billing_modeerforderlich

How the service is billed: per call, per character, per second or per image. It determines which of the units_per_* fields is in effect.

Wertesubscriptionpay_as_you_go
BillingModeBillingMode
unit_asset_iderforderlich

ID of the asset the service units are denominated in. The asset itself is in unit_asset.

darf null sein
integer
unit_assetoptional

The service’s unit asset; its precision is what converts the integer units_* values into decimals.

AssetAsset
iderforderlich

Internal identifier of the asset.

integer
codeerforderlich

Asset code: LUMC is the internal currency, TOKEN the generation tokens.

string
kinderforderlich

Kind of asset: money or consumable units. It decides whether an amount counts as a payment or as quota consumption.

Wertemoneyunit
AssetKindAssetKind
precisionerforderlich

Number of decimal places. The load-bearing field: every integer amount in this asset is divided by 10^precision to obtain the real value. Do not assume the divisor is 100.

integer
nameerforderlich

Display name of the asset, in the account language.

string
deleted_aterforderlich

When the asset was retired, ISO 8601. null while it is in use.

darf null seindate-time
string
created_aterforderlich

When the asset was created, ISO 8601.

darf null seindate-time
string
updated_aterforderlich

When the asset last changed, ISO 8601.

darf null seindate-time
string
required_entitlement_iderforderlich

ID of the entitlement required to use the service. null means the service is open to everyone.

darf null sein
integer
required_entitlementoptional

The subscription entitlement that unlocks the service. Whether you have it is visible in GET /usage.

EntitlementEntitlement
iderforderlich

Internal identifier of the entitlement.

integer
codeerforderlich

Entitlement code — a service checks it to decide whether you have access.

string
nameerforderlich

Display name of the entitlement, in the account language.

string
metadataerforderlich

Extra attributes of the entitlement. The key set is free-form.

darf null sein
object
is_activeerforderlich

Whether the entitlement is active.

boolean
created_aterforderlich

When the entitlement was created, ISO 8601.

darf null seindate-time
string
updated_aterforderlich

When the entitlement last changed, ISO 8601.

darf null seindate-time
string
is_unlimitedoptional

Whether this capability is unlimited under the plan. Present only when the entitlement is returned in a plan context.

boolean
units_per_callerforderlich

A value in the asset's minor units: the real one is value / 10^precision, with precision carried by unit_asset.

darf null sein
integer
units_per_charerforderlich

How many units one character costs — used under per-character billing. The value is in the asset’s minor units.

darf null sein
integer
units_per_imageerforderlich

How many units one image costs. The value is in the asset’s minor units.

darf null sein
integer
units_per_seconderforderlich

How many units one second of output costs. The value is in the asset’s minor units.

darf null sein
integer
min_billable_charserforderlich

The minimum number of characters billed even when the text is shorter. It guards against negligible orders.

darf null sein
integer
lumcoin_per_tokenerforderlich

Price of a single token when topping up from LMC, in minor units. The top-up cost is tokens × lumcoin_per_token.

darf null sein
integer
lumc_precisionerforderlich

Number of LMC decimal places — the 10^precision divisor for every amount given in minor units.

integer
price_lumc_minorerforderlich

Price in LMC minor units per unit_size natural units of the service. null means the service is priced through tokens instead.

darf null sein
integer
unit_sizeerforderlich

How many natural service units price_lumc_minor is quoted for — for example, per 1000 characters.

integer
uses_money_first_pricingerforderlich

true means the price is set directly in LMC (price_lumc_minor) rather than derived from tokens. It affects how the figure is computed, not what you pay.

boolean
rate_uniterforderlich

Natural billing unit for display: characters, seconds or images.

darf null sein
string
display_categoryerforderlich

Catalogue section the service is filed under in the interface.

darf null sein
string
is_premiumerforderlich

Whether the service is flagged as premium. A storefront hint; access itself is governed by required_entitlement.

boolean
display_ordererforderlich

Sort weight in the catalogue: lower comes first.

integer
metadataerforderlich

Extra service attributes. The key set is free-form and may change — do not depend on any particular one.

darf null sein
object
is_activeerforderlich

Whether the service is listed in the catalogue. Order intake is stopped by maintenance_mode, not by this flag.

boolean
maintenance_modeerforderlich

The service is under maintenance: creating an order, retrying and regenerating return 503. Orders already accepted keep processing.

boolean
access_leveloptional
string
maintenance_auto_resumeoptional
boolean
maintenance_started_atoptional
string
maintenance_noteoptional
string
created_aterforderlich

When the service was created, ISO 8601.

darf null seindate-time
string
updated_aterforderlich

When the service settings last changed, ISO 8601.

darf null seindate-time
string
Beispiel anzeigen
{
  "id": 1,
  "code": "string",
  "name": "string",
  "display_name": "string",
  "label": [
    "string"
  ],
  "payg_access": "string",
  "billing_mode": "subscription",
  "unit_asset_id": 1,
  "unit_asset": {
    "id": 1,
    "code": "string",
    "kind": "money",
    "precision": 1,
    "name": "string",
    "deleted_at": "string",
    "created_at": "string",
    "updated_at": "string"
  },
  "required_entitlement_id": 1,
  "required_entitlement": {
    "id": 1,
    "code": "string",
    "name": "string",
    "metadata": {},
    "is_active": true,
    "created_at": "string",
    "updated_at": "string",
    "is_unlimited": true
  },
  "units_per_call": 1,
  "units_per_char": 1,
  "units_per_image": 1,
  "units_per_second": 1,
  "min_billable_chars": 1,
  "lumcoin_per_token": 1,
  "lumc_precision": 1,
  "price_lumc_minor": 1,
  "unit_size": 1,
  "uses_money_first_pricing": true,
  "rate_unit": "string",
  "display_category": "string",
  "is_premium": true,
  "display_order": 1,
  "metadata": {},
  "is_active": true,
  "maintenance_mode": true,
  "access_level": "string",
  "maintenance_auto_resume": true,
  "maintenance_started_at": "string",
  "maintenance_note": "string",
  "created_at": "string",
  "updated_at": "string"
}

Keine Operation der Referenz verweist direkt auf dieses Schema — es tritt innerhalb anderer Objekte auf.

StoreOrderRequest

object

Order creation parameters. Accepted both as application/json and as multipart/form-data (the latter when input_files are involved).

template_idoptional

Template UUID — it determines the service, the task type and every generation setting. Either template_id or task_type is required; if both are sent, the template wins.

Templates are the usual way to work: settings are defined once, and the order only carries the text. To deviate from them just once, use config_override.

darf null seinuuid
string
Beispiel 4d3e9f8b-2c1a-4f5a-8b9c-0d1e2f3a4b5c
task_typeoptional

Task type for generation without a template. Required when template_id is not sent.

ValueWhat it doesWhere the parameters go
sfxA sound effect from a text descriptiontask_data
musicA music track from a descriptiontask_data
voice_searchFinding voices similar to your audio clipinput_files (audio) + task_data.top

tts requires a template — that is where the voice and model live.

darf null sein
Wertettsimagetxt2imgremiximage_editvoice_clonesfxmusicvoice_search
string
Beispiel sfx
nameoptional

Human-readable order name: it becomes the name of the downloaded file and of the ZIP archive.

If omitted, the server derives one, in this order: the uploaded file's name without its extension → the first ~60 characters of the text on a word boundary (pause tags {{pause=…}} are stripped).

darf null sein≤ 120 Zeichen
string
Beispiel Приветствие для лендинга
task_dataoptional

Generation parameters for a template-less order — a one-off "temporary template". A JSON object; multipart clients may send it as a single JSON string.

Put the keys at the root of the object, with no wrapper. GET /templates/config-options shows the same parameters grouped into a section (sfx_settings, music_settings) — that is the shape of a settings UI, not the shape of a request. Sending {"sfx_settings": {"text": "…"}} returns 422 "text is required": the wrapper hid the key.

SFX (task_type: "sfx") — one generation yields exactly one file:

KeyTypeDefaultPurpose
textstring, required—Description of the sound; English prompts work best
prompt_influencenumber 0..10.3How strictly to follow the prompt
duration_secondsnumber 0.5..30nullnull = automatic length
loopbooleanfalseSeamless looping
output_formatmp3_44100_128 | mp3_44100_192 | opus_48000_128mp3_44100_128Output format

Music (task_type: "music") — n_variants generations yield that many files:

KeyTypeDefaultPurpose
promptstring, required—Description of the track: genre, mood, instruments
n_variantsinteger 1..41How many variants to generate. Multiplies the price and yields the same number of files in result.files[]
lyrics_textstringnullSong lyrics; if empty and force_instrumental is off, the model may add vocals on its own
force_instrumentalbooleanfalseInstrumental only, no vocals
music_length_msinteger 10000..3000030000Track length in milliseconds: 10–30 s at most, above 30000 → 422
model_idmusic_v2music_v2Currently the only value

Voice Search (task_type: "voice_search") — the audio clip travels in input_files; only one parameter lives here:

KeyTypeDefaultPurpose
topinteger 1..5010How many similar voices to return

What drives the price

What counts is the number of generations, not their size:

TypePriceDoes NOT affect the price
sfxOne service rate per orderduration_seconds, the length of text
musicRate × n_variantsmusic_length_ms, the length of prompt, lyrics_text
voice_searchOne rate per orderClip duration, top

A five-minute track costs exactly what a ten-second one costs — you pay per call to the model. What was actually charged comes back in the order's price_units.

The server merges the service's default_config underneath your values (yours win) — switch that off with skip_service_defaults. A value outside its range or enum returns 422 before billing: no order is created and no funds are reserved.

object
Beispiel {"text":"Тяжёлая деревянная дверь скрипит и захлопывается","duration_seconds":4}
config_overrideoptional

A one-off deviation from the template's settings — the only way to change parameters for a single order without creating a new template. The shape is the same JSON object as the template's config, applied on top of it for this order only.

For example, to narrate one order with a different voice: {"tts_settings": {"voice_id": "<OTHER_VOICE_ID>"}} — the rest of the template survives.

Paths absent from the service schema are silently dropped (a typo in a key looks like "the setting did not apply"); the remaining values are validated against the schema — out of range or enum returns 422. Works only together with template_id: template-less sfx/music already keep everything in task_data.

Send only the keys you are changing. An explicit null does not mean "keep the template value" — it means "erase it": it overwrites the template's value with an empty one for this order. A client that serialises its whole settings form and puts null into the untouched fields will silently reset half the template that way. An absent key is the only way to say "leave this alone".

Paragraph narration mode

By default the text is cut into fragments back to back, by technical size, and paragraph boundaries play no part. Paragraph mode changes the order of operations: the text is first split on blank lines into paragraphs, and each paragraph is then cut within itself.

The key sits next to tts_settings, not inside it — at the root of config_override:

{"generation_mode": "paragraph"}
ValueWhat it does
paragraphA paragraph becomes a unit of generation in its own right
defaultContinuous cutting by fragment size (same as omitting the key)

Supported by elevenlabs and heygen; other services ignore the key — there is no rejection, the mode simply does not engage.

What changes in the response: the order gains paragraphs[] (per paragraph: its index, fragment count, aggregate status and progress), and fragments gain paragraph_index.

This affects the price. The minimum billable volume applies to EVERY paragraph separately rather than to the order as a whole: five short paragraphs cost five minimums, whereas the same text in the default mode would cost one.

It affects speed too. A paragraph is a task of its own, and no more than 10 single-fragment paragraphs plus 5 multi-fragment ones run at a time per order; the rest wait for a slot. A text of a hundred short paragraphs therefore proceeds in waves — but the first results arrive sooner than with continuous cutting.

A template's config accepts the same key, which makes the mode permanent for every order built from that template. GET /templates/config-options does not list it: that directory describes the service's settings, while the mode is chosen per order.

object
Beispiel {"tts_settings":{"voice_id":"EXAVITQu4vr4xnSDxMaL"}}
skip_service_defaultsoptional

Do not merge the service's default_config into task_data. Send true when you already have the complete parameter set and the worker should receive exactly that — the server will not add a single default key.

The flag is stored on the order: POST /orders/{order}/retry reproduces the same behaviour. It has no effect on template-based orders — those take their config from template.config plus config_override, not from the service defaults.

darf null seinStandard false
boolean
input_textoptional

The task text. For tts this is what gets narrated; the server splits it into chunks by itself.

There are three channels for text and they are equal — every check (pause limits, "nothing to narrate") applies to each of them:

ChannelWhen to use it
input_textThe usual way: the text right in the request
A .txt in input_files[]Long text as a file; its contents become the task text
task_data.textTemplate-less orders only

What happens to the text before it is cut, and how markup inside it affects the price, is covered in the “Markup inside the text” and “How the text is cut” sections of this method's description.

For template-less sfx/music this field is unused — put the description into task_data.text (SFX) or task_data.prompt (Music).

darf null sein
string
Beispiel Здравствуйте! Рады видеть вас в Lumean.
confirm_payg_topupoptional

Consent to top up from the LMC balance when the subscription quota does not cover the whole order. Normally not needed: the top-up is charged automatically, and the field is ignored. It only matters in the fallback mode with explicit confirmation, which the platform operator may enable — the rules below describe that mode.

The spending order never changes: subscription quota first, LMC only for the remainder. If the quota covers the order, this flag changes nothing and the balance is not touched at all.

The flag alone charges nothing. Consent is only valid together with a fresh quote_token from a 402 response, bound to you, the service and the exact task volume. Sent without a token (or with an expired or foreign one), confirm_payg_topup: true simply returns 402 again — nothing is charged.

The working cycle: send the order → 402 with shortfall_tokens, shortfall_lmc, quote_token, expires_at → show the amount to your user → repeat the same request with confirm_payg_topup: true and that quote_token. The token lives about 60 seconds.

Consent is an upper bound: if the top-up turns out cheaper at charge time, the actual amount is taken; if it got more expensive (a concurrent order ate the quota), you get 409 quote_mismatch — request a new 402.

darf null seinStandard false
boolean
quote_tokenoptional

The signed top-up quote from a 402 response — pass the string as-is, together with confirm_payg_topup: true.

The token is bound to the user, the service and the task volume, and lives about 60 seconds. An expired, altered or foreign token does not apply: the request returns 402 with a new quote.

darf null sein
string
input_filesoptional

Input files — multipart/form-data only, up to 20 MB per file. A single file may be sent in the input_file field instead.

Task typeFile
tts (narration)A .txt — a full replacement for input_text: its contents become the text to narrate
voice_searchAn audio clip, required. The type is checked by content rather than extension; a foreign format (image, archive) gives 422 before any charge. Longer than 60 seconds is truncated, and the response says so
sfx, musicUnused — the whole description lives in task_data
darf null sein
array<file>
Beispiel anzeigen
{
  "template_id": "4d3e9f8b-2c1a-4f5a-8b9c-0d1e2f3a4b5c",
  "task_type": "sfx",
  "name": "Приветствие для лендинга",
  "task_data": {
    "text": "Тяжёлая деревянная дверь скрипит и захлопывается",
    "duration_seconds": 4
  },
  "config_override": {
    "tts_settings": {
      "voice_id": "EXAVITQu4vr4xnSDxMaL"
    }
  },
  "skip_service_defaults": false,
  "input_text": "Здравствуйте! Рады видеть вас в Lumean.",
  "confirm_payg_topup": false,
  "quote_token": "string",
  "input_files": [
    "<binary>"
  ]
}

Keine Operation der Referenz verweist direkt auf dieses Schema — es tritt innerhalb anderer Objekte auf.

StoreTemplateRequest

object

A new generation template. config is validated against the service schema — take the structure for your service_key from GET /templates/config-options.

folder_idoptional

UUID of one of your folders. Omitted — the template is created at the root.

darf null seinuuid
string
service_keyerforderlich

Code of the service the template is built for: a short latin string — elevenlabs, heygen, lumimg, sfx, music. The codes available to you are listed by GET /usage in its service_code field; this choice determines what config will accept.

string
Beispiel elevenlabs
nameerforderlich

Template name, up to 255 characters. Shown in GET /templates and in the web interface.

≤ 255 Zeichen
string
Beispiel Диктор — женский, спокойный
is_publicoptional

Publish the template in the shared catalogue. Defaults to false — visible only to you.

Standard false
boolean
configerforderlich

Generation settings. The structure depends on service_key; the accepted keys, ranges and value lists come from GET /templates/config-options?service=<code> — take them from there instead of guessing.

A minimal valid config for elevenlabs: {"tts_settings": {"mode": "mode_v1", "model_id": "eleven_multilingual_v2", "voice_id": "<VOICE_ID>", "advanced_voice_settings": true, "voice_settings": {"stability": 0.5, "similarity_boost": 0.75, "use_speaker_boost": true, "speed": 1.0}}}

Fine voice settings need a flag

Which voice_settings reach the speech engine depends on the model and on the tts_settings.advanced_voice_settings flag (defaults to false):

ModelWithout the flagWith the flag
eleven_v3, eleven_v3_betastabilityall five
eleven_v4, eleven_v4_expstability, similarity_boostall five
othersall fiveall five

Values that do not reach the engine are stored on the template and pass validation, but do not affect the audio. There is no error: it just looks like "the setting does not work" — most often with speed on v3/v4.

voice_settings.stability carries a dependency of the same kind: on models of the eleven_v3 family its step is 0.5, so only 0, 0.5 and 1 are accepted.

Stitching prosody across chunks

Long text is split into chunks, and each one is synthesised by its own request — which is why the pitch can jump at the joins. Two optional boolean flags ask the engine to take the neighbours into account: tts_settings.prev_next_text sends the neighbouring chunk text, tts_settings.request_ids sends the ids of the neighbouring generations. Both default to false. They only affect how the joins sound; pricing and chunking are unchanged.

Only ONE of them may be enabled. Sending both is a 422: given both the text and the ids, the engine uses the ids only and ignores the text, so "both on" would be a silently disabled prev_next_text.

Text normalization

tts_settings.apply_text_normalization has three modes: auto (the engine decides on its own whether to normalize, for example spelling out numbers), on (always normalize), off (skip it). Defaults to auto.

object
Beispiel anzeigen
{
  "folder_id": "string",
  "service_key": "elevenlabs",
  "name": "Диктор — женский, спокойный",
  "is_public": false,
  "config": {}
}

Keine Operation der Referenz verweist direkt auf dieses Schema — es tritt innerhalb anderer Objekte auf.

TemplateList

object
itemserforderlich

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

array<Template>Template
Array-Element
iderforderlich

Template UUID. Put it into template_id when creating an order.

string
user_iderforderlich

ID of the template owner.

integer
slugerforderlich

Short public identifier used for sharing. null on a template that was never shared.

string
nameerforderlich

Template name — for humans only; it does not affect generation.

string
service_keyerforderlich

Code of the service whose schema validates config: elevenlabs, lumimg, and so on.

string
serviceerforderlich

The template’s service for reference: name and pricing, without configuration schemas. null means no service with that code exists any more.

darf null sein
Service | null
configerforderlich

Generation settings: voice, model, speed and so on — the set of keys is defined by the service. Look up allowed values in GET /templates/config-options?service=<code>; anything outside the schema is rejected with 422. Inside an order (template in GET /orders/{order}) this is the order’s own settings — the snapshot taken at creation with config_override applied, not the template’s current configuration (for orders created before late September 2026 — the current template configuration with config_override).

object
is_publicerforderlich

Whether the template is published in the shared catalogue.

boolean
folder_iderforderlich

UUID of the folder holding the template, or null for the root. The folder tree is visible in GET /templates/browse.

string
created_aterforderlich

When the template was created, ISO 8601.

darf null seindate-time
string
updated_aterforderlich

When the template last changed, ISO 8601.

darf null seindate-time
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
Beispiel anzeigen
{
  "items": [
    {
      "id": "string",
      "user_id": 1,
      "slug": "string",
      "name": "string",
      "service_key": "string",
      "service": {
        "id": 1,
        "code": "string",
        "name": "string",
        "display_name": "string",
        "label": [
          null
        ],
        "payg_access": "string",
        "billing_mode": "subscription",
        "unit_asset_id": 1,
        "unit_asset": {
          "id": 1,
          "code": "string",
          "kind": "money",
          "precision": 1,
          "name": "string",
          "deleted_at": "string",
          "created_at": "string",
          "updated_at": "string"
        },
        "required_entitlement_id": 1,
        "required_entitlement": {
          "id": 1,
          "code": "string",
          "name": "string",
          "metadata": {},
          "is_active": true,
          "created_at": "string",
          "updated_at": "string",
          "is_unlimited": true
        },
        "units_per_call": 1,
        "units_per_char": 1,
        "units_per_image": 1,
        "units_per_second": 1,
        "min_billable_chars": 1,
        "lumcoin_per_token": 1,
        "lumc_precision": 1,
        "price_lumc_minor": 1,
        "unit_size": 1,
        "uses_money_first_pricing": true,
        "rate_unit": "string",
        "display_category": "string",
        "is_premium": true,
        "display_order": 1,
        "metadata": {},
        "is_active": true,
        "maintenance_mode": true,
        "access_level": "string",
        "maintenance_auto_resume": true,
        "maintenance_started_at": "string",
        "maintenance_note": "string",
        "created_at": "string",
        "updated_at": "string"
      },
      "config": {},
      "is_public": true,
      "folder_id": "string",
      "created_at": "string",
      "updated_at": "string"
    }
  ],
  "current_page": 1,
  "last_page": 1,
  "per_page": 1,
  "total": 1
}

Verwendet in 1 Operationen

TemplateItem

object
typeerforderlich
Wertetemplate
string
iderforderlich
string
nameerforderlich
string
slugoptional
string
service_keyoptional
string
serviceoptional
darf null sein
Service | null
configoptional
object | string
is_publicoptional
string
folder_idoptional
string
created_aterforderlich
string
updated_aterforderlich
string
templates_countoptional
string | integer
Beispiel anzeigen
{
  "type": "template",
  "id": "string",
  "name": "string",
  "slug": "string",
  "service_key": "string",
  "service": {
    "id": 1,
    "code": "string",
    "name": "string",
    "display_name": "string",
    "label": [
      "string"
    ],
    "payg_access": "string",
    "billing_mode": "subscription",
    "unit_asset_id": 1,
    "unit_asset": {
      "id": 1,
      "code": "string",
      "kind": "money",
      "precision": 1,
      "name": "string",
      "deleted_at": "string",
      "created_at": "string",
      "updated_at": "string"
    },
    "required_entitlement_id": 1,
    "required_entitlement": {
      "id": 1,
      "code": "string",
      "name": "string",
      "metadata": {},
      "is_active": true,
      "created_at": "string",
      "updated_at": "string",
      "is_unlimited": true
    },
    "units_per_call": 1,
    "units_per_char": 1,
    "units_per_image": 1,
    "units_per_second": 1,
    "min_billable_chars": 1,
    "lumcoin_per_token": 1,
    "lumc_precision": 1,
    "price_lumc_minor": 1,
    "unit_size": 1,
    "uses_money_first_pricing": true,
    "rate_unit": "string",
    "display_category": "string",
    "is_premium": true,
    "display_order": 1,
    "metadata": {},
    "is_active": true,
    "maintenance_mode": true,
    "access_level": "string",
    "maintenance_auto_resume": true,
    "maintenance_started_at": "string",
    "maintenance_note": "string",
    "created_at": "string",
    "updated_at": "string"
  },
  "config": {},
  "is_public": "string",
  "folder_id": "string",
  "created_at": "string",
  "updated_at": "string"
}

Verwendet in 1 Operationen

Template

object
iderforderlich

Template UUID. Put it into template_id when creating an order.

string
user_iderforderlich

ID of the template owner.

integer
slugerforderlich

Short public identifier used for sharing. null on a template that was never shared.

string
nameerforderlich

Template name — for humans only; it does not affect generation.

string
service_keyerforderlich

Code of the service whose schema validates config: elevenlabs, lumimg, and so on.

string
serviceerforderlich

The template’s service for reference: name and pricing, without configuration schemas. null means no service with that code exists any more.

darf null sein
Service | null
configerforderlich

Generation settings: voice, model, speed and so on — the set of keys is defined by the service. Look up allowed values in GET /templates/config-options?service=<code>; anything outside the schema is rejected with 422. Inside an order (template in GET /orders/{order}) this is the order’s own settings — the snapshot taken at creation with config_override applied, not the template’s current configuration (for orders created before late September 2026 — the current template configuration with config_override).

object
is_publicerforderlich

Whether the template is published in the shared catalogue.

boolean
folder_iderforderlich

UUID of the folder holding the template, or null for the root. The folder tree is visible in GET /templates/browse.

string
created_aterforderlich

When the template was created, ISO 8601.

darf null seindate-time
string
updated_aterforderlich

When the template last changed, ISO 8601.

darf null seindate-time
string
Beispiel anzeigen
{
  "id": "string",
  "user_id": 1,
  "slug": "string",
  "name": "string",
  "service_key": "string",
  "service": {
    "id": 1,
    "code": "string",
    "name": "string",
    "display_name": "string",
    "label": [
      "string"
    ],
    "payg_access": "string",
    "billing_mode": "subscription",
    "unit_asset_id": 1,
    "unit_asset": {
      "id": 1,
      "code": "string",
      "kind": "money",
      "precision": 1,
      "name": "string",
      "deleted_at": "string",
      "created_at": "string",
      "updated_at": "string"
    },
    "required_entitlement_id": 1,
    "required_entitlement": {
      "id": 1,
      "code": "string",
      "name": "string",
      "metadata": {},
      "is_active": true,
      "created_at": "string",
      "updated_at": "string",
      "is_unlimited": true
    },
    "units_per_call": 1,
    "units_per_char": 1,
    "units_per_image": 1,
    "units_per_second": 1,
    "min_billable_chars": 1,
    "lumcoin_per_token": 1,
    "lumc_precision": 1,
    "price_lumc_minor": 1,
    "unit_size": 1,
    "uses_money_first_pricing": true,
    "rate_unit": "string",
    "display_category": "string",
    "is_premium": true,
    "display_order": 1,
    "metadata": {},
    "is_active": true,
    "maintenance_mode": true,
    "access_level": "string",
    "maintenance_auto_resume": true,
    "maintenance_started_at": "string",
    "maintenance_note": "string",
    "created_at": "string",
    "updated_at": "string"
  },
  "config": {},
  "is_public": true,
  "folder_id": "string",
  "created_at": "string",
  "updated_at": "string"
}

UpdateTemplateRequest

object

Partial template update: send only the fields you are changing. service_key and config change together — the config is validated against the new service's schema.

folder_idoptional

UUID of the folder to move the template into. null moves it to the root.

darf null seinuuid
string
service_keyoptional

New service code. Changes only together with config — the config is validated against the new service's schema.

string
Beispiel elevenlabs
nameoptional

New template name, up to 255 characters.

≤ 255 Zeichen
string
is_publicoptional

Publish the template in the shared catalogue, or unpublish it.

boolean
configoptional

The complete new generation settings (not a partial patch). The accepted structure comes from GET /templates/config-options?service=<code>.

object
Beispiel anzeigen
{
  "folder_id": "string",
  "service_key": "elevenlabs",
  "name": "string",
  "is_public": true,
  "config": {}
}

Keine Operation der Referenz verweist direkt auf dieses Schema — es tritt innerhalb anderer Objekte auf.

UserLibraryList

object
itemserforderlich

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

array<object>
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
Beispiel anzeigen
{
  "items": [
    {}
  ],
  "current_page": 1,
  "last_page": 1,
  "per_page": 1,
  "total": 1
}

Verwendet in 1 Operationen

VoiceLanguage

object
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
Beispiel anzeigen
{
  "id": 1,
  "language_code": "string",
  "status": "string",
  "reference_duration_ms": 1,
  "model_version": 1,
  "failure_reason": "string",
  "clone_started_at": "string",
  "clone_completed_at": "string",
  "updated_at": "string"
}

VoiceTag

object
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
Beispiel anzeigen
{
  "id": 1,
  "code": "string",
  "name": "string",
  "description": "string",
  "color": "string",
  "sort_order": 1
}

AssetKind

string
  • money
  • unit
Beispiel anzeigen
"money"

BillingMode

string
  • subscription
  • pay_as_you_go
Beispiel anzeigen
"subscription"

Keine Operation der Referenz verweist direkt auf dieses Schema — es tritt innerhalb anderer Objekte auf.

TaskType

string
  • tts
  • image
  • txt2img
  • remix
  • image_edit
  • voice_clone
  • sfx
  • music
  • voice_search
Beispiel anzeigen
"tts"

Diese Seite einer KI geben

.md öffnenllm.md

Spezifikation 0.0.1