Zum Inhalt
Lumean API

Beschreibungen auf Englisch

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

List Orders

Returns a paginated list of the key owner's orders, newest first.

Korrekturen an der Spezifikation · 3

  • OrderList is declared as an array but arrives as an object

    The spec declares OrderList as {"type":"array","items":{}}, but both the response example and the service itself return an object holding one page: items[], current_page, last_page, per_page, total. The field table below describes the real response. An SDK generated straight from the spec will produce Order[] here and break — fix the type by hand.

  • There are five terminal statuses, not four

    The description of Order.status calls completed, failed, cancelled and compensated terminal and forgets result_delivered — an order in that state will not change either, and a polling loop waiting for it never ends. Take the full list from the status filter description in GET /orders: completed, result_delivered, failed, compensated, cancelled.

Filtering:

  • status — order status; an unknown value returns 422.
  • template_id — template UUID.
  • task_type[] — task type, repeatable: ?task_type[]=tts&task_type[]=sfx.

Terminal statuses (the order will not change again): completed, result_delivered, failed, compensated, cancelled.

Required key permission: orders.read.

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.

GEThttps://api.lumean.app/api/public/orders
  • integerin der Queryoptional≥ 1

    Page number, starting at 1.

  • integerin der Queryoptional1..100

    Records per page, 1..100. Defaults to 20.

  • OrderStatusin der Queryoptional

    Return only orders in this status. An unknown value returns 422.

    Terminal (the order will not change again): completed, result_delivered, failed, compensated, cancelled. The non-terminal partially_completed means some chunks failed and are waiting for your action — see POST /orders/{order}/items/{item}/retry.

    Zulässige Werte
  • stringin der Queryoptionaluuid

    Return only orders created from this template (UUID from GET /templates).

  • array<string>in der Queryoptional

    Task type filter, repeatable: ?task_type[]=tts&task_type[]=sfx. A single string (?task_type=tts) is accepted too.

    Known values: tts, image, txt2img, remix, image_edit, voice_clone, sfx, music, voice_search. The list grows as new services are connected, so the filter is deliberately permissive: an unknown type yields an empty list rather than 422.

Mögliche Antworten

200

Success. The payload is in data.

Beispiel für den Body
{
  "success": true,
  "message": "Orders list retrieved successfully.",
  "data": {
    "items": [
      {
        "id": "c7d8e9f0-1a2b-4c3d-8e4f-5a6b7c8d9e0f",
        "user_id": 501,
        "template": null,
        "template_id": null,
        "task_type": "music",
        "status": "completed",
        "price_units": 6000,
        "total_tokens": 6000,
        "task_data": {
          "n_variants": 3,
          "lyrics_text": null,
          "force_instrumental": true,
          "music_length_ms": 30000,
          "model_id": "music_v2",
          "prompt": "Lo-fi hip hop, calm, rainy night, vinyl crackle"
        },
        "result": {
          "user_message": null,
          "files": [
            "storage/501/orders/c7d8e9f0-1a2b-4c3d-8e4f-5a6b7c8d9e0f/output/chunks/0/result.mp3",
            "storage/501/orders/c7d8e9f0-1a2b-4c3d-8e4f-5a6b7c8d9e0f/output/chunks/1/result.mp3",
            "storage/501/orders/c7d8e9f0-1a2b-4c3d-8e4f-5a6b7c8d9e0f/output/chunks/2/result.mp3"
          ]
        },
        "created_at": "2026-07-17T12:10:00+00:00",
        "updated_at": "2026-07-17T12:11:20+00:00",
        "eta_seconds": null,
        "eta_at": null,
        "completed_chunks": 3,
        "total_chunks": 3,
        "progress_percent": 100,
        "items": [
          {
            "id": "d8e9f0a1-2b3c-4d4e-8f5a-6b7c8d9e0f1a",
            "order_id": "c7d8e9f0-1a2b-4c3d-8e4f-5a6b7c8d9e0f",
            "item_type": "chunk",
            "chunk_index": 0,
            "parent_item_id": null,
            "original_text_length": 0,
            "current_text_length": 0,
            "price_units": 2000,
            "consumed_units": 2000,
            "remaining_locked": 0,
            "status": "completed",
            "result_file": "storage/501/orders/c7d8e9f0-1a2b-4c3d-8e4f-5a6b7c8d9e0f/output/chunks/0/result.mp3",
            "attempt_number": 1,
            "can_retry": false,
            "can_regenerate": true,
            "created_at": "2026-07-17T12:10:05+00:00",
            "updated_at": "2026-07-17T12:11:00+00:00"
          },
          {
            "id": "e9f0a1b2-3c4d-4e5f-8a6b-7c8d9e0f1a2b",
            "order_id": "c7d8e9f0-1a2b-4c3d-8e4f-5a6b7c8d9e0f",
            "item_type": "chunk",
            "chunk_index": 1,
            "parent_item_id": null,
            "original_text_length": 0,
            "current_text_length": 0,
            "price_units": 2000,
            "consumed_units": 2000,
            "remaining_locked": 0,
            "status": "completed",
            "result_file": "storage/501/orders/c7d8e9f0-1a2b-4c3d-8e4f-5a6b7c8d9e0f/output/chunks/1/result.mp3",
            "attempt_number": 1,
            "can_retry": false,
            "can_regenerate": true,
            "created_at": "2026-07-17T12:10:05+00:00",
            "updated_at": "2026-07-17T12:11:10+00:00"
          },
          {
            "id": "f0a1b2c3-4d5e-4f6a-8b7c-8d9e0f1a2b3c",
            "order_id": "c7d8e9f0-1a2b-4c3d-8e4f-5a6b7c8d9e0f",
            "item_type": "chunk",
            "chunk_index": 2,
            "parent_item_id": null,
            "original_text_length": 0,
            "current_text_length": 0,
            "price_units": 2000,
            "consumed_units": 2000,
            "remaining_locked": 0,
            "status": "completed",
            "result_file": "storage/501/orders/c7d8e9f0-1a2b-4c3d-8e4f-5a6b7c8d9e0f/output/chunks/2/result.mp3",
            "attempt_number": 1,
            "can_retry": false,
            "can_regenerate": true,
            "created_at": "2026-07-17T12:10:05+00:00",
            "updated_at": "2026-07-17T12:11:20+00:00"
          }
        ]
      },
      {
        "id": "b2c3d4e5-6f7a-4b8c-9d0e-1f2a3b4c5d6e",
        "user_id": 501,
        "template": null,
        "template_id": null,
        "task_type": "sfx",
        "status": "in_progress",
        "price_units": 50,
        "total_tokens": 0,
        "task_data": {
          "prompt_influence": 0.3,
          "duration_seconds": 6,
          "loop": false,
          "output_format": "mp3_44100_128",
          "text": "Footsteps on gravel, then a door creaks open."
        },
        "result": null,
        "created_at": "2026-07-17T12:05:00+00:00",
        "updated_at": "2026-07-17T12:05:00+00:00",
        "eta_seconds": 45,
        "eta_at": "2026-07-17T12:05:45+00:00",
        "completed_chunks": 0,
        "total_chunks": 1,
        "progress_percent": 0,
        "items": [
          {
            "id": "a6b7c8d9-0e1f-4a2b-8c3d-4e5f6a7b8c9d",
            "order_id": "b2c3d4e5-6f7a-4b8c-9d0e-1f2a3b4c5d6e",
            "item_type": "chunk",
            "chunk_index": 0,
            "parent_item_id": null,
            "original_text_length": 0,
            "current_text_length": 0,
            "price_units": 50,
            "consumed_units": 0,
            "remaining_locked": 50,
            "status": "processing",
            "result_file": null,
            "attempt_number": 1,
            "can_retry": false,
            "can_regenerate": false,
            "created_at": "2026-07-17T12:05:00+00:00",
            "updated_at": "2026-07-17T12:05:00+00:00"
          }
        ]
      },
      {
        "id": "9f8b2c1a-4d3e-4f5a-8b9c-0d1e2f3a4b5c",
        "user_id": 501,
        "template": {
          "id": "7e2a4c1d-8b3f-4a5e-9c6d-1f2e3a4b5c6d",
          "user_id": 501,
          "slug": null,
          "name": "Narrator Voice (EN)",
          "service_key": "elevenlabs",
          "service": {
            "id": 3,
            "code": "elevenlabs",
            "name": "ElevenLabs",
            "display_name": null,
            "payg_access": "everyone",
            "billing_mode": "pay_as_you_go",
            "unit_asset_id": 5,
            "unit_asset": {
              "id": 5,
              "code": "tts_units",
              "kind": "unit",
              "precision": 0,
              "name": "TTS Units",
              "deleted_at": null,
              "created_at": "2026-01-10T09:00:00+00:00",
              "updated_at": "2026-01-10T09:00:00+00:00"
            },
            "required_entitlement_id": null,
            "units_per_call": null,
            "units_per_char": 1,
            "units_per_image": null,
            "units_per_second": null,
            "min_billable_chars": null,
            "lumcoin_per_token": null,
            "lumc_precision": 2,
            "price_lumc_minor": null,
            "unit_size": 1,
            "uses_money_first_pricing": false,
            "rate_unit": null,
            "display_category": null,
            "is_premium": false,
            "display_order": 0,
            "metadata": null,
            "is_active": true,
            "created_at": "2026-01-10T09:00:00+00:00",
            "updated_at": "2026-01-10T09:00:00+00:00"
          },
          "config": null,
          "is_public": false,
          "folder_id": null,
          "created_at": "2026-06-01T10:00:00+00:00",
          "updated_at": "2026-06-01T10:00:00+00:00"
        },
        "template_id": "7e2a4c1d-8b3f-4a5e-9c6d-1f2e3a4b5c6d",
        "task_type": "tts",
        "status": "completed",
        "price_units": 420,
        "total_tokens": 420,
        "task_data": {
          "text": "Welcome to our platform! This narration greets every new listener.",
          "total_length": 420
        },
        "result": {
          "user_message": null,
          "files": [
            "storage/501/orders/9f8b2c1a-4d3e-4f5a-8b9c-0d1e2f3a4b5c/output/final/result.mp3"
          ],
          "service_files": [
            "storage/501/orders/9f8b2c1a-4d3e-4f5a-8b9c-0d1e2f3a4b5c/output/final/service/subtitles.srt",
            "storage/501/orders/9f8b2c1a-4d3e-4f5a-8b9c-0d1e2f3a4b5c/output/final/service/subtitles.vtt",
            "storage/501/orders/9f8b2c1a-4d3e-4f5a-8b9c-0d1e2f3a4b5c/output/final/service/result.json"
          ]
        },
        "created_at": "2026-07-17T12:00:00+00:00",
        "updated_at": "2026-07-17T12:02:50+00:00",
        "eta_seconds": null,
        "eta_at": null,
        "completed_chunks": 2,
        "total_chunks": 2,
        "progress_percent": 100,
        "items": [
          {
            "id": "d4e5f6a7-8b9c-4d0e-8f1a-2b3c4d5e6f7a",
            "order_id": "9f8b2c1a-4d3e-4f5a-8b9c-0d1e2f3a4b5c",
            "item_type": "chunk",
            "chunk_index": 0,
            "parent_item_id": null,
            "original_text_length": 240,
            "current_text_length": 240,
            "price_units": 240,
            "consumed_units": 240,
            "remaining_locked": 0,
            "status": "completed",
            "result_file": {
              "path": "storage/501/orders/9f8b2c1a-4d3e-4f5a-8b9c-0d1e2f3a4b5c/output/chunks/0/result.mp3",
              "storage": "s3",
              "name": "chunk_0.mp3",
              "size": 512340,
              "mime_type": "audio/mpeg",
              "size_formatted": "500.33 KB"
            },
            "attempt_number": 1,
            "can_retry": false,
            "can_regenerate": true,
            "created_at": "2026-07-17T12:00:05+00:00",
            "updated_at": "2026-07-17T12:02:10+00:00"
          },
          {
            "id": "e5f6a7b8-9c0d-4e1f-8a2b-3c4d5e6f7a8b",
            "order_id": "9f8b2c1a-4d3e-4f5a-8b9c-0d1e2f3a4b5c",
            "item_type": "chunk",
            "chunk_index": 1,
            "parent_item_id": null,
            "original_text_length": 180,
            "current_text_length": 180,
            "price_units": 180,
            "consumed_units": 180,
            "remaining_locked": 0,
            "status": "completed",
            "result_file": {
              "path": "storage/501/orders/9f8b2c1a-4d3e-4f5a-8b9c-0d1e2f3a4b5c/output/chunks/1/result.mp3",
              "storage": "s3",
              "name": "chunk_1.mp3",
              "size": 398210,
              "mime_type": "audio/mpeg",
              "size_formatted": "388.88 KB"
            },
            "attempt_number": 1,
            "can_retry": false,
            "can_regenerate": true,
            "created_at": "2026-07-17T12:00:05+00:00",
            "updated_at": "2026-07-17T12:02:45+00:00"
          }
        ]
      }
    ],
    "current_page": 1,
    "last_page": 1,
    "per_page": 20,
    "total": 3
  }
}
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

A page of the key owner’s orders, newest first. The list carries no chunks (items) — fetch those from GET /orders/{order}.

OrderListOrderList
itemserforderlich

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

array<Order>Order
Array-Element
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
current_pageerforderlich

Current page number, starting from one.

integer
last_pageerforderlich

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

integer
per_pageerforderlich

Page size the server applied.

integer
totalerforderlich

Total number of records matching the filter.

integer
401

The key is missing, unknown, disabled or expired.

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

Always false in error responses.

boolean
messageerforderlich

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

string
dataerforderlich

Always null when the request is rejected before processing.

darf null sein
null
403

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

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

Errors overview.

string
errorserforderlich

A detailed description of each field that failed validation.

object
*optional
beliebige Schlüssel
array<string>

Ereignisse, die dabei entstehen

Der Fortschritt kommt über WebSocket: Der Auftrag muss nicht in einer Schleife abgefragt werden. Das Abonnement braucht dasselbe Recht wie das Lesen von Aufträgen.

Diese Seite einer KI geben

.md öffnenllm.md

Spezifikation 0.0.1