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.

private-order.task.{orderId}

Events for a single order. Someone else's order is out of reach: subscription auth returns 403.

Korrekturen an der Spezifikation · 1

  • orderId in the channel name is a UUID, not a number

    In the AsyncAPI document the channel parameter orderId is declared as integer, while its own description and every example show the order UUID — the one returned as data.id by POST /orders. Subscribe with the string: private-order.task.c7d8e9f0-1a2b-4c3d-8e4f-5a6b7c8d9e0f. The numeric userId in the other channel really is a number.

Kanalparameter

Tragen Sie Ihre Werte ein — sie erscheinen im Kanalnamen, im Code darunter und in der Konsole. Sie werden nirgends gesendet und landen nie in der Seiten-URL.

is the UUID from the POST /orders response.

Kanalname für das Abo

private-order.task.{orderId}

Der Name enthält noch Platzhalter in geschweiften Klammern. Damit lässt sich nicht abonnieren: Der Server autorisiert Kanäle nach exaktem Namen.

import Pusher from 'pusher-js';

const pusher = new Pusher('7c4dd881d8116ac76fe89aff71d8c2ff', {
  wsHost: 'ws.lumean.app',
  wsPort: 443, wssPort: 443,
  forceTLS: true,
  enabledTransports: ['ws', 'wss'],
  cluster: '',
  channelAuthorization: {
    endpoint: 'https://api.lumean.app/api/public/broadcasting/auth',
    headers: { 'X-API-KEY': 'YOUR_API_KEY' },
  },
});

const channel = pusher.subscribe('private-order.task.{orderId}');
channel.bind('paragraph_regenerate.completed', (data) => {
  console.log(data);
});

Payload-Beispiel

nicht verbunden

Kanal: private-order.task.{orderId}

Dies ist ein Beispiel aus der Spezifikation. Es besteht keine Verbindung und es wird auch keine vorgetäuscht: Für ein echtes Abo brauchen Sie Ihren API-Schlüssel.

benötigt einen Schlüssel mit dem Recht orders.read

.paragraph_regenerate.completed

{
  "order_id": "01a0d8c6-86d3-70b5-a86e-5a12b1d860df",
  "paragraph_index": 1,
  "created_count": 1,
  "failed_count": 1
}

Kanalereignisse: 8

Jedes Ereignis hat einen eigenen Anker, eine vollständige Payload-Tabelle mit Beschreibungen und Enums sowie ein Formbeispiel. Die Namen stehen in Laravel-Echo-Notation — mit führendem Punkt.

.paragraph_regenerate.completed

Echo: .paragraph_regenerate.completed · pusher-js: paragraph_regenerate.completed

Payload-Felder

order_iderforderlich
string
Beispiel 01a0d8c6-86d3-70b5-a86e-5a12b1d860df
paragraph_indexerforderlich
integer
Beispiel 1
created_counterforderlich
integer
Beispiel 1
failed_counterforderlich
integer
Beispiel 1

Payload-Beispiel

{
  "order_id": "01a0d8c6-86d3-70b5-a86e-5a12b1d860df",
  "paragraph_index": 1,
  "created_count": 1,
  "failed_count": 1
}

Die Werte stammen aus der Spezifikation, soweit vorhanden; der Rest sind typbasierte Platzhalter. Das ist die Form des Ereignisses, keine Aufzeichnung eines echten.

.voice_search.queue.updated

Echo: .voice_search.queue.updated · pusher-js: voice_search.queue.updated

Payload-Felder

order_iderforderlich
string
Beispiel example
queue_positionerforderlich
integer
Beispiel 1
queue_wait_secondserforderlich
integer | null
Beispiel 1

Payload-Beispiel

{
  "order_id": "example",
  "queue_position": 1,
  "queue_wait_seconds": 1
}

Die Werte stammen aus der Spezifikation, soweit vorhanden; der Rest sind typbasierte Platzhalter. Das ist die Form des Ereignisses, keine Aufzeichnung eines echten.

.bulk_retry.completed

Echo: .bulk_retry.completed · pusher-js: bulk_retry.completed

Payload-Felder

order_iderforderlich
string
Beispiel 01a0d8c6-86b5-706a-958a-a626ddb3ba3d
created_counterforderlich
integer
Beispiel 1
failed_counterforderlich
integer
Beispiel 1

Payload-Beispiel

{
  "order_id": "01a0d8c6-86b5-706a-958a-a626ddb3ba3d",
  "created_count": 1,
  "failed_count": 1
}

Die Werte stammen aus der Spezifikation, soweit vorhanden; der Rest sind typbasierte Platzhalter. Das ist die Form des Ereignisses, keine Aufzeichnung eines echten.

.renamed

Echo: .renamed · pusher-js: renamed

Payload-Felder

ordererforderlich
object
iderforderlich
string
Beispiel 01a12b4f-ddef-71a8-ae98-c8ec656c2886
user_iderforderlich
integer
Beispiel 70
nameerforderlich
string | null
Beispiel example
templateerforderlich
object
iderforderlich
string
Beispiel 01a12b4f-dded-706a-91d6-0f86a632230d
user_iderforderlich
integer
Beispiel 71
slugerforderlich
string
Beispiel a80eab29-6508-36cb-b8e8-3e85029e97b3
nameerforderlich
string
Beispiel consequatur
service_keyerforderlich
string
Beispiel example
serviceerforderlich

May arrive as null.

unknown
configerforderlich
array<object>
is_publicerforderlich
boolean
Beispiel false
folder_iderforderlich

May arrive as null.

unknown
created_aterforderlich
string (date-time)
Beispiel 2026-10-11T14:13:36+00:00
updated_aterforderlich
string (date-time)
Beispiel 2026-10-11T14:13:36+00:00
template_iderforderlich
string
Beispiel 01a12b4f-dded-706a-91d6-0f86a632230d
task_typeerforderlich
Wertettsimagetxt2imgremiximage_editvoice_clonesfxmusicvoice_search
string
Beispiel tts
statuserforderlich
Wertecreatedpendingin_progresscompletedresult_deliveredfailedcompensatedcancelledpartially_completed
string
Beispiel created
price_unitserforderlich
number
Beispiel 97.05
price_formattederforderlich
number
Beispiel 0.97
currency_asseterforderlich
object
iderforderlich

May arrive as null.

unknown
codeerforderlich
string
Beispiel LUMC
kinderforderlich

May arrive as null.

unknown
precisionerforderlich
integer
Beispiel 2
nameerforderlich

May arrive as null.

unknown
deleted_aterforderlich
string (date-time) | null
created_aterforderlich
string (date-time) | null
updated_aterforderlich
string (date-time) | null
total_tokenserforderlich

May arrive as null.

unknown
total_duration_mserforderlich

May arrive as null.

unknown
tokens_from_quotaerforderlich

May arrive as null.

unknown
tokens_from_paygerforderlich

May arrive as null.

unknown
tokens_spenterforderlich

May arrive as null.

unknown
task_dataerforderlich

May arrive as null.

unknown
resulterforderlich

May arrive as null.

unknown
created_aterforderlich
string (date-time)
Beispiel 2026-10-11T14:13:36+00:00
updated_aterforderlich
string (date-time)
Beispiel 2026-10-11T14:13:36+00:00
files_expire_aterforderlich
string (date-time) | null
files_expirederforderlich
boolean
Beispiel false
retentionerforderlich
object
chunkserforderlich
object
expires_aterforderlich
string (date-time) | null
expirederforderlich
boolean
Beispiel false
expires_earlyerforderlich
boolean
Beispiel false
reasonerforderlich

May arrive as null.

unknown
fileserforderlich
object
expires_aterforderlich
string (date-time) | null
expirederforderlich
boolean
Beispiel false
eta_secondserforderlich

May arrive as null.

unknown
eta_aterforderlich
string (date-time) | null
completed_chunkserforderlich

May arrive as null.

unknown
total_chunkserforderlich

May arrive as null.

unknown
progress_percenterforderlich

May arrive as null.

unknown
stitchingerforderlich
boolean
Beispiel false
paragraphserforderlich

May arrive as null.

unknown

Payload-Beispiel

{
  "order": {
    "id": "01a12b4f-ddef-71a8-ae98-c8ec656c2886",
    "user_id": 70,
    "name": "example",
    "template": {
      "id": "01a12b4f-dded-706a-91d6-0f86a632230d",
      "user_id": 71,
      "slug": "a80eab29-6508-36cb-b8e8-3e85029e97b3",
      "name": "consequatur",
      "service_key": "example",
      "service": "string",
      "config": [],
      "is_public": false,
      "folder_id": "string",
      "created_at": "2026-10-11T14:13:36+00:00",
      "updated_at": "2026-10-11T14:13:36+00:00"
    },
    "template_id": "01a12b4f-dded-706a-91d6-0f86a632230d",
    "task_type": "tts",
    "status": "created",
    "price_units": 97.05,
    "price_formatted": 0.97,
    "currency_asset": {
      "id": "string",
      "code": "LUMC",
      "kind": "string",
      "precision": 2,
      "name": "string",
      "deleted_at": "<date-time>",
      "created_at": "<date-time>",
      "updated_at": "<date-time>"
    },
    "total_tokens": "string",
    "total_duration_ms": "string",
    "tokens_from_quota": "string",
    "tokens_from_payg": "string",
    "tokens_spent": "string",
    "task_data": "string",
    "result": "string",
    "created_at": "2026-10-11T14:13:36+00:00",
    "updated_at": "2026-10-11T14:13:36+00:00",
    "files_expire_at": "<date-time>",
    "files_expired": false,
    "retention": {
      "chunks": {
        "expires_at": "<date-time>",
        "expired": false,
        "expires_early": false,
        "reason": "string"
      },
      "files": {
        "expires_at": "<date-time>",
        "expired": false
      }
    },
    "eta_seconds": "string",
    "eta_at": "<date-time>",
    "completed_chunks": "string",
    "total_chunks": "string",
    "progress_percent": "string",
    "stitching": false,
    "paragraphs": "string"
  }
}

Die Werte stammen aus der Spezifikation, soweit vorhanden; der Rest sind typbasierte Platzhalter. Das ist die Form des Ereignisses, keine Aufzeichnung eines echten.

.status.changed

Echo: .status.changed · pusher-js: status.changed

The order changed status.

Payload-Felder

ordererforderlich

A snapshot of the order without the chunk list — per-chunk changes arrive as separate item.status.changed events.

object
items_summaryerforderlich

A summary of the order's chunks instead of the full list.

object
totalerforderlich
integer
Beispiel 12
by_statuserforderlich

How many chunks are in each status: pending, processing, completed, failed, policy_flagged.

object<string, integer>
Beispiel {"completed":10,"failed":2}
previous_statuserforderlich
Wertecreatedpendingin_progresscompletedresult_deliveredfailedcompensatedcancelledpartially_completed
string
new_statuserforderlich
Wertecreatedpendingin_progresscompletedresult_deliveredfailedcompensatedcancelledpartially_completed
string

Payload-Beispiel

{
  "order": {},
  "items_summary": {
    "total": 12,
    "by_status": {
      "completed": 10,
      "failed": 2
    }
  },
  "previous_status": "created",
  "new_status": "created"
}

Die Werte stammen aus der Spezifikation, soweit vorhanden; der Rest sind typbasierte Platzhalter. Das ist die Form des Ereignisses, keine Aufzeichnung eines echten.

.item.status.changed

Echo: .item.status.changed · pusher-js: item.status.changed

An order chunk changed status.

Payload-Felder

itemerforderlich

The chunk index, its status, the result file path and the audio duration.

object
idoptional
string (uuid)
chunk_indexoptional
integer | null
Beispiel 3
statusoptional
Wertependingprocessingcompletedfailedpolicy_flagged
string
result_fileoptional
object | null
duration_msoptional
integer | null
Beispiel 12480
previous_statuserforderlich
string
new_statuserforderlich
string
completed_chunksoptional
integer
Beispiel 3
total_chunksoptional
integer
Beispiel 7
progress_percentoptional
integer
Beispiel 43
stitchingoptional

Whether the order's audio is being stitched. The last finished chunk of a multi-chunk order means stitching has started, not that the order is done: while true the result is not final.

boolean
Beispiel false

Payload-Beispiel

{
  "item": {
    "id": "<uuid>",
    "chunk_index": 3,
    "status": "pending",
    "result_file": {},
    "duration_ms": 12480
  },
  "previous_status": "string",
  "new_status": "string",
  "completed_chunks": 3,
  "total_chunks": 7,
  "progress_percent": 43,
  "stitching": false
}

Die Werte stammen aus der Spezifikation, soweit vorhanden; der Rest sind typbasierte Platzhalter. Das ist die Form des Ereignisses, keine Aufzeichnung eines echten.

.stitch.changed

Echo: .stitch.changed · pusher-js: stitch.changed

Payload-Felder

order_iderforderlich
string
Beispiel 01a12b4f-d2ba-70ef-b1a8-14aff97d1da2
order_statuserforderlich
string
Beispiel created
stitchingerforderlich
boolean
Beispiel false
stitcherforderlich
object
iderforderlich
string
Beispiel 01a12b4f-d2bc-7117-83c6-a16f11eac8f4
statuserforderlich
string
Beispiel pending
paragraph_indexerforderlich

May arrive as null.

unknown
restitcherforderlich
boolean
Beispiel false

Payload-Beispiel

{
  "order_id": "01a12b4f-d2ba-70ef-b1a8-14aff97d1da2",
  "order_status": "created",
  "stitching": false,
  "stitch": {
    "id": "01a12b4f-d2bc-7117-83c6-a16f11eac8f4",
    "status": "pending",
    "paragraph_index": "string",
    "restitch": false
  }
}

Die Werte stammen aus der Spezifikation, soweit vorhanden; der Rest sind typbasierte Platzhalter. Das ist die Form des Ereignisses, keine Aufzeichnung eines echten.

.progress

Echo: .progress · pusher-js: progress

Live progress of the order.

Payload-Felder

task_iderforderlich

The order UUID — the same value as the channel's {orderId}.

string (uuid)
progresserforderlich

Kept for compatibility and does not reflect progress — rely on the progress events of the orders channel, or on eta_seconds.

number
Beispiel 42.5
chunks_doneerforderlich

Kept for compatibility and does not reflect how many parts are done — count completion from item.status.changed events.

integer
chunks_totalerforderlich

Total number of parts in the order.

integer
duration_secondsoptional

How many seconds the task has been running. This is elapsed time, not remaining.

number
eta_secondsoptional

Estimated time remaining, in seconds. Computed by the API from service statistics.

integer | null
Beispiel 95
eta_confidenceoptional

How much to trust the estimate: high — statistics for chunks of the same size, medium — for the service overall, low — little data, so show it with a «≈».

Wertehighmediumlownull
string | null
timestampoptional
string (date-time)

Payload-Beispiel

{
  "task_id": "<uuid>",
  "progress": 42.5,
  "chunks_done": 0,
  "chunks_total": 0,
  "duration_seconds": 0,
  "eta_seconds": 95,
  "eta_confidence": "high",
  "timestamp": "<date-time>"
}

Die Werte stammen aus der Spezifikation, soweit vorhanden; der Rest sind typbasierte Platzhalter. Das ist die Form des Ereignisses, keine Aufzeichnung eines echten.

Alle Kanäle und Verbindungsparameter·POST /broadcasting/auth

Diese Seite einer KI geben

.md öffnenllm.md

Spezifikation 0.0.1