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.
POST/templates

Create Template

Creates a generation template. The response (201) carries the finished template — put its id into template_id when creating orders.

config is validated against the schema of the service named in service_key. Take the accepted keys, value lists and ranges from GET /templates/config-options?service=<code>; anything outside the schema is rejected with 422.

Required key permission: templates.write.

Auf dieser Seite(3)

Anfragekörper

application/jsonerforderlich

config is validated against the schema of the service named in service_key. Allowed keys, value lists and ranges come from GET /templates/config-options?service=<code>; anything outside the schema is rejected with 422.

TTS template (ElevenLabs)
{
  "service_key": "elevenlabs",
  "name": "Диктор — женский, спокойный",
  "config": {
    "tts_settings": {
      "mode": "mode_v1",
      "model_id": "eleven_multilingual_v2",
      "voice_id": "EXAVITQu4vr4xnSDxMaL",
      "language_code": "ru",
      "advanced_voice_settings": true,
      "voice_settings": {
        "stability": 0.5,
        "similarity_boost": 0.75,
        "use_speaker_boost": true,
        "speed": 1
      }
    }
  }
}

Felder

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 Диктор — женский, спокойный
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
folder_idoptional

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

darf null seinuuid
string
is_publicoptional

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

Standard false
boolean

Mögliche Antworten

201

Template created. Put its id into template_id when creating orders.

Beispiel für den Body
{
  "success": true,
  "message": "Template created",
  "data": {
    "id": "3c4d5e6f-7a8b-4c9d-8e0f-1a2b3c4d5e6f",
    "user_id": 501,
    "slug": "2f3a4b5c-6d7e-4f8a-9b0c-1d2e3f4a5b6c",
    "name": "Ad Voice (RU)",
    "service_key": "elevenlabs",
    "config": {
      "tts_settings": {
        "model_id": "eleven_multilingual_v2",
        "voice_id": "pNInz6obpgDQGcFmaJgB",
        "mode": "mode_v1",
        "language_code": "ru",
        "advanced_voice_settings": true,
        "voice_settings": {
          "stability": 0.6,
          "similarity_boost": 0.7,
          "use_speaker_boost": true
        }
      }
    },
    "is_public": false,
    "folder_id": null,
    "created_at": "2026-07-17T15:30:00+00:00",
    "updated_at": "2026-07-17T15:30:00+00:00"
  }
}
Felder der Antwort
successerforderlich

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

boolean
messageerforderlich

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

string
dataerforderlich

The template just created. Put its id into template_id when creating an order.

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
401

The key is missing, unknown, disabled or expired.

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

Always false in error responses.

boolean
messageerforderlich

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

string
dataerforderlich

Always null when the request is rejected before processing.

darf null sein
null
403

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

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

Always false in error responses.

boolean
messageerforderlich

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

string
422

Validation error. Offending fields are listed in errors.

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

Errors overview.

string
errorserforderlich

A detailed description of each field that failed validation.

object
*optional
beliebige Schlüssel
array<string>

Diese Seite einer KI geben

.md öffnenllm.md

Spezifikation 0.0.1