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.
PUTPATCH/templates/{template}

Update Template

Partial update: send only the fields you are changing. Both PUT and PATCH are accepted and behave identically.

Korrekturen an der Spezifikation · 1

  • config is deep-merged, not replaced wholesale

    The spec contradicts itself: the operation description says config is replaced wholesale, the request body description says it is deep-merged. The latter is correct: a key you omit keeps its previous value. Both the 200 response and the partial-update example confirm this. If you do need a full replacement, send the complete config object.

config is replaced wholesale, not merged: to change one setting, send the whole object containing it. service_key may only change together with config, otherwise the config will not validate against the new service's schema.

Editing a template does not affect orders already created: an order runs, is retried (POST /orders/{order}/retry) and is shown (template.config in GET /orders/{order}) with the settings it had at creation time. The exception is orders created before late September 2026: they have no settings snapshot, follow the template's current configuration (with config_override applied), and editing the template does affect them.

Required key permission: templates.write.

Auf dieser Seite(4)

Parameter

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

PUThttps://api.lumean.app/api/public/templates/
  • stringim Pfaderforderlichuuid

    Template UUID — 36 characters, not a number.

    Take it from the id field: POST /templates returns it on creation, and GET /templates and GET /templates/browse list it.

    Der Wert wird direkt in die Anfragezeile oben eingesetzt.

Anfragekörper

application/json

The update is partial: send only the fields you are changing, the rest are kept.

Two quirks account for most 422 responses here:

  • service_key and config travel together. Validation rejects one without the other, so even when the service stays the same you have to repeat its code.
  • config is deep-merged into the current one, not swapped for it. A key you omit keeps its previous value; resetting it to the default is not possible through an update, only by creating the template anew.
Rename only
{
  "name": "Диктор — женский, тёплый"
}

Felder

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

Mögliche Antworten

200

Success. The payload is in data.

Beispiel für den Body
{
  "success": true,
  "message": "Template updated",
  "data": {
    "id": "7e2a4c1d-8b3f-4a5e-9c6d-1f2e3a4b5c6d",
    "user_id": 501,
    "slug": null,
    "name": "Narrator Voice (EN) v2",
    "service_key": "elevenlabs",
    "config": {
      "tts_settings": {
        "model_id": "eleven_multilingual_v2",
        "voice_id": "21m00Tcm4TlvDq8ikWAM",
        "mode": "mode_v1",
        "language_code": "en",
        "advanced_voice_settings": true,
        "voice_settings": {
          "stability": 0.6,
          "similarity_boost": 0.75,
          "use_speaker_boost": true
        }
      }
    },
    "is_public": false,
    "folder_id": null,
    "created_at": "2026-06-01T10:00:00+00:00",
    "updated_at": "2026-07-17T16:45: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 after the update, with config already merged. Check it when you sent a partial configuration.

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
messageerforderlich

Error overview.

string
404

Not found, or not reachable with this key.

Diese Antwort analysieren
Beispiel für den Body
{
  "success": false,
  "message": "Resource not found."
}
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
reasonoptional

Machine-readable reason — present on business refusals (for example, invalid_order_status); other errors omit it. Branch on it, not on the message text.

string
error_codeoptional

The same machine-readable code as in reason — a second name for the field. Arrives together with reason; the values always match.

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