Para agentes de IA
Puntos de entrada a la documentación legibles por máquina, orden de lectura y reglas de la API. Si configura un agente, dele el enlace a esta página o a /llms.txt.
Puntos de entrada
- /llms.txt
Un mapa de todas las páginas de la documentación con enlaces a sus versiones Markdown. Empiece aquí.
https://lumean.app/llms.txt - llm.md
Toda la API en un archivo, con secciones y recetas de principio a fin. Úselo cuando necesite el contexto completo. El archivo solo está en ruso.
https://api.lumean.app/docs/llm.md - .md
La versión Markdown de cualquier página: sustituya /developers/docs/ en la dirección por /developers/docs/md/. Úsela cuando necesite un solo tema.
https://lumean.app/es/developers/docs/md/<path> - OpenAPI
El contrato REST: operaciones, parámetros y esquemas. Para generar un cliente y tipos exactos. Disponible en ruso e inglés.
https://api.lumean.app/docs/public-openapi.en.json - AsyncAPI
Canales y eventos de WebSocket. Para suscribirse a los estados de los pedidos en lugar de consultarlos.
https://api.lumean.app/docs/public-asyncapi.en.json
Orden de lectura
- Lea /llms.txt y elija las páginas que necesita.
- Descargue sus versiones Markdown, no el HTML.
- Tome los esquemas y tipos de OpenAPI.
- Envíe las solicitudes con el encabezado X-API-KEY. La clave la crea el titular de la cuenta en su cuenta.
Reglas de la API
Los agentes fallan en estas reglas con más frecuencia. /llms.txt y la versión Markdown de esta página contienen las mismas reglas en inglés.
La voz se define en la plantilla
Un pedido no tiene campo voice_id. La voz se guarda en config.tts_settings.voice_id de la plantilla, y el pedido hace referencia a la plantilla con template_id. Para locutar un solo pedido con otra voz, envíe config_override.tts_settings.voice_id. El texto a locutar va en input_text.
Los pedidos se ejecutan de forma asíncrona
POST /orders responde 201 con estado created y todavía sin resultado. El estado se consulta con GET /orders/{order} o por WebSocket. partially_completed no es un estado final: algunos fragmentos fallaron y puede reintentarlos o cancelar el pedido.
result.files[] contiene rutas, no enlaces
El enlace de descarga lo devuelve POST /storage/url y es válido durante una hora. Los archivos del pedido se conservan 7 días después de que termina.
Repetir un pedido crea un pedido nuevo
POST /orders/{order}/retry crea un pedido nuevo con los mismos parámetros y se cobra de nuevo. Los fragmentos fallidos se reintentan dentro del pedido original: POST /orders/{order}/items/retry-failed. POST /orders no tiene clave de idempotencia, así que tras un corte de conexión busque primero el pedido en la lista.
Un 429 tiene varias causas
Puede ser el límite de frecuencia de solicitudes, la cuota de tokens de la clave, un límite de la suscripción, el límite de tareas simultáneas o una pausa tras bloqueos de la política de contenido. La causa la indica el campo reason. Si la respuesta trae un encabezado Retry-After, espere el tiempo que indica. concurrency_limit_exceeded llega sin él y se levanta cuando terminan sus pedidos activos. limit_exceeded es el límite de la suscripción: reintentar no sirve hasta que se reinicie el periodo o cambie el plan.
Lo que los modelos entienden mal
La lista de la sección 0 de llm.md. Añádala al contexto del agente antes de la primera solicitud.
- TTS-голос задаётся только через шаблон, а не полем заказа. Нет
orders.voice_id. Порядок: положитьvoice_idвconfig.tts_settings.voice_idшаблона → создать заказ по этому шаблону. См. §11 (Рецепты). - Текст для TTS передаётся в top-level поле
input_textзапросаPOST /orders(сырая строка). НЕ кладите текст TTS вtask_data. А вот для template-less SFX/music промпт идёт вtask_data. - У заказов НЕТ update/delete. Доступны только
index,store,show, плюс действияcancel/retry.PUT/PATCH/DELETE /orders/{order}вернут 405/404. - Два независимых лимита: rate-limit по числу запросов (429,
reason: rate_limit_exceeded, заголовокRetry-After) и токен-квота по объёму генерации (429,reason: token_quota_exceeded;Retry-After— только у окна со сбросом по времени, у пулаwindow: "quota"его нет). См. §6. - Пагинация с разными базами: внешние каталоги голосов (
voices/elevenlabs/library,voices/heygen) считаютpageс 0; обычные списки (orders,templates,templates/browse, а также каталог и клоны Cartesiavoices/cartesia,voices/cartesia/clones, а также Fish Audiovoices/fishaudio,voices/fishaudio/clones) —current_pageс 1. - Субтитры и другие сервисные файлы лежат ОТДЕЛЬНО — в
result.service_files[], не вresult.files[]. Оба поля — плоские массивы строк-путей (напр..../output/final/service/subtitles.srt), генерируется только для TTS. Скачивается тем жеPOST /storage/url. См. §7.10. - Сбой чанка чинится на уровне чанка, не заказа. У чанка бывают статусы
failed(тех. ошибка) иpolicy_flagged(контент отклонён политикой провайдера). Частично готовый заказ (partially_completed) доводят доcompletedтак: один вызовPOST /orders/{order}/items/retry-failedзабирает всеfailedразом, аpolicy_flaggedдобивают поштучноPOST /orders/{order}/items/{item}/retryс исправленнымtext(повтор с тем же текстом бессмыслен). Order-levelretryдля этого не годится — он создаёт новый заказ. См. §7.11. - Бесплатна только пауза
{{pause}}; квадратные скобки и<break/>оплачиваются.{{pause=2s}}— наш формат: тишину строит воркер, до провайдера строка не доезжает, в цену и в длину фрагмента не входит. Любые[…]([шёпот], а заодно[1],[sic],[00:12]) и<break time="…"/>— синтаксис провайдера: он получает их целиком, модель читает их как указание диктору, а символы тарифицируются и занимают место во фрагменте.(ремарка),<тег>,*звёздочки*— прозвучат вслух и тоже тарифицируются. См. §8.3. - Тонкие настройки голоса включаются флагом. Без
tts_settings.advanced_voice_settings: true(по умолчаниюfalse) наeleven_v3*до движка доезжает толькоstability, наeleven_v4*—stabilityиsimilarity_boost; остальные значения (в том числеspeed) молча не влияют на звук — ошибки не будет. На прочих моделях флаг на звук не влияет. См. §8.2. - Свой голос для 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, только если сервис закрыт для оплаты с баланса (иначе 402no_subscription), и упирается в потолок клонов: 2 без подписки, лимит тарифа с подпиской. См. §7.12, Рецепт H. То же у Fish Audio (POST /voices/fishaudio/clones, §7.12): правила те же, что у Cartesia, лимит клонов у Fish свой,voice_id— строка из 32 hex-символов, а не UUID. - Не подбирайте адреса — все эндпоинты описаны в этом файле. Путь, которого нет, отвечает
404 с
reason: "endpoint_not_found", текстом-подсказкой и ссылками на этот файл. Перебор несуществующих путей распознаётся как http probing: после нескольких таких 404 IP банится на ВСЕХ путях — 429reason: "ip_banned"(5 мин → 10 → 30 → 1 ч → 24 ч). Получилиendpoint_not_found— остановитесь и найдите нужный запрос здесь. См. §6.1, §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. - Цены AI-моделей не фиксированы. Они меняются вслед за поставщиками (иногда несколько раз в
день), модель может временно пропасть. Перед дорогой генерацией сверяйте цену —
GET /api/public/ai/models/{key}(любой ключ, ETag → 304, пока цена прежняя) — и держите месячный лимит ключа. См. §14.6.
Esta página para IA
Updated 18/10/2026 · versión de la API 1.0.0