Zum Inhalt
Lumean

Für KI-Agenten

Maschinenlesbare Einstiege in die Doku, Reihenfolge und API-Regeln. Wenn Sie einen Agenten einrichten, geben Sie ihm den Link zu dieser Seite oder zu /llms.txt.

Einstiegspunkte

  • /llms.txt

    Eine Karte aller Dokumentationsseiten mit Links zu ihren Markdown-Versionen. Beginnen Sie hier.

    https://lumean.app/llms.txt
  • llm.md

    Die gesamte API in einer Datei, mit Abschnitten und durchgehenden Rezepten. Für den vollen Kontext. Die Datei gibt es nur auf Russisch.

    https://api.lumean.app/docs/llm.md
  • .md

    Die Markdown-Version jeder Seite: Ersetzen Sie /developers/docs/ in der Adresse durch /developers/docs/md/. Für ein einzelnes Thema.

    https://lumean.app/de/developers/docs/md/<path>
  • OpenAPI

    Der REST-Vertrag: Operationen, Parameter und Schemas. Zum Generieren eines Clients und exakter Typen. Auf Russisch und Englisch verfügbar.

    https://api.lumean.app/docs/public-openapi.en.json
  • AsyncAPI

    WebSocket-Kanäle und -Ereignisse. Zum Abonnieren von Auftragsstatus statt Abfragen.

    https://api.lumean.app/docs/public-asyncapi.en.json

Reihenfolge

  1. Lesen Sie /llms.txt und wählen Sie die nötigen Seiten.
  2. Laden Sie deren Markdown-Versionen, nicht HTML.
  3. Schemas und Typen kommen aus OpenAPI.
  4. Senden Sie Anfragen mit dem Header X-API-KEY. Den Schlüssel erstellt der Kontoinhaber im Konto.

API-Regeln

An diesen Regeln scheitern Agenten am häufigsten. /llms.txt und die Markdown-Version dieser Seite enthalten dieselben Regeln auf Englisch.

  • Die Stimme steht in der Vorlage

    Ein Auftrag hat kein Feld voice_id. Die Stimme steht in config.tts_settings.voice_id der Vorlage, und der Auftrag verweist per template_id auf die Vorlage. Um einen einzelnen Auftrag mit einer anderen Stimme zu vertonen, übergeben Sie config_override.tts_settings.voice_id. Der zu vertonende Text kommt in input_text.

  • Aufträge laufen asynchron

    POST /orders antwortet mit 201 und Status created, ein Ergebnis gibt es noch nicht. Den Status erfahren Sie per Abfrage von GET /orders/{order} oder über WebSocket. partially_completed ist kein Endstatus: Ein Teil der Chunks ist fehlgeschlagen, Sie können sie wiederholen oder den Auftrag abbrechen.

  • In result.files[] stehen Pfade, keine Links

    Den Download-Link liefert POST /storage/url, er gilt eine Stunde. Die Dateien eines Auftrags werden 7 Tage nach seinem Abschluss aufbewahrt.

  • Eine Wiederholung ist ein neuer Auftrag

    POST /orders/{order}/retry erstellt einen neuen Auftrag mit denselben Parametern und wird erneut berechnet. Fehlgeschlagene Chunks werden im ursprünglichen Auftrag wiederholt: POST /orders/{order}/items/retry-failed. POST /orders hat keinen Idempotenzschlüssel, suchen Sie den Auftrag nach einem Verbindungsabbruch deshalb zuerst in der Liste.

  • Ein 429 hat mehrere Ursachen

    Das kann das Limit der Anfragerate sein, das Token-Kontingent des Schlüssels, ein Abo-Limit, das Limit gleichzeitiger Aufgaben oder eine Pause nach Sperren durch die Inhaltsrichtlinie. Die Ursache nennt das Feld reason. Enthält die Antwort einen Header Retry-After, warten Sie die angegebene Zeit. concurrency_limit_exceeded kommt ohne ihn und endet, sobald Ihre aktiven Aufträge abgeschlossen sind. limit_exceeded ist das Abo-Limit: Ein erneuter Versuch hilft erst nach dem Zurücksetzen des Zeitraums oder einem Tarifwechsel.

Was Modelle falsch verstehen

Die Liste aus Abschnitt 0 von llm.md. Geben Sie sie dem Agenten vor der ersten Anfrage in den Kontext.

  1. TTS-голос задаётся только через шаблон, а не полем заказа. Нет orders.voice_id. Порядок: положить voice_id в config.tts_settings.voice_id шаблона → создать заказ по этому шаблону. См. §11 (Рецепты).
  2. Текст для TTS передаётся в top-level поле input_text запроса POST /orders (сырая строка). НЕ кладите текст TTS в task_data. А вот для template-less SFX/music промпт идёт в task_data.
  3. У заказов НЕТ update/delete. Доступны только index, store, show, плюс действия cancel/retry. PUT/PATCH/DELETE /orders/{order} вернут 405/404.
  4. Два независимых лимита: rate-limit по числу запросов (429, reason: rate_limit_exceeded, заголовок Retry-After) и токен-квота по объёму генерации (429, reason: token_quota_exceeded; Retry-After — только у окна со сбросом по времени, у пула window: "quota" его нет). См. §6.
  5. Пагинация с разными базами: внешние каталоги голосов (voices/elevenlabs/library, voices/heygen) считают page с 0; обычные списки (orders, templates, templates/browse, а также каталог и клоны Cartesia voices/cartesia, voices/cartesia/clones, а также Fish Audio voices/fishaudio, voices/fishaudio/clones) — current_page с 1.
  6. Субтитры и другие сервисные файлы лежат ОТДЕЛЬНО — в result.service_files[], не в result.files[]. Оба поля — плоские массивы строк-путей (напр. .../output/final/service/subtitles.srt), генерируется только для TTS. Скачивается тем же POST /storage/url. См. §7.10.
  7. Сбой чанка чинится на уровне чанка, не заказа. У чанка бывают статусы failed (тех. ошибка) и policy_flagged (контент отклонён политикой провайдера). Частично готовый заказ (partially_completed) доводят до completed так: один вызов POST /orders/{order}/items/retry-failed забирает все failed разом, а policy_flagged добивают поштучно POST /orders/{order}/items/{item}/retry с исправленным text (повтор с тем же текстом бессмыслен). Order-level retry для этого не годится — он создаёт новый заказ. См. §7.11.
  8. Бесплатна только пауза {{pause}}; квадратные скобки и <break/> оплачиваются. {{pause=2s}} — наш формат: тишину строит воркер, до провайдера строка не доезжает, в цену и в длину фрагмента не входит. Любые […] ([шёпот], а заодно [1], [sic], [00:12]) и <break time="…"/> — синтаксис провайдера: он получает их целиком, модель читает их как указание диктору, а символы тарифицируются и занимают место во фрагменте. (ремарка), <тег>, *звёздочки* — прозвучат вслух и тоже тарифицируются. См. §8.3.
  9. Тонкие настройки голоса включаются флагом. Без tts_settings.advanced_voice_settings: true (по умолчанию false) на eleven_v3* до движка доезжает только stability, на eleven_v4* — stability и similarity_boost; остальные значения (в том числе speed) молча не влияют на звук — ошибки не будет. На прочих моделях флаг на звук не влияет. См. §8.2.
  10. Свой голос для Cartesia клонируется по API, но асинхронно. POST /voices/cartesia/clones (право voices.write) сразу отвечает 201 с клоном в статусе pending, а voice_id появляется только в статусе ready — ждите событие voice_clone.updated (§10) или опрашивайте GET /voices/cartesia/clones. В шаблон кладут voice_id клона, а НЕ его id. Клонирование требует живой подписки с Cartesia, только если сервис закрыт для оплаты с баланса (иначе 402 no_subscription), и упирается в потолок клонов: 2 без подписки, лимит тарифа с подпиской. См. §7.12, Рецепт H. То же у Fish Audio (POST /voices/fishaudio/clones, §7.12): правила те же, что у Cartesia, лимит клонов у Fish свой, voice_id — строка из 32 hex-символов, а не UUID.
  11. Не подбирайте адреса — все эндпоинты описаны в этом файле. Путь, которого нет, отвечает 404 с reason: "endpoint_not_found", текстом-подсказкой и ссылками на этот файл. Перебор несуществующих путей распознаётся как http probing: после нескольких таких 404 IP банится на ВСЕХ путях — 429 reason: "ip_banned" (5 мин → 10 → 30 → 1 ч → 24 ч). Получили endpoint_not_found — остановитесь и найдите нужный запрос здесь. См. §6.1, §12.
  12. Есть отдельный AI API (LLM-гейтвей), не входящий в /api/public/*. OpenAI- и Anthropic-совместимые ручки на https://api.lumean.app/v1 (/chat/completions, /responses, /messages, /models, /images/*) работают с ЛЮБЫМ ключом кабинета (Authorization: Bearer или x-api-key), оплата с баланса LUMC. Полностью — §14.
  13. Цены AI-моделей не фиксированы. Они меняются вслед за поставщиками (иногда несколько раз в день), модель может временно пропасть. Перед дорогой генерацией сверяйте цену — GET /api/public/ai/models/{key} (любой ключ, ETag → 304, пока цена прежняя) — и держите месячный лимит ключа. См. §14.6.

Diese Seite für KI

.md öffnenllm.md

Aktualisiert 18.10.2026 · API-Version 1.0.0