Перейти к содержимому

Журналы и асинхронные задачи

Платформа хранит детали запросов, записи рисования и асинхронные задачи (видео, музыка и т. п.) раздельно. После входа откройте «Журналы использования» или «Журналы задач» в левой навигации. На этой странице описаны все три раздела данных, состояния задач и способы запроса через API.

Разделам соответствуют пути:

  • /usage-logs/common — журналы использования общего API и детали тарификации;
  • /usage-logs/drawing — задачи рисования Midjourney;
  • /usage-logs/task — общие асинхронные задачи, например Suno и видео.

Нажмите «Журналы использования» в боковой панели или перейдите на /usage-logs/common, чтобы увидеть API-запросы и детали тарификации.

Фильтр Описание
Период Фильтр по времени создания записи. Обе границы входят в диапазон.
Имя модели Фильтр по имени модели.
Группа Фильтр по группе, использованной запросом.
Тип журнала Все типы, пополнение, расход, управление, система, ошибка, возврат, вход.
Имя токена Фильтр по имени API-ключа.
Идентификатор запроса Поиск одного запроса по идентификатору запроса платформы.
Идентификатор вышестоящего запроса Поиск запроса по идентификатору, который вернул вышестоящий сервис. Указав его в обращении, вы заметно ускорите разбор.

Значения в панели фильтров следуют за активными фильтрами:

  • Usage — суммарная квота записей расхода в текущей выборке; доступна по времени, модели, группе и ключу.
  • RPM — число запросов расхода за последние 60 секунд.
  • TPM — суммарное число входных и выходных токенов за последние 60 секунд.

В списке есть столбцы: время и тип, токен, модель, поток, токены, стоимость, длительность и детали.

  • Токены — входные / выходные токены. При использовании кэша могут отображаться число чтений и записей кэша.
  • Стоимость — израсходованная или возвращённая квота по этой записи.
  • Длительность — время ответа для записей расхода или ошибок, где есть данные измерений. Для потоковых запросов дополнительно могут отображаться время первого ответа (FRT) и пропускная способность.
  • Детали — нажмите на запись, чтобы открыть окно с подробностями. В зависимости от типа журнала и фактически сохранённых полей оно может содержать идентификатор запроса, сопоставление моделей, причину ошибки или возврата, разбивку по токенам, детали тарификации, расход кэша/аудио/изображений, состояние потока — не все блоки отображаются всегда.

Журналы пишутся с небольшой задержкой: только что отправленный запрос появляется через несколько секунд, поэтому сначала обновите страницу.

Не каждый неуспешный ответ порождает запись Error: запросы, отклонённые ещё до обращения к модели (неверный ключ, нехватка квоты), обычно не создают запись о расходе вовсе.

Настройка профиля «Записывать IP-адрес» управляет только сохранением IP в журналах расхода и ошибок и не влияет на то, создаётся ли сама запись.

«Журналы задач» включают два подраздела — «Журналы рисования» и «Журналы задач»:

  • Журналы рисования — задачи рисования Midjourney.
  • Журналы задач — асинхронные задачи: текст в видео, изображение в видео, генерация аудио и подобные.

Нажмите «Журналы задач» → «Журналы рисования» в боковой панели или перейдите на /usage-logs/drawing, чтобы увидеть записи задач рисования Midjourney.

Журналы рисования фильтруются по:

  • диапазону дат;
  • идентификатору задачи Midjourney.

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

Состояния рисования: не начата, в очереди, выполняется, успех, сбой, ожидание окна.

Нажмите «Журналы задач» → «Журналы задач» в боковой панели или перейдите на /usage-logs/task, чтобы увидеть журналы асинхронных задач.

Асинхронные эндпоинты видео, музыки и подобных не возвращают окончательный результат в момент отправки запроса. После успешной отправки платформа возвращает публичный идентификатор задачи и сохраняет запись, а затем фоновый процесс опрашивает вышестоящий сервис и обновляет состояние, прогресс и результат.

Журналы задач фильтруются по:

  • диапазону дат;
  • идентификатору задачи.

В списке задач отображаются время отправки и завершения, идентификатор задачи, платформа и действие, длительность, состояние, прогресс и детали:

  • если задача Suno завершилась успешно и вернула адрес аудио, в столбце деталей доступен предпросмотр звука;
  • некоторые задачи видео после успешного завершения показывают вход в предпросмотр; также можно запросить /v1/videos/{task_id}/content с сеансом входа того же аккаунта или его API-ключом, чтобы получить содержимое готового видео. Эндпоинт проверяет принадлежность задачи и не возвращает содержимое, если задача не завершена или принадлежит другому пользователю;
  • прочие сбойные записи показывают причину сбоя в столбце деталей; при нажатии открывается полная информация.

В журналах асинхронных задач используются следующие состояния. Разные платформы иногда пишут состояние по-своему, поэтому при чтении через API обрабатывайте их снисходительно.

Состояние Значение
Не начата Запись задачи создана, но обработка ещё не началась.
В очереди Отправлена вышестоящему сервису, ожидает дальнейшей обработки.
В ожидании Попала в очередь обработки.
Выполняется Обрабатывается.
Успех Завершена, результат можно посмотреть или получить.
Сбой Обработка не удалась; причина записывается в задачу, если её сообщает вышестоящий сервис.
Неизвестно Внутреннее запасное значение для неизвестного состояния.

Состояние обновляется фоновым опросом примерно раз в 15 секунд, поэтому у только что отправленной задачи оно ненадолго отстаёт. Опрашивая результат через API, придерживайтесь такого же темпа, а не запрашивайте в плотном цикле. Задачи, которые так и не завершились, по тайм-ауту переходят в состояние сбоя.

Когда задача переходит в конечное состояние сбоя, система обычно пытается вернуть квоту, списанную на этапе отправки, и при успешном возврате записывает журнал «возврат». После успешного возврата очищается сумма к возврату в записи задачи и уменьшается накопленный расход; число запросов при этом не откатывается.

Следующие ситуации могут приводить к временному расхождению состояния на странице и баланса:

  • у задачи изначально не было списанной заранее квоты (стоимость отображается как 0);
  • возврат пока не прошёл, и система удерживает квоту для повторной попытки или ручной сверки. В этом случае сохраните идентификатор задачи и обратитесь в поддержку.

Чтобы подтянуть расход в свою систему учёта или мониторинга, используйте эндпоинты только для чтения ниже. Они аутентифицируются сеансом входа и всегда возвращают данные только по вашему аккаунту.

Данные Эндпоинт Единица времени
Общие журналы GET /api/log/self секунды (created_at)
Статистика журналов GET /api/log/self/stat секунды
Рисование Midjourney GET /api/mj/self миллисекунды (submit_time)
Асинхронные задачи GET /api/task/self секунды (submit_time)

Эти эндпоинты используют параметры постраничного вывода p и page_size. Нумерация начинается с 1, а page_size больше 100 усекается до 100.

Кроме того, GET /api/log/token читает недавние журналы ключа, аутентифицируясь самим ключом, без сеанса входа — удобно для самопроверки расхода на стороне сервера. Возвращается не более 1000 последних записей, и запрос работает даже при истёкшем ключе или исчерпанной квоте.

Частые параметры запроса для GET /api/task/self: p, page_size, task_id, start_timestamp, end_timestamp; также принимаются platform, action и status.

Параметры start_timestamp и end_timestamp эндпоинтов задач используют Unix-время в секундах; временные параметры эндпоинтов рисования Midjourney — в миллисекундах.

Эндпоинты ниже отправляют и опрашивают асинхронные задачи видео, музыки и рисования. Все они аутентифицируются по API-ключу. Эндпоинт содержимого видео принимает также сеанс входа и проверяет принадлежность задачи, поэтому возвращает только ваши собственные задачи.

Какие платформы доступны, зависит от подключённых сейчас моделей — проверить можно фильтром по типу модели в Каталоге моделей.

Конечная точка Путь Описание
Генерация видео OpenAI POST /v1/videos Создаёт асинхронную задачу генерации видео, совместимую с OpenAI, и при успехе возвращает идентификатор задачи.
Запрос задачи видео OpenAI GET /v1/videos/{task_id} Возвращает состояние, прогресс и результат задачи генерации видео.
Получение содержимого видео GET /v1/videos/{task_id}/content Потоково возвращает готовое видео. Система получает его у вышестоящего сервиса по результату задачи или декодирует сохранённый data URL.
Ремикс видео POST /v1/videos/{video_id}/remix Создаёт новую асинхронную задачу ремикса на основе существующего видео.
Старая генерация видео POST /v1/video/generations Путь совместимости со старой генерацией видео; создаёт асинхронную задачу.
Старый запрос задачи видео GET /v1/video/generations/{task_id} Возвращает состояние и результат старой задачи генерации видео.
Kling: текст в видео POST /kling/v1/videos/text2video Отправляет задачу генерации видео из текста в формате Kling; система сначала конвертирует формат запроса.
Kling: изображение в видео POST /kling/v1/videos/image2video Отправляет задачу генерации видео из изображения в формате Kling.
Запрос задачи Kling GET /kling/v1/videos/text2video/{task_id}
GET /kling/v1/videos/image2video/{task_id}
Возвращает результат задачи Kling «текст в видео» или «изображение в видео».
Официальный эндпоинт Jimeng POST /jimeng/ Совместим с форматом официального API Jimeng; параметры Action, Version и другие разделяют отправку задачи и запрос.
Отправка задачи Suno POST /suno/submit/{action} Отправляет задачу генерации музыки Suno; тип задачи определяется параметром action.
Запрос задачи Suno POST /suno/fetch
GET /suno/fetch/{id}
Возвращает список задач Suno либо состояние и результат конкретной задачи.
Отправка задачи Midjourney POST /mj/submit/{action}
POST /{mode}/mj/submit/{action}
Поддерживает действия imagine, describe, blend, change, simple-change, edits, video, action, modal и shorten.
Запрос задачи Midjourney GET /mj/task/{id}/fetch
GET /mj/task/{id}/image-seed
POST /mj/task/list-by-condition
Возвращает состояние задачи, seed изображения или список задач по условию; поддерживаются также пути с префиксом {mode}.
Прокси изображений Midjourney GET /mj/image/{id}
GET /{mode}/mj/image/{id}
Получает или проксирует сгенерированное изображение по идентификатору задачи Midjourney.
Расширенные действия Midjourney POST /mj/insight-face/swap
POST /mj/submit/upload-discord-images
Расширенные возможности: замена лиц и загрузка изображений Discord.

Журналы — это детали по каждой записи, а дашборд агрегирует данные по времени, модели и группе. Обновляются они в разные моменты: новый запрос сначала появляется в журналах, а графики меняются только после агрегации, поэтому кратковременное расхождение — это нормально.

Разбирая вызов, начните с журнала использования и найдите запрос по времени, модели, Request ID или Upstream Request ID. Для асинхронного запроса запишите task_id, возвращённый эндпоинтом отправки, и затем запросите итоговое состояние задачи и подробности сбоя. Если нужно обратиться в поддержку, быстрее всего указать идентификатор запроса или задачи.