Справочник · версия 2026-11-01
API
Базовый адрес https://api.hawklance.ai/v1. Ключ передаётся в заголовке Authorization: Bearer …, подробнее в разделе «Ключи и доступ».
simulated в ответе это показывает.Видео
Создание ролика, статус, отмена и удаление. Генерация идёт асинхронно: создайте видео и следите за статусом запросами или вебхуком.
Создать видео
post/v1/videos
Ставит ролик в очередь и сразу отвечает. Передайте prompt либо template. Боевой ключ сразу списывает токены; при ошибке рендера или отмене они возвращаются.
Параметры
Idempotency-KeystringПовтор с тем же ключом вернёт уже созданное видео, а не новое. Пригодится при обрыве сети.
до 200 символов
Тело запроса
promptstringОписание ролика. Обязательно, если нет template.
до 12 000 символов
templatestringИдентификатор шаблона. Обязателен, если нет prompt.
inputsobjectЗначения полей шаблона: id файлов или текст. Поля — в GET /templates/{id}.
imagesstring[]Id фото для своего описания, по порядку <Picture 1>, <Picture 2>…
до 9 шт.
modelstringМодель.
hawklance-4.8 · по умолчанию hawklance-4.8
duration_secondsintegerДлина ролика. У шаблона своя длина, поле не передаётся.
от 5 до 15 · по умолчанию 5
aspect_ratiostringФормат. У шаблона — из его aspect_ratios.
9:16, 16:9 · по умолчанию 9:16
qualitystringКачество. 1080p — скоро.
480p, 720p · по умолчанию 480p
seedintegerЧисло для повторяемого результата.
metadataobjectВаши метки, вернутся в ответе и вебхуке.
simulatestringТолько с тестовым ключом: чем закончится ролик.
success, failed, moderated · по умолчанию success
Ответы
- 200Повтор с тем же Idempotency-Key: заголовок Idempotent-Replayed: true.
- 202Видео в очереди.
- 400Неверное поле: param показывает какое.
- 401Ключ не передан, неверен или отозван.
- 402Не хватает токенов или достигнут месячный лимит.
- 404Такого шаблона нет.
- 429Превышен лимит запросов или одновременных видео.
curl -X POST https://api.hawklance.ai/v1/videos \
-H "Authorization: Bearer $HAWKLANCE_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"template": "novyy-obraz",
"inputs": {
"person": [
"file_3Hq9XkLs2VbN7mPz0RtYc4Wd"
],
"new_look": [
"file_7Bv1NcXz5QwE2rTy8UiOp3As"
]
},
"quality": "720p",
"metadata": {
"order_id": "4815"
}
}'{
"id": "vid_8fK2mQxLp0ZrT4nYw7Vb1sDc",
"object": "video",
"mode": "test",
"status": "succeeded",
"progress": 1,
"model": "hawklance-4.8",
"template": "novyy-obraz",
"prompt": null,
"inputs": {
"person": [
"file_3Hq9XkLs2VbN7mPz0RtYc4Wd"
],
"new_look": [
"file_7Bv1NcXz5QwE2rTy8UiOp3As"
]
},
"images": [
"file_3Hq9XkLs2VbN7mPz0RtYc4Wd",
"file_7Bv1NcXz5QwE2rTy8UiOp3As"
],
"duration_seconds": 10,
"aspect_ratio": "9:16",
"quality": "720p",
"width": 768,
"height": 1344,
"seed": 482910375,
"cost": {
"tokens": 390,
"charged": false
},
"estimated_seconds": 12,
"output": {
"url": "https://firsts3.ru/hawklance/templates/novyy-obraz/preview.mp4?v=2",
"poster_url": "https://firsts3.ru/hawklance/templates/novyy-obraz/poster.jpg",
"expires_at": "2026-11-02T18:04:12.000Z"
},
"error": null,
"metadata": {
"order_id": "4815"
},
"simulated": true,
"created_at": "2026-11-02T12:04:00.000Z",
"finished_at": "2026-11-02T12:04:12.000Z"
}Список видео
get/v1/videos
Видео режима, которому принадлежит ключ.
Параметры
limitintegerСколько записей вернуть, от 1 до 100.
от 1 до 100 · по умолчанию 20
afterstringnext_cursor предыдущей страницы.
statusstringТолько видео в этом статусе.
queued, running, succeeded, failed, canceled
Ответы
- 200Список, новые сверху.
- 401Ключ не передан, неверен или отозван.
curl https://api.hawklance.ai/v1/videos \
-H "Authorization: Bearer $HAWKLANCE_API_KEY"{
"object": "list",
"data": [
{
"id": "vid_8fK2mQxLp0ZrT4nYw7Vb1sDc",
"object": "video",
"mode": "test",
"status": "succeeded",
"progress": 1,
"model": "hawklance-4.8",
"template": "novyy-obraz",
"prompt": null,
"inputs": {
"person": [
"file_3Hq9XkLs2VbN7mPz0RtYc4Wd"
],
"new_look": [
"file_7Bv1NcXz5QwE2rTy8UiOp3As"
]
},
"images": [
"file_3Hq9XkLs2VbN7mPz0RtYc4Wd",
"file_7Bv1NcXz5QwE2rTy8UiOp3As"
],
"duration_seconds": 10,
"aspect_ratio": "9:16",
"quality": "720p",
"width": 768,
"height": 1344,
"seed": 482910375,
"cost": {
"tokens": 390,
"charged": false
},
"estimated_seconds": 12,
"output": {
"url": "https://firsts3.ru/hawklance/templates/novyy-obraz/preview.mp4?v=2",
"poster_url": "https://firsts3.ru/hawklance/templates/novyy-obraz/poster.jpg",
"expires_at": "2026-11-02T18:04:12.000Z"
},
"error": null,
"metadata": {
"order_id": "4815"
},
"simulated": true,
"created_at": "2026-11-02T12:04:00.000Z",
"finished_at": "2026-11-02T12:04:12.000Z"
}
],
"has_more": false,
"next_cursor": null
}Получить видео
get/v1/videos/{id}
Статус и результат. Опрашивайте не чаще раза в 5 секунд или подпишитесь на вебхук.
Параметры
idstringобязательноИдентификатор видео.
Ответы
- 200Видео.
- 401Ключ не передан, неверен или отозван.
- 404Video не найден(о) или принадлежит другому режиму.
curl https://api.hawklance.ai/v1/videos/vid_... \
-H "Authorization: Bearer $HAWKLANCE_API_KEY"{
"id": "vid_8fK2mQxLp0ZrT4nYw7Vb1sDc",
"object": "video",
"mode": "test",
"status": "succeeded",
"progress": 1,
"model": "hawklance-4.8",
"template": "novyy-obraz",
"prompt": null,
"inputs": {
"person": [
"file_3Hq9XkLs2VbN7mPz0RtYc4Wd"
],
"new_look": [
"file_7Bv1NcXz5QwE2rTy8UiOp3As"
]
},
"images": [
"file_3Hq9XkLs2VbN7mPz0RtYc4Wd",
"file_7Bv1NcXz5QwE2rTy8UiOp3As"
],
"duration_seconds": 10,
"aspect_ratio": "9:16",
"quality": "720p",
"width": 768,
"height": 1344,
"seed": 482910375,
"cost": {
"tokens": 390,
"charged": false
},
"estimated_seconds": 12,
"output": {
"url": "https://firsts3.ru/hawklance/templates/novyy-obraz/preview.mp4?v=2",
"poster_url": "https://firsts3.ru/hawklance/templates/novyy-obraz/poster.jpg",
"expires_at": "2026-11-02T18:04:12.000Z"
},
"error": null,
"metadata": {
"order_id": "4815"
},
"simulated": true,
"created_at": "2026-11-02T12:04:00.000Z",
"finished_at": "2026-11-02T12:04:12.000Z"
}Удалить видео
delete/v1/videos/{id}
Удаляет завершённое видео и файл результата. Идущее сначала отмените.
Параметры
idstringобязательноИдентификатор видео.
Ответы
- 200Удалено.
- 401Ключ не передан, неверен или отозван.
- 404Video не найден(о) или принадлежит другому режиму.
- 409Видео ещё идёт.
curl -X DELETE https://api.hawklance.ai/v1/videos/vid_... \
-H "Authorization: Bearer $HAWKLANCE_API_KEY"{
"id": "vid_8fK2mQxLp0ZrT4nYw7Vb1sDc",
"object": "video",
"deleted": true
}Отменить видео
post/v1/videos/{id}/cancel
Останавливает незавершённое видео и возвращает токены.
Параметры
idstringобязательноИдентификатор видео.
Ответы
- 200Отменено.
- 401Ключ не передан, неверен или отозван.
- 404Video не найден(о) или принадлежит другому режиму.
- 409Видео уже завершилось.
curl -X POST https://api.hawklance.ai/v1/videos/vid_.../cancel \
-H "Authorization: Bearer $HAWKLANCE_API_KEY"{
"id": "vid_8fK2mQxLp0ZrT4nYw7Vb1sDc",
"object": "video",
"mode": "test",
"status": "canceled",
"progress": 0,
"model": "hawklance-4.8",
"template": "novyy-obraz",
"prompt": null,
"inputs": {
"person": [
"file_3Hq9XkLs2VbN7mPz0RtYc4Wd"
],
"new_look": [
"file_7Bv1NcXz5QwE2rTy8UiOp3As"
]
},
"images": [
"file_3Hq9XkLs2VbN7mPz0RtYc4Wd",
"file_7Bv1NcXz5QwE2rTy8UiOp3As"
],
"duration_seconds": 10,
"aspect_ratio": "9:16",
"quality": "720p",
"width": 768,
"height": 1344,
"seed": 482910375,
"cost": {
"tokens": 390,
"charged": false
},
"estimated_seconds": 12,
"output": null,
"error": null,
"metadata": {
"order_id": "4815"
},
"simulated": true,
"created_at": "2026-11-02T12:04:00.000Z",
"finished_at": "2026-11-02T12:04:12.000Z"
}Файлы
Фото, видео и аудио для генераций. Файл принадлежит режиму ключа, которым загружен.
Загрузить файл
post/v1/files
Фото и аудио до 25 МБ, видео до 200 МБ. Форматы: JPG, PNG, WebP, HEIC, AVIF; MP4, MOV, WebM; MP3, M4A, AAC, WAV, OGG.
Тело запроса
filestringобязательноСам файл.
Ответы
- 201Файл принят.
- 400Файла нет в запросе.
- 401Ключ не передан, неверен или отозван.
- 413Файл слишком большой.
- 415Формат не поддерживается.
curl -X POST https://api.hawklance.ai/v1/files \
-H "Authorization: Bearer $HAWKLANCE_API_KEY" \
-F file=@portrait.jpg{
"id": "file_3Hq9XkLs2VbN7mPz0RtYc4Wd",
"object": "file",
"mode": "test",
"kind": "image",
"name": "portrait.jpg",
"bytes": 482113,
"content_type": "image/jpeg",
"created_at": "2026-11-02T12:03:41.000Z"
}Список файлов
get/v1/files
Файлы режима, которому принадлежит ключ.
Параметры
limitintegerСколько записей вернуть, от 1 до 100.
от 1 до 100 · по умолчанию 20
Ответы
- 200Список, новые сверху.
- 401Ключ не передан, неверен или отозван.
curl https://api.hawklance.ai/v1/files \
-H "Authorization: Bearer $HAWKLANCE_API_KEY"{
"object": "list",
"data": [
{
"id": "file_3Hq9XkLs2VbN7mPz0RtYc4Wd",
"object": "file",
"mode": "test",
"kind": "image",
"name": "portrait.jpg",
"bytes": 482113,
"content_type": "image/jpeg",
"created_at": "2026-11-02T12:03:41.000Z"
}
],
"has_more": false,
"next_cursor": null
}Получить файл
get/v1/files/{id}
Сведения о загруженном файле.
Параметры
idstringобязательноИдентификатор файла.
Ответы
- 200Файл.
- 401Ключ не передан, неверен или отозван.
- 404File не найден(о) или принадлежит другому режиму.
curl https://api.hawklance.ai/v1/files/file_... \
-H "Authorization: Bearer $HAWKLANCE_API_KEY"{
"id": "file_3Hq9XkLs2VbN7mPz0RtYc4Wd",
"object": "file",
"mode": "test",
"kind": "image",
"name": "portrait.jpg",
"bytes": 482113,
"content_type": "image/jpeg",
"created_at": "2026-11-02T12:03:41.000Z"
}Шаблоны
Каталог трендов и поля, которые нужны каждому шаблону.
Список шаблонов
get/v1/templates
Весь открытый каталог. Обновляется: держите id шаблонов в настройках, а не в коде.
Параметры
limitintegerСколько записей вернуть, от 1 до 100.
от 1 до 100 · по умолчанию 20
afterstringnext_cursor предыдущей страницы.
sectionstringТолько шаблоны этого раздела.
Ответы
- 200Список, новые сверху.
- 401Ключ не передан, неверен или отозван.
curl https://api.hawklance.ai/v1/templates \
-H "Authorization: Bearer $HAWKLANCE_API_KEY"{
"object": "list",
"data": [
{
"id": "novyy-obraz",
"object": "template",
"name": "Новый образ",
"section": "UGC-контент",
"description": "Смена образа по щелчку: было — стало.",
"duration_seconds": 10,
"aspect_ratios": [
"9:16"
],
"poster_url": "https://firsts3.ru/hawklance/templates/novyy-obraz/poster.jpg",
"preview_url": "https://firsts3.ru/hawklance/templates/novyy-obraz/preview.mp4?v=2",
"inputs": [
{
"name": "person",
"type": "images",
"title": "Ваше фото ДО",
"description": "По пояс или в полный рост, лицо хорошо видно, один человек.",
"required": true,
"min_count": 1,
"max_count": 1
},
{
"name": "new_look",
"type": "images",
"title": "Ваш новый образ",
"description": "Вы в новом наряде или сам наряд целиком.",
"required": true,
"min_count": 1,
"max_count": 1
}
]
}
],
"has_more": false,
"next_cursor": null
}Получить шаблон
get/v1/templates/{id}
Поля inputs показывают, что передать в POST /videos.
Параметры
idstringобязательноИдентификатор шаблона.
Ответы
- 200Шаблон.
- 401Ключ не передан, неверен или отозван.
- 404Такого шаблона нет.
curl https://api.hawklance.ai/v1/templates/novyy-obraz \
-H "Authorization: Bearer $HAWKLANCE_API_KEY"{
"id": "novyy-obraz",
"object": "template",
"name": "Новый образ",
"section": "UGC-контент",
"description": "Смена образа по щелчку: было — стало.",
"duration_seconds": 10,
"aspect_ratios": [
"9:16"
],
"poster_url": "https://firsts3.ru/hawklance/templates/novyy-obraz/poster.jpg",
"preview_url": "https://firsts3.ru/hawklance/templates/novyy-obraz/preview.mp4?v=2",
"inputs": [
{
"name": "person",
"type": "images",
"title": "Ваше фото ДО",
"description": "По пояс или в полный рост, лицо хорошо видно, один человек.",
"required": true,
"min_count": 1,
"max_count": 1
},
{
"name": "new_look",
"type": "images",
"title": "Ваш новый образ",
"description": "Вы в новом наряде или сам наряд целиком.",
"required": true,
"min_count": 1,
"max_count": 1
}
]
}Модели
Доступные модели и их возможности.
Список моделей
get/v1/models
Модели и их возможности.
Ответы
- 200Список, новые сверху.
- 401Ключ не передан, неверен или отозван.
curl https://api.hawklance.ai/v1/models \
-H "Authorization: Bearer $HAWKLANCE_API_KEY"{
"object": "list",
"data": [
{
"id": "hawklance-4.8",
"object": "model",
"name": "Hawklance 4.8",
"description": "Видео со звуком по описанию, фото и шаблонам трендов.",
"qualities": [
"480p",
"720p"
],
"coming_soon_qualities": [
"1080p"
],
"aspect_ratios": [
"9:16",
"16:9"
],
"max_duration_seconds": 15,
"max_images": 9,
"sound": true
}
],
"has_more": false,
"next_cursor": null
}Баланс
Остаток токенов и лимиты аккаунта.
Получить баланс
get/v1/balance
Токены на балансе, расход за месяц, лимиты и цена секунды.
Ответы
- 200Баланс.
- 401Ключ не передан, неверен или отозван.
curl https://api.hawklance.ai/v1/balance \
-H "Authorization: Bearer $HAWKLANCE_API_KEY"{
"object": "balance",
"tokens": 22590,
"month_spend_tokens": 7410,
"monthly_limit_tokens": 100000,
"tier": "tier-1",
"tokens_per_second": {
"480p": 29,
"720p": 39
}
}Объекты
Видео
Поля
idstringобязательноНачинается с vid_.
object"video"обязательноmodestringобязательноРежим ключа.
test, live
statusstringобязательноqueued → running → succeeded, failed или canceled.
queued, running, succeeded, failed, canceled
progressnumberобязательноДоля готовности.
от 0 до 1
modelstringобязательноtemplatestringобязательноpromptstringобязательноВаше описание. Описание шаблона не показывается.
inputsobjectimagesstring[]обязательноduration_secondsnumberобязательноaspect_ratiostringобязательноqualitystringобязательноwidthintegerобязательноheightintegerобязательноseedintegerобязательноcostobjectобязательноtokensintegerобязательноЦена ролика.
chargedbooleanобязательноСписаны ли токены сейчас.
estimated_secondsintegerобязательноСколько примерно займёт генерация с момента создания.
outputobjectобязательноurlstringобязательноСсылка на MP4.
poster_urlstringобязательноСсылка на постер.
expires_atstringобязательноСсылка действует 6 часов; свежую даст новый запрос.
errorobjectобязательноcodestringобязательноmessagestringобязательноmetadataobjectобязательноsimulatedbooleanобязательноtrue — рендер эмулируется, в output лежит пример. Пропадёт, когда рендер подключат.
created_atstringобязательноfinished_atstringобязательно
Шаблон
Поля
idstringобязательноobject"template"обязательноnamestringобязательноsectionstringобязательноdescriptionstringобязательноduration_secondsnumberобязательноaspect_ratiosstring[]обязательноposter_urlstringобязательноpreview_urlstringобязательноinputsobject[]обязательноПоля шаблона.
Файл
Поля
idstringобязательноНачинается с file_.
object"file"обязательноmodestringобязательноtest, live
kindstringобязательноimage, audio, video
namestringобязательноbytesintegerобязательноcontent_typestringобязательноcreated_atstringобязательно