Beschreibungen auf Englisch
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
configis deep-merged, not replaced wholesaleThe spec contradicts itself: the operation description says
configis replaced wholesale, the request body description says it is deep-merged. The latter is correct: a key you omit keeps its previous value. Both the200response and the partial-update example confirm this. If you do need a full replacement, send the completeconfigobject.
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.
- stringim Pfaderforderlichuuid
Template UUID — 36 characters, not a number.
Take it from the
idfield:POST /templatesreturns it on creation, andGET /templatesandGET /templates/browselist it.Der Wert wird direkt in die Anfragezeile oben eingesetzt.
Anfragekörper
The update is partial: send only the fields you are changing, the rest are kept.
Two quirks account for most 422 responses here:
service_keyandconfigtravel together. Validation rejects one without the other, so even when the service stays the same you have to repeat its code.configis 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.
{
"service_key": "heygen",
"config": {
"tts_settings": {
"voice_id": "1bd001e7e50f421d891986aad5158bc8",
"speed": 1
}
}
}Felder
UUID of the folder to move the template into. null moves it to the root.
New service code. Changes only together with config — the config is validated against the new service's schema.
New template name, up to 255 characters.
Publish the template in the shared catalogue, or unpublish it.
The complete new generation settings (not a partial patch). The accepted structure comes from GET /templates/config-options?service=<code>.
Mögliche Antworten
200Success. The payload is in data.
Success. The payload is in data.
{
"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"
}
}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.
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.
dataerforderlichThe template after the update, with config already merged. Check it when you sent a partial configuration.
TemplateTemplate
The template after the update, with config already merged. Check it when you sent a partial configuration.
Template UUID. Put it into template_id when creating an order.
ID of the template owner.
Short public identifier used for sharing. null on a template that was never shared.
Template name — for humans only; it does not affect generation.
Code of the service whose schema validates config: elevenlabs, lumimg, and so on.
The template’s service for reference: name and pricing, without configuration schemas. null means no service with that code exists any more.
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).
Whether the template is published in the shared catalogue.
UUID of the folder holding the template, or null for the root. The folder tree is visible in GET /templates/browse.
When the template was created, ISO 8601.
When the template last changed, ISO 8601.
401The key is missing, unknown, disabled or expired.
The key is missing, unknown, disabled or expired.
{
"success": false,
"message": "API key is missing. Provide it in the X-API-KEY header.",
"data": null
}Always false in error responses.
Error text in the key's language (set through the X-Locale header).
Always null when the request is rejected before processing.
403The key lacks the required permission, or the object belongs to another user.
The key lacks the required permission, or the object belongs to another user.
{
"success": false,
"message": "This API key does not have permission to perform this action."
}Error overview.
404Not found, or not reachable with this key.
Not found, or not reachable with this key.
{
"success": false,
"message": "Resource not found."
}Always false in error responses.
Error text in the key's language (set through the X-Locale header).
Machine-readable reason — present on business refusals (for example, invalid_order_status); other errors omit it. Branch on it, not on the message text.
The same machine-readable code as in reason — a second name for the field. Arrives together with reason; the values always match.
422Validation error. Offending fields are listed in errors.
Validation error. Offending fields are listed in errors.
{
"message": "string",
"errors": {
"key": [
"string"
]
}
}Errors overview.
errorserforderlichA detailed description of each field that failed validation.
object
A detailed description of each field that failed validation.
In der Nähe
Dasselbe in Worten
Objekte
Benachbarte Operationen
Diese Seite einer KI geben
Spezifikation 0.0.1