İçeriğe geç
Lumean API

Açıklamalar İngilizce

Bölümün arayüzü dilinize çevrildi, ancak işlem, şema ve hata açıklamaları yalnızca Rusça ve İngilizce mevcut — burada İngilizce sürüm gösteriliyor.

private-order.task.{orderId}

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

Spesifikasyon düzeltmeleri · 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.

Kanal parametreleri

Değerlerinizi girin — kanal adında, aşağıdaki kodda ve konsolda görünürler. Hiçbir yere gönderilmez ve asla sayfa adresine yazılmazlar.

is the UUID from the POST /orders response.

Abone olunacak kanal adı

private-order.task.{orderId}

Adda hâlâ süslü parantez içinde yer tutucular var. Bu adla abone olamazsınız: sunucu kanalları tam ad eşleşmesiyle yetkilendirir.

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 örneği

bağlı değil

Kanal: private-order.task.{orderId}

Bu, spesifikasyondan bir örnektir. Bağlantı yok ve taklit de edilmiyor: gerçekten abone olmak için API anahtarınız gerekir.

orders.read izni olan bir anahtar gerekir

.paragraph_regenerate.completed

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

Kanal olayları: 8

Her olayın kendi çapa bağlantısı, açıklamalar ve enum değerleriyle tam bir payload tablosu ve örnek bir yapısı vardır. Adlar Laravel Echo gösteriminde, yani baştaki noktayla gösterilir.

.paragraph_regenerate.completed

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

Payload alanları

order_idzorunlu
string
Örnek 01a0d8c6-86d3-70b5-a86e-5a12b1d860df
paragraph_indexzorunlu
integer
Örnek 1
created_countzorunlu
integer
Örnek 1
failed_countzorunlu
integer
Örnek 1

Payload örneği

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

Değerler, spesifikasyonda bulunduğu yerde oradan alınır; geri kalanlar türe dayalı yer tutuculardır. Bu, olayın yapısıdır, gerçek bir olayın kaydı değildir.

.voice_search.queue.updated

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

Payload alanları

order_idzorunlu
string
Örnek example
queue_positionzorunlu
integer
Örnek 1
queue_wait_secondszorunlu
integer | null
Örnek 1

Payload örneği

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

Değerler, spesifikasyonda bulunduğu yerde oradan alınır; geri kalanlar türe dayalı yer tutuculardır. Bu, olayın yapısıdır, gerçek bir olayın kaydı değildir.

.bulk_retry.completed

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

Payload alanları

order_idzorunlu
string
Örnek 01a0d8c6-86b5-706a-958a-a626ddb3ba3d
created_countzorunlu
integer
Örnek 1
failed_countzorunlu
integer
Örnek 1

Payload örneği

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

Değerler, spesifikasyonda bulunduğu yerde oradan alınır; geri kalanlar türe dayalı yer tutuculardır. Bu, olayın yapısıdır, gerçek bir olayın kaydı değildir.

.renamed

Echo: .renamed · pusher-js: renamed

Payload alanları

orderzorunlu
object
idzorunlu
string
Örnek 01a12b4f-ddef-71a8-ae98-c8ec656c2886
user_idzorunlu
integer
Örnek 70
namezorunlu
string | null
Örnek example
templatezorunlu
object
idzorunlu
string
Örnek 01a12b4f-dded-706a-91d6-0f86a632230d
user_idzorunlu
integer
Örnek 71
slugzorunlu
string
Örnek a80eab29-6508-36cb-b8e8-3e85029e97b3
namezorunlu
string
Örnek consequatur
service_keyzorunlu
string
Örnek example
servicezorunlu

May arrive as null.

unknown
configzorunlu
array<object>
is_publiczorunlu
boolean
Örnek false
folder_idzorunlu

May arrive as null.

unknown
created_atzorunlu
string (date-time)
Örnek 2026-10-11T14:13:36+00:00
updated_atzorunlu
string (date-time)
Örnek 2026-10-11T14:13:36+00:00
template_idzorunlu
string
Örnek 01a12b4f-dded-706a-91d6-0f86a632230d
task_typezorunlu
Değerlerttsimagetxt2imgremiximage_editvoice_clonesfxmusicvoice_search
string
Örnek tts
statuszorunlu
Değerlercreatedpendingin_progresscompletedresult_deliveredfailedcompensatedcancelledpartially_completed
string
Örnek created
price_unitszorunlu
number
Örnek 97.05
price_formattedzorunlu
number
Örnek 0.97
currency_assetzorunlu
object
idzorunlu

May arrive as null.

unknown
codezorunlu
string
Örnek LUMC
kindzorunlu

May arrive as null.

unknown
precisionzorunlu
integer
Örnek 2
namezorunlu

May arrive as null.

unknown
deleted_atzorunlu
string (date-time) | null
created_atzorunlu
string (date-time) | null
updated_atzorunlu
string (date-time) | null
total_tokenszorunlu

May arrive as null.

unknown
total_duration_mszorunlu

May arrive as null.

unknown
tokens_from_quotazorunlu

May arrive as null.

unknown
tokens_from_paygzorunlu

May arrive as null.

unknown
tokens_spentzorunlu

May arrive as null.

unknown
task_datazorunlu

May arrive as null.

unknown
resultzorunlu

May arrive as null.

unknown
created_atzorunlu
string (date-time)
Örnek 2026-10-11T14:13:36+00:00
updated_atzorunlu
string (date-time)
Örnek 2026-10-11T14:13:36+00:00
files_expire_atzorunlu
string (date-time) | null
files_expiredzorunlu
boolean
Örnek false
retentionzorunlu
object
chunkszorunlu
object
expires_atzorunlu
string (date-time) | null
expiredzorunlu
boolean
Örnek false
expires_earlyzorunlu
boolean
Örnek false
reasonzorunlu

May arrive as null.

unknown
fileszorunlu
object
expires_atzorunlu
string (date-time) | null
expiredzorunlu
boolean
Örnek false
eta_secondszorunlu

May arrive as null.

unknown
eta_atzorunlu
string (date-time) | null
completed_chunkszorunlu

May arrive as null.

unknown
total_chunkszorunlu

May arrive as null.

unknown
progress_percentzorunlu

May arrive as null.

unknown
stitchingzorunlu
boolean
Örnek false
paragraphszorunlu

May arrive as null.

unknown

Payload örneği

{
  "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"
  }
}

Değerler, spesifikasyonda bulunduğu yerde oradan alınır; geri kalanlar türe dayalı yer tutuculardır. Bu, olayın yapısıdır, gerçek bir olayın kaydı değildir.

.status.changed

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

The order changed status.

Payload alanları

orderzorunlu

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

object
items_summaryzorunlu

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

object
totalzorunlu
integer
Örnek 12
by_statuszorunlu

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

object<string, integer>
Örnek {"completed":10,"failed":2}
previous_statuszorunlu
Değerlercreatedpendingin_progresscompletedresult_deliveredfailedcompensatedcancelledpartially_completed
string
new_statuszorunlu
Değerlercreatedpendingin_progresscompletedresult_deliveredfailedcompensatedcancelledpartially_completed
string

Payload örneği

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

Değerler, spesifikasyonda bulunduğu yerde oradan alınır; geri kalanlar türe dayalı yer tutuculardır. Bu, olayın yapısıdır, gerçek bir olayın kaydı değildir.

.item.status.changed

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

An order chunk changed status.

Payload alanları

itemzorunlu

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

object
idisteğe bağlı
string (uuid)
chunk_indexisteğe bağlı
integer | null
Örnek 3
statusisteğe bağlı
Değerlerpendingprocessingcompletedfailedpolicy_flagged
string
result_fileisteğe bağlı
object | null
duration_msisteğe bağlı
integer | null
Örnek 12480
previous_statuszorunlu
string
new_statuszorunlu
string
completed_chunksisteğe bağlı
integer
Örnek 3
total_chunksisteğe bağlı
integer
Örnek 7
progress_percentisteğe bağlı
integer
Örnek 43
stitchingisteğe bağlı

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
Örnek false

Payload örneği

{
  "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
}

Değerler, spesifikasyonda bulunduğu yerde oradan alınır; geri kalanlar türe dayalı yer tutuculardır. Bu, olayın yapısıdır, gerçek bir olayın kaydı değildir.

.stitch.changed

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

Payload alanları

order_idzorunlu
string
Örnek 01a12b4f-d2ba-70ef-b1a8-14aff97d1da2
order_statuszorunlu
string
Örnek created
stitchingzorunlu
boolean
Örnek false
stitchzorunlu
object
idzorunlu
string
Örnek 01a12b4f-d2bc-7117-83c6-a16f11eac8f4
statuszorunlu
string
Örnek pending
paragraph_indexzorunlu

May arrive as null.

unknown
restitchzorunlu
boolean
Örnek false

Payload örneği

{
  "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
  }
}

Değerler, spesifikasyonda bulunduğu yerde oradan alınır; geri kalanlar türe dayalı yer tutuculardır. Bu, olayın yapısıdır, gerçek bir olayın kaydı değildir.

.progress

Echo: .progress · pusher-js: progress

Live progress of the order.

Payload alanları

task_idzorunlu

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

string (uuid)
progresszorunlu

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

number
Örnek 42.5
chunks_donezorunlu

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

integer
chunks_totalzorunlu

Total number of parts in the order.

integer
duration_secondsisteğe bağlı

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

number
eta_secondsisteğe bağlı

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

integer | null
Örnek 95
eta_confidenceisteğe bağlı

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 «≈».

Değerlerhighmediumlownull
string | null
timestampisteğe bağlı
string (date-time)

Payload örneği

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

Değerler, spesifikasyonda bulunduğu yerde oradan alınır; geri kalanlar türe dayalı yer tutuculardır. Bu, olayın yapısıdır, gerçek bir olayın kaydı değildir.

Tüm kanallar ve bağlantı parametreleri·POST /broadcasting/auth

Bu sayfayı yapay zekâya verin

.md sürümünü açllm.md

spesifikasyon 0.0.1