Журналы и асинхронные задачи
Платформа хранит детали запросов, записи рисования и асинхронные задачи (видео, музыка и т. п.) раздельно. После входа откройте «Журналы использования» или «Журналы задач» в левой навигации. На этой странице описаны все три раздела данных, состояния задач и способы запроса через 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);
- возврат пока не прошёл, и система удерживает квоту для повторной попытки или ручной сверки. В этом случае сохраните идентификатор задачи и обратитесь в поддержку.
Справочник API
Заголовок раздела «Справочник API»Запросы журналов
Заголовок раздела «Запросы журналов»Чтобы подтянуть расход в свою систему учёта или мониторинга, используйте эндпоинты только для чтения ниже. Они аутентифицируются сеансом входа и всегда возвращают данные только по вашему аккаунту.
| Данные | Эндпоинт | Единица времени |
|---|---|---|
| Общие журналы | 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/fetchGET /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}/fetchGET /mj/task/{id}/image-seedPOST /mj/task/list-by-condition |
Возвращает состояние задачи, seed изображения или список задач по условию; поддерживаются также пути с префиксом {mode}. |
| Прокси изображений Midjourney | GET /mj/image/{id}GET /{mode}/mj/image/{id} |
Получает или проксирует сгенерированное изображение по идентификатору задачи Midjourney. |
| Расширенные действия Midjourney | POST /mj/insight-face/swapPOST /mj/submit/upload-discord-images |
Расширенные возможности: замена лиц и загрузка изображений Discord. |
Связь с дашбордом
Заголовок раздела «Связь с дашбордом»Журналы — это детали по каждой записи, а дашборд агрегирует данные по времени, модели и группе. Обновляются они в разные моменты: новый запрос сначала появляется в журналах, а графики меняются только после агрегации, поэтому кратковременное расхождение — это нормально.
Разбирая вызов, начните с журнала использования и найдите запрос по времени, модели, Request ID или Upstream Request ID. Для асинхронного запроса запишите task_id, возвращённый эндпоинтом отправки, и затем запросите итоговое состояние задачи и подробности сбоя. Если нужно обратиться в поддержку, быстрее всего указать идентификатор запроса или задачи.