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-fishaudio-voice-clones.{userId}

Progress of your Fish Audio voice clones: one event per status change of a clone created via POST /voices/fishaudio/clones (or in the web dashboard). Key permission: voices.read.

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-fishaudio-voice-clones.{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-fishaudio-voice-clones.{userId}');
channel.bind('voice_clone.updated', (data) => {
  console.log(data);
});

Payload-Beispiel

nicht verbunden

Kanal: private-fishaudio-voice-clones.{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 voices.read

.voice_clone.updated

{
  "voice_clone": {
    "id": "<uuid>",
    "provider": "fishaudio",
    "display_name": "string",
    "language": "ru",
    "description": "string",
    "status": "pending",
    "voice_id": "string",
    "attempts": 1,
    "error": {
      "reason": "string",
      "message": "string"
    },
    "created_at": "<date-time>",
    "completed_at": "<date-time>",
    "failed_at": "<date-time>",
    "banned_at": "<date-time>",
    "ban_reason": "string"
  }
}

Kanalereignisse: 1

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.

.voice_clone.updated

Echo: .voice_clone.updated · pusher-js: voice_clone.updated

A Fish Audio voice clone was created or changed status (pending → cloning → ready or failed; archived after deletion; banned — blocked by a moderator). voice_id appears only once the clone is ready — put it into tts_settings.voice_id of a Fish Audio template.

Payload-Felder

voice_cloneerforderlich
object
iderforderlich
string (uuid)
providererforderlich
Wertefishaudio
string
display_nameerforderlich
string
languageoptional
string | null
Beispiel ru
descriptionoptional
string | null
statuserforderlich

Clone status. banned — a moderator blocked the clone: it is not accepted for new orders and cannot be deleted; the reason is in ban_reason.

Wertependingcloningreadyfailedarchivedbanned
string
voice_iderforderlich

The Fish Audio voice id (a 32-character hex string, not a UUID) — the value for tts_settings.voice_id of a template. Present only once the clone is ready, otherwise null.

string | null
attemptserforderlich
integer
Beispiel 1
errorerforderlich
object | null
reasonoptional

processing_error, max_retries, network, timeout, dispatch_failed, unbanned

string
messageoptional
string | null
created_aterforderlich
string (date-time)
completed_atoptional
string (date-time) | null
failed_atoptional
string (date-time) | null
banned_atoptional
string (date-time) | null
ban_reasonoptional

Why a moderator blocked the clone, or null.

string | null

Payload-Beispiel

{
  "voice_clone": {
    "id": "<uuid>",
    "provider": "fishaudio",
    "display_name": "string",
    "language": "ru",
    "description": "string",
    "status": "pending",
    "voice_id": "string",
    "attempts": 1,
    "error": {
      "reason": "string",
      "message": "string"
    },
    "created_at": "<date-time>",
    "completed_at": "<date-time>",
    "failed_at": "<date-time>",
    "banned_at": "<date-time>",
    "ban_reason": "string"
  }
}

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