К содержанию
Lumean API

GET/templates/browse

Постраничный обход дерева шаблонов: папки и шаблоны в одном списке data.items[], папки идут первыми.

Не передан folder_id — отдаётся корень. Чтобы спуститься в папку, возьмите её id из items[] и повторите запрос с ?folder_id=<id>; путь до текущей папки приходит в data.breadcrumbs, сама папка — в data.current_folder.

Пагинация — в data.current_page / last_page / per_page / total.

Требуемое право ключа: templates.read.

На этой странице(3)

Параметры

Поля ввода живут прямо в строке запроса: подставьте значение — и получите готовый URL. Ниже — тип, обязательность и допустимые значения каждого параметра.

GEThttps://api.lumean.app/api/public/templates/browse
  • integerв queryнеобязательный≥ 1

    Номер страницы, начиная с 1.

  • integerв queryнеобязательный1..100

    Элементов на странице, 1..100. По умолчанию 15.

  • stringв queryнеобязательный

    Поле сортировки. По умолчанию name.

    Допустимые значения
  • stringв queryнеобязательный

    Направление сортировки. По умолчанию asc.

    Допустимые значения
  • stringв queryнеобязательныйuuid

    UUID папки. Не передан — отдаётся корень (folder_id = null). Хлебные крошки текущей папки приходят в data.breadcrumbs.

  • stringв queryнеобязательный≤ 64 симв.

    Показать только шаблоны сервисов этого типа задачи (default_task_type сервиса), например tts — все движки озвучки сразу. Пустые папки при фильтре скрываются.

  • stringв queryнеобязательный

    Показать только шаблоны этого сервиса. Код — короткая латинская строка: elevenlabs, heygen, lumimg, sfx, music; доступные вам перечисляет GET /usage в поле service_code.

Возможные ответы

200

Список папок и шаблонов

Пример тела
{
  "success": true,
  "message": "Templates browsed",
  "data": {
    "items": [
      {
        "type": "template",
        "id": "7e2a4c1d-8b3f-4a5e-9c6d-1f2e3a4b5c6d",
        "name": "Narrator Voice (EN)",
        "slug": null,
        "service_key": "elevenlabs",
        "service": {
          "id": 3,
          "code": "elevenlabs",
          "name": "ElevenLabs",
          "display_name": "ElevenLabs TTS",
          "payg_access": "everyone",
          "billing_mode": "pay_as_you_go",
          "unit_asset_id": 5,
          "unit_asset": {
            "id": 5,
            "code": "tts_units",
            "kind": "unit",
            "precision": 0,
            "name": "TTS Units",
            "deleted_at": null,
            "created_at": "2026-01-10T09:00:00+00:00",
            "updated_at": "2026-01-10T09:00:00+00:00"
          },
          "required_entitlement_id": null,
          "units_per_call": null,
          "units_per_char": 1,
          "units_per_image": null,
          "units_per_second": null,
          "min_billable_chars": 1,
          "lumcoin_per_token": 10,
          "lumc_precision": 2,
          "price_lumc_minor": null,
          "unit_size": 1,
          "uses_money_first_pricing": false,
          "rate_unit": "char",
          "display_category": "voice",
          "is_premium": false,
          "display_order": 1,
          "metadata": null,
          "is_active": true,
          "created_at": "2026-01-10T09:00:00+00:00",
          "updated_at": "2026-01-10T09:00:00+00:00"
        },
        "config": {
          "tts_settings": {
            "model_id": "eleven_multilingual_v2",
            "voice_id": "21m00Tcm4TlvDq8ikWAM",
            "mode": "mode_v1",
            "language_code": null,
            "advanced_voice_settings": true,
            "voice_settings": {
              "stability": 0.5,
              "similarity_boost": 0.75,
              "use_speaker_boost": true
            }
          }
        },
        "is_public": false,
        "folder_id": null,
        "created_at": "2026-06-01T10:00:00+00:00",
        "updated_at": "2026-06-01T10:00:00+00:00"
      },
      {
        "type": "folder",
        "id": "c1d2e3f4-5a6b-4c7d-8e9f-0a1b2c3d4e5f",
        "name": "Podcast Intros",
        "templates_count": 3,
        "created_at": "2026-05-01T09:00:00+00:00",
        "updated_at": "2026-05-01T09:00:00+00:00"
      }
    ],
    "current_page": 1,
    "last_page": 1,
    "per_page": 15,
    "total": 2,
    "current_folder": null,
    "breadcrumbs": [
      {
        "id": null,
        "name": "Root"
      }
    ]
  }
}
Поля ответа
successобязательное

Признак успеха. Решение принимайте по HTTP-коду: у любого ответа 2xx здесь true, а ошибка приходит телом другой формы, где этого поля может не быть вовсе.

boolean
messageобязательное

Пояснение для человека, на языке аккаунта. Показать пользователю можно; разбирать программно — нет: формулировки меняются без предупреждения и кодом ошибки не являются.

string
dataобязательное

Содержимое папки с пагинацией и цепочкой предков — для дерева шаблонов в интерфейсе.

BrowseTemplatesBrowseTemplates
itemsобязательное

Содержимое текущей папки — вперемешку папки и шаблоны, в порядке сортировки. Различать их можно по наличию service_key: он есть только у шаблона.

array<TemplateItem>TemplateItem
элемент массива
typeобязательное
Значенияtemplate
string
idобязательное
string
nameобязательное
string
slugнеобязательное
string
service_keyнеобязательное
string
serviceнеобязательное
может быть null
Service | null
configнеобязательное
object | string
is_publicнеобязательное
string
folder_idнеобязательное
string
created_atобязательное
string
updated_atобязательное
string
templates_countнеобязательное
string | integer
current_pageобязательное

Номер текущей страницы, с 1.

integer
last_pageобязательное

Номер последней страницы. Равен current_page — значит, дальше ничего нет.

integer
per_pageобязательное

Сколько записей на странице.

integer
totalобязательное

Сколько записей в папке всего, по всем страницам.

integer
current_folderобязательное

Папка, содержимое которой показано. null — вы в корне.

может быть null
object
idобязательное

UUID текущей папки — его подставляют в folder_id, чтобы открыть её снова.

string
nameобязательное

Название текущей папки.

string
breadcrumbsобязательное

Путь от корня до текущей папки, от предка к потомку — готов к отрисовке навигационной цепочки.

array<object>
элемент массива
idнеобязательное

UUID папки-предка — значение для folder_id, чтобы подняться на этот уровень.

uuid
string
nameнеобязательное

Название папки-предка.

string
401

Невалидный или отсутствующий X-API-KEY

Разобрать этот ответ
Пример тела
{
  "success": false,
  "message": "API key is missing. Provide it in the X-API-KEY header.",
  "data": null
}
Поля ответа
successобязательное

Всегда false в ответах об ошибке.

boolean
messageобязательное

Текст ошибки на языке ключа (задаётся заголовком X-Locale).

string
dataобязательное

Всегда null, когда запрос отклонён до обработки.

может быть null
null
403

У ключа нет права templates.read

Разобрать этот ответ
Пример тела
{
  "success": false,
  "message": "This API key does not have permission to perform this action."
}
Поля ответа
successобязательное

Всегда false в ответах об ошибке.

boolean
messageобязательное

Текст ошибки на языке ключа (задаётся заголовком X-Locale).

string
422

Ошибка валидации. Поля с ошибками перечислены в errors.

Разобрать этот ответ
Пример тела
{
  "message": "string",
  "errors": {}
}
Поля ответа
messageобязательное

Errors overview.

string
errorsобязательное

A detailed description of each field that failed validation.

object
*необязательное
произвольные ключи
array<string>

Скормить страницу ИИ

Открыть .mdllm.md

спека 0.0.1