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-orders.{userId}

Events for every order of the account at once.

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 numeric id of the key owner, returned by GET /user.

Kanalname für das Abo

private-orders.{userId}

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-orders.{userId}');
channel.bind('policy_cooldown.applied', (data) => {
  console.log(data);
});

Payload-Beispiel

nicht verbunden

Kanal: private-orders.{userId}

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

.policy_cooldown.applied

{
  "reason": "policy_cooldown_active",
  "minutes": 1,
  "retry_after": 0,
  "retry_at": "1970-01-01T00:00:01+00:00",
  "level": 1,
  "threshold": 1
}

Kanalereignisse: 14

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.

.policy_cooldown.applied

Echo: .policy_cooldown.applied · pusher-js: policy_cooldown.applied

Payload-Felder

reasonerforderlich
string
Beispiel policy_cooldown_active
minuteserforderlich
integer
Beispiel 1
retry_aftererforderlich
integer
Beispiel 0
retry_aterforderlich
string
Beispiel 1970-01-01T00:00:01+00:00
levelerforderlich
integer
Beispiel 1
thresholderforderlich
integer
Beispiel 1

Payload-Beispiel

{
  "reason": "policy_cooldown_active",
  "minutes": 1,
  "retry_after": 0,
  "retry_at": "1970-01-01T00:00:01+00:00",
  "level": 1,
  "threshold": 1
}

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

.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.

.created

Echo: .created · pusher-js: created

A new order was created.

Payload-Felder

ordererforderlich

A snapshot of the order without the chunk list — it would not fit the WebSocket message size limit. The status here is always created; fetch the chunks from GET /orders/{order}.

object
idoptional
integer
Beispiel 1024
uuidoptional
string (uuid)
user_idoptional
integer
Beispiel 7
statusoptional
Wertecreatedqueuedprocessingcompletedfailedcancelled
string
Beispiel created
task_typeoptional
string | null
total_amountoptional
number
Beispiel 12.5
created_atoptional
string (date-time)
templateoptional
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 {"pending":12}

Payload-Beispiel

{
  "order": {
    "id": 1024,
    "uuid": "<uuid>",
    "user_id": 7,
    "status": "created",
    "task_type": "string",
    "total_amount": 12.5,
    "created_at": "<date-time>",
    "template": {}
  },
  "items_summary": {
    "total": 12,
    "by_status": {
      "pending": 12
    }
  }
}

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

The order's overall progress was updated.

Progress across the order's original chunks. Retries and regenerations are not counted.

Payload-Felder

order_iderforderlich
string (uuid)
Beispiel 019bb198-78f5-7082-8550-fee362917f2e
completederforderlich
integer
Beispiel 3
totalerforderlich
integer
Beispiel 7
percenterforderlich
integer
Beispiel 43

Payload-Beispiel

{
  "order_id": "019bb198-78f5-7082-8550-fee362917f2e",
  "completed": 3,
  "total": 7,
  "percent": 43
}

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.

.archive.ready

Echo: .archive.ready · pusher-js: archive.ready

The ZIP archive is assembled and ready to download. Sent only for large orders built in the background.

Payload-Felder

order_iderforderlich
string (uuid)
Beispiel 019bb198-78f5-7082-8550-fee362917f2e
archive_iderforderlich
string (uuid)
Beispiel 019bb1a0-2c41-71f2-9f0b-6a3d0e8c4b17
urlerforderlich

A ready-to-use ZIP link. Fetch it with a plain GET, no authorization headers, from storage rather than the API.

string (uri)
Beispiel https://s3.example.com/archives/1/019bb1a0.zip?X-Amz-Signature=...
sizeoptional

Archive size in bytes; null when storage did not report it.

integer | null
Beispiel 104857600
expires_aterforderlich

When the link stops working (ISO 8601) — no later than a day after it was built. Request the archive again afterwards.

string (date-time)
Beispiel 2026-07-30T12:00:00+00:00

Payload-Beispiel

{
  "order_id": "019bb198-78f5-7082-8550-fee362917f2e",
  "archive_id": "019bb1a0-2c41-71f2-9f0b-6a3d0e8c4b17",
  "url": "https://s3.example.com/archives/1/019bb1a0.zip?X-Amz-Signature=...",
  "size": 104857600,
  "expires_at": "2026-07-30T12:00:00+00:00"
}

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.

.policy_cooldown.cleared

Echo: .policy_cooldown.cleared · pusher-js: policy_cooldown.cleared

Payload-Felder

was_blockederforderlich
boolean
Beispiel true
strikeserforderlich
integer
Beispiel 0
levelerforderlich
integer
Beispiel 0

Payload-Beispiel

{
  "was_blocked": true,
  "strikes": 0,
  "level": 0
}

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

.archive.failed

Echo: .archive.failed · pusher-js: archive.failed

Background ZIP assembly failed. This event is terminal: neither progress nor ready will arrive for that archive_id again, so dismiss the progress indicator on it — otherwise it stays on screen forever.

Payload-Felder

order_iderforderlich
string (uuid)
Beispiel 019bb198-78f5-7082-8550-fee362917f2e
archive_iderforderlich
string (uuid)
Beispiel 019bb1a0-2c41-71f2-9f0b-6a3d0e8c4b17
reasonerforderlich

A machine-readable reason code — pick the user-facing wording on your side.

Werteorder_not_foundbuild_failed
string
Beispiel build_failed

Payload-Beispiel

{
  "order_id": "019bb198-78f5-7082-8550-fee362917f2e",
  "archive_id": "019bb1a0-2c41-71f2-9f0b-6a3d0e8c4b17",
  "reason": "build_failed"
}

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.

.archive.progress

Echo: .archive.progress · pusher-js: archive.progress

Progress of a background ZIP assembly. Sent only for large orders (mode=job); a small archive is returned synchronously and produces no events. Values arrive in steps of roughly 20% — do not expect every percent; the last frame has files_done equal to files_total.

Payload-Felder

order_iderforderlich
string (uuid)
Beispiel 019bb198-78f5-7082-8550-fee362917f2e
archive_iderforderlich

The same archive_id returned when the archive was requested — match events to your UI card by it.

string (uuid)
Beispiel 019bb1a0-2c41-71f2-9f0b-6a3d0e8c4b17
percenterforderlich
integer
Beispiel 40
files_doneerforderlich
integer
Beispiel 8
files_totalerforderlich
integer
Beispiel 20

Payload-Beispiel

{
  "order_id": "019bb198-78f5-7082-8550-fee362917f2e",
  "archive_id": "019bb1a0-2c41-71f2-9f0b-6a3d0e8c4b17",
  "percent": 40,
  "files_done": 8,
  "files_total": 20
}

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