Говорящий аватар
Загрузите фотографию и аудио с речью — нейросеть синхронизирует губы с голосом. На выходе видео, где человек со снимка говорит вашим текстом: для аватара канала, приветствия на сайте или поздравления.
Сделать говорящее видеоВидео и музыка, оживление фото, говорящий аватар, расшифровка записей и озвучка — те же инструменты, что и на сайте, только вызываются из вашего кода. Один ключ, один формат запроса, оплата с общего баланса аккаунта.
POST /generate с названием операции и её полямиtask_id, списанная сумма и остаток балансаGET /tasks/{id} или вебхук, когда всё готово50 ₽ на пробу начисляем при выпуске первого ключа — хватит проверить все операции, ничего не платя.
Ключ выдаётся в аккаунте: он привязан к балансу, с которого списывается оплата.
Войти и получить ключ
Все запросы идут на https://genius-bot.ru/wp-json/genius/v1, ключ передаётся
заголовком Authorization: Bearer <ключ>. Ответы — JSON в UTF-8.
Схема одна для всех операций: поставили задачу, получили task_id,
забрали результат по нему.
curl -X POST https://genius-bot.ru/wp-json/genius/v1/generate \
-H 'Authorization: Bearer ВАШ_КЛЮЧ' \
-H 'Content-Type: application/json' \
-d '{
"service": "photo-video",
"image_url": "https://example.com/photo.jpg",
"prompt": "лёгкая улыбка, поворот головы"
}'
import time, requests
API = 'https://genius-bot.ru/wp-json/genius/v1'
HEAD = {'Authorization': 'Bearer ВАШ_КЛЮЧ'}
task = requests.post(f'{API}/generate', headers=HEAD, json={
'service': 'photo-video',
'image_url': 'https://example.com/photo.jpg',
'prompt': 'лёгкая улыбка, поворот головы',
}).json()
while True:
state = requests.get(f"{API}/tasks/{task['task_id']}", headers=HEAD).json()
if state['status'] != 'pending':
break
time.sleep(6)
print(state['files'][0]['url'])
const API = 'https://genius-bot.ru/wp-json/genius/v1';
const head = { Authorization: 'Bearer ВАШ_КЛЮЧ', 'Content-Type': 'application/json' };
const task = await fetch(`${API}/generate`, {
method: 'POST',
headers: head,
body: JSON.stringify({
service: 'photo-video',
image_url: 'https://example.com/photo.jpg',
prompt: 'лёгкая улыбка, поворот головы',
}),
}).then((r) => r.json());
const state = await fetch(`${API}/tasks/${task.task_id}`, { headers: head })
.then((r) => r.json());
$api = 'https://genius-bot.ru/wp-json/genius/v1';
$head = ['Authorization: Bearer ВАШ_КЛЮЧ', 'Content-Type: application/json'];
$ch = curl_init($api . '/generate');
curl_setopt_array($ch, [
CURLOPT_POST => true,
CURLOPT_HTTPHEADER => $head,
CURLOPT_RETURNTRANSFER => true,
CURLOPT_POSTFIELDS => json_encode([
'service' => 'photo-video',
'image_url' => 'https://example.com/photo.jpg',
'prompt' => 'лёгкая улыбка, поворот головы',
], JSON_UNESCAPED_UNICODE),
]);
$task = json_decode(curl_exec($ch), true);
В ответе — task_id, списанная сумма и остаток баланса.
Статус запрашивайте раз в 5–10 секунд: картинка обычно готова за 10–40 секунд,
видео и аватар — за 1–5 минут.
// ответ на POST /generate
{
"task_id": "a1b2c3d4",
"service": "photo-video",
"status": "pending",
"cost": 25,
"balance": 475
}
// GET /tasks/a1b2c3d4 после готовности
{
"task_id": "a1b2c3d4",
"status": "completed",
"files": [
{ "label": "Результат", "kind": "video", "url": "https://…/result.mp4" }
]
}
Описание API в машинном виде собирается из того же реестра операций, по которому API и работает: цены и список операций в нём всегда те, что действуют сейчас.
api_key и жмите «Send»: по готовому запросу на каждую операцию.
Если у вас уже написан код под OpenAI, менять его не нужно: подставьте наш адрес и наш ключ. Остальное — как было, включая разбор ошибок библиотекой.
Работают POST /chat/completions и GET /models. Имя модели
принимаем любое — считает наш адаптер, который сам переключается на запасную модель,
если основная у поставщика недоступна. В ответе, кроме обычных полей, есть
genius: сколько списано, остаток баланса и какой маршрут сработал.
Тариф: 120 ₽ за млн токенов запроса и 1 200 ₽ за млн токенов ответа.
Ответ на 1000 знаков — это около 350 токенов, то есть примерно 14 копеек.
Потоковая отдача (stream: true) пока не поддерживается: придёт понятный
отказ, а не пустой поток.
| service | Что делает | Обязательные поля | Цена |
|---|---|---|---|
photo-video |
Оживить фото Из фотографии получается короткое видео: движение головы, мимика, лёгкая камера. |
image_url |
25 ₽ за запуск |
image-edit |
Изменить фото по описанию Замена фона и одежды, удаление объектов, реставрация — словами, без редактора. |
image_url, prompt |
35 ₽ за запуск |
image |
Картинка по описанию Изображение из текста — для карточек товара, обложек и иллюстраций. |
prompt |
9 ₽ за запуск |
upscale |
Увеличить качество фото Апскейл вдвое с восстановлением деталей: для старых снимков и мелких картинок. |
image_url |
50 ₽ за запуск |
video |
Видео по описанию Ролик из одного текста: сцена, движение и камера — без исходной картинки. |
prompt |
119 ₽ за запуск |
music |
Создать музыку Два готовых трека по описанию: инструментал или песня с вокалом на свой текст. |
prompt |
59 ₽ за обработку |
lyrics |
Текст песни Два варианта слов к треку по описанию, с разметкой куплетов и припева. |
prompt |
9 ₽ за обработку |
cover |
Обложка для трека Картинка под релиз по описанию: квадрат для стримингов, широкий кадр или вертикаль. |
prompt |
9 ₽ за обработку |
video-upscale |
Улучшить качество видео Чистка шума и возврат резкости в записи; размер кадра сохраняется. |
video_url |
6 ₽ за секунду видео, минимум 90 ₽ |
dub |
Дубляж видео Речь из ролика распознаётся, переводится и озвучивается заново, губы подгоняются под неё. Свой текст в speech заменяет распознанный. |
video_url |
12 ₽ за секунду видео, минимум 150 ₽ |
stt |
Расшифровка записи Текст из записи с отметками времени и разделением по говорящим. |
audio_url |
3 ₽ за минуту записи, минимум 10 ₽ |
ytaudio |
Звук из видео Звуковая дорожка по ссылке на ролик — MP3, WAV или M4A. |
url |
бесплатно |
avatar |
Говорящий аватар Фотография плюс запись голоса — видео, где человек со снимка говорит. |
image_url, audio_url |
12 ₽ за секунду видео, минимум 120 ₽ |
vocal |
Убрать вокал Две дорожки из песни: минусовка и отдельно голос. |
audio_url |
15 ₽ за минуту записи, минимум 45 ₽ |
denoise |
Убрать шум Чистый голос без фонового гула, эха и шума улицы. |
audio_url |
12 ₽ за минуту записи, минимум 36 ₽ |
sfx |
Звук по описанию Звуковой эффект или фон из текстового описания, MP3. |
prompt |
9 ₽ за запуск |
tts |
Озвучка текста Речь из текста живым голосом, больше тридцати языков. |
text |
18 ₽ за 1000 знаков |
music-extend |
Продлить трек Дописывает продолжение к готовому треку с того места, где он кончается. |
task_id |
59 ₽ за запуск |
music-remake |
Перепеть свою запись Берёт вашу запись и пересобирает её в другом звучании: та же мелодия, другая музыка. |
audio_url |
59 ₽ за запуск |
music-continue |
Продлить свою запись Дописывает продолжение к загруженному файлу с указанной секунды. |
audio_url |
59 ₽ за запуск |
music-instrumental |
Добавить аккомпанемент Подкладывает музыку под запись голоса: был вокал без музыки — станет песня. |
audio_url |
59 ₽ за запуск |
music-vocals |
Добавить вокал Допевает голос поверх инструментала: была минусовка — станет песня. |
audio_url |
59 ₽ за запуск |
music-wav |
Трек в WAV Выгружает готовый трек без сжатия — для монтажа и мастеринга. |
task_id |
9 ₽ за запуск |
music-video |
Видео к треку Собирает ролик с обложкой и бегущей звуковой волной — для соцсетей. |
task_id |
19 ₽ за запуск |
music-timestamps |
Слова с тайм-кодами Отдаёт текст песни с отметками времени по словам — для субтитров и караоке. |
task_id |
9 ₽ за запуск |
music-style |
Усилить описание стиля Переписывает короткое описание в подробное: жанр, темп, инструменты, обработка. |
prompt |
5 ₽ за запуск |
Необязательные поля: prompt уточняет результат,
callback_url включает вебхук, voice выбирает голос озвучки,
mode и seconds управляют генерацией звука
(sfx, ambient, loop).
В запросе голос задаётся идентификатором в поле voice.
Порядок в списке — по числу заказов: сверху то, что люди выбирают
чаще всего. Голос можно не указывать вовсе — тогда возьмётся тот,
что стоит по умолчанию.
Образцы звучания временно недоступны: движок озвучки у поставщика не принимает задачи. Список голосов и их идентификаторы работают как обычно — образцы вернутся, когда поставщик починит сервис.
| Голос | Группа | Заказов | Идентификатор |
|---|---|---|---|
| James - Husky, Engaging and Bold | Best voices for Eleven v3 | 14 | EkK5I93UQWFDigLMpZcX |
| Arabella - Mysterious and Emotive | Best voices for Eleven v3 | 5 | Z3R5wn05IrDiVCyEkUrK |
| Monika Sogam - Deep and Natural | Best voices for Eleven v3 | 5 | 2zRM7PkgwBPiau2jvVXc |
| British Football Announcer | Best voices for Eleven v3 | 5 | gU0LNdkMOQCOrPrwtbee |
| Viraj - Rich and Soft | Best voices for Eleven v3 | 5 | P1bg08DkjqiVEzOn76yG |
| Bella - Professional, Bright, Warm | Popular Tiktok voices | 5 | hpp4J3VqNfWAUOO0d1Us |
| Bradford - Expressive and Articulate | Best voices for Eleven v3 | 4 | NNl6r8mD7vthiJatiJt1 |
| Xavier - Dominating, Metallic Announcer | Best voices for Eleven v3 | 4 | YOq2y2Up4RgXP2HyXjE5 |
| Kuon - Cheerful, Clear and Steady | Best voices for Eleven v3 | 4 | B8gJV1IhpuegLxdpXFOE |
| Mark - Casual, Relaxed and Light | Best voices for Eleven v3 | 4 | 1SM7GgM6IMuvQlz2BwM3 |
| Adeline - Feminine and Conversational | Best voices for Eleven v3 | 4 | 5l5f8iK3YPeGga21rQIX |
| Sam - Support Agent | Best voices for Eleven v3 | 4 | scOwDtmlUjD3prqpp97I |
| Cassidy - Crisp, Direct and Clear | Studio-Quality Conversational Voices | 2 | 56AoDkrOh6qfVPDXZ7Pt |
| Eve - Authentic, Energetic and Happy | Best voices for Eleven v3 | 1 | BZgkqPqms7Kj9ulSkVzn |
| Jeff - Classy, Resonating and Strong | Studio-Quality Conversational Voices | 1 | gs0tAILXbY5DNrJrsM6F |
| Spuds Oxley - Wise and Approachable | Best voices for Eleven v3 | — | NOpBlnGInO9m6vDvFkFC |
| Northern Terry | Best voices for Eleven v3 | — | wo6udizrrtpIxWGp2qJk |
| Brock - Commanding and Loud Sergeant | Best voices for Eleven v3 | — | DGzg6RaUqxGRTHSBjfgF |
| Nathan - Virtual Radio Host | Best voices for Eleven v3 | — | x70vRnQBMBu4FAYhjJbO |
| Anika - Animated, Friendly and Engaging | Best voices for Eleven v3 | — | Sm1seazb4gs7RSlUVw7c |
| Taksh - Calm, Serious and Smooth | Best voices for Eleven v3 | — | qDuRKMlYmrm8trt5QyBn |
| Horatius - Energetic Character Voice | Best voices for Eleven v3 | — | qXpMhyvQqiRxWQs4qSSB |
| Liam - Energetic, Social Media Creator | Best voices for Eleven v3 | — | TX3LPaxmHKxFdv7VOQHJ |
| Callum - Husky Trickster | Best voices for Eleven v3 | — | N2lVS1w4EtoT3dr4eOWO |
| Laura - Enthusiast, Quirky Attitude | Best voices for Eleven v3 | — | FGY2WhTYpPnrIDTdsKH5 |
| Brittney - Social Media Voice | Popular Tiktok voices | — | kPzsL2i3teMYv0FxEYQ6 |
| Mark - Natural Conversations | Popular Tiktok voices | — | UgBBYS2sOqTuMpoF3BR0 |
| Brian - Deep, Resonant and Comforting | Popular Tiktok voices | — | nPczCjzI2devNBz1zQrb |
| Hope - Bubbly, Gossipy and Girly | Studio-Quality Conversational Voices | — | uYXf8XasLslADfZ2MB4u |
| Jamahal - Young, Vibrant, and Natural | Studio-Quality Conversational Voices | — | DTKMou8ccj1ZaWGBiotd |
| Finn - Youthful, Eager and Energetic | Studio-Quality Conversational Voices | — | vBKc2FfBKJfcZNyEt1n6 |
| Tom - Conversations & Books | Studio-Quality Conversational Voices | — | DYkrAHD8iwork3YSUBbs |
| Addison 2.0 - Australian Audiobook & Podcast | Studio-Quality Conversational Voices | — | eR40ATw9ArzDf9h3v7t7 |
| Jessica Anne Bogart - Chatty and Friendly | Studio-Quality Conversational Voices | — | g6xIsTj2HwM6VR4iXFCw |
| Lucy - Fresh & Casual | Studio-Quality Conversational Voices | — | lcMyyd2HUfFzxdCaC4Ta |
| Tiffany - Natural and Welcoming | Studio-Quality Conversational Voices | — | 6aDn1KB0hjpdcocrUkmq |
| Felix - Warm, Positive & Contemporary RP | Studio-Quality Conversational Voices | — | Sq93GQT4X1lKDXsQcixO |
| Jessica Anne Bogart - Eloquent Villain | Engaging Characters for Video Games | — | flHkNRp1BlvT73UL6gyz |
| Lutz - Chuckling, Giggly and Cheerful | Engaging Characters for Video Games | — | 9yzdeviXkFddZ4Oz8Mok |
| Emma - Adorable and Upbeat | Engaging Characters for Video Games | — | pPdl9cQBQq4p6mRkZy2Z |
| Edward - Loud, Confident and Cocky | Engaging Characters for Video Games | — | zYcjlYFOd3taleS0gkk3 |
| Marshal - Friendly, Funny Professor | Engaging Characters for Video Games | — | nzeAacJi50IvxcyDnMXa |
| John Morgan - Gritty, Rugged Cowboy | Engaging Characters for Video Games | — | ruirxsoakN0GWmGNIo04 |
| Aria - Sultry Villain | Engaging Characters for Video Games | — | TC0Zp7WVFzhA8zpTlRqV |
| Viking Bjorn - Epic Medieval Raider | Engaging Characters for Video Games | — | ljo9gAlSqKOvF6D8sOsX |
| Pirate Marshal | Engaging Characters for Video Games | — | PPzYpIqttlTYA83688JI |
| Johnny Kid - Serious and Calm Narrator | Bring your stories to life | — | 8JVbfL6oEdmuxKn5DK2C |
| Hope - Poetic, Romantic and Captivating | Bring your stories to life | — | iCrDUkL56s3C8sCRl7wb |
| Ana Rita - Smooth, Expressive and Bright | Bring your stories to life | — | wJqPPQ618aTW29mptyoc |
| John Doe - Deep | Bring your stories to life | — | EiNlNiXeDU1pqqOPrYMO |
| Burt Reynolds - Deep, Smooth and Clear | Burt Reynolds Hollywood Icon | — | 4YYIPFl9wE5c4L2eu2Gb |
| Hank - Deep and Engaging Narrator | Burt Reynolds Hollywood Icon | — | 6F5Zhi321D3Oq7v1oNT4 |
| Wyatt - Wise Rustic Cowboy | Burt Reynolds Hollywood Icon | — | YXpFCvM1S3JbWEJhoskW |
| Phil - Explosive, Passionate Announcer | Announcers and Radio Hosts | — | LG95yZDEHg6fCZdQjLqj |
| Johnny Dynamite - Vintage Radio DJ | Announcers and Radio Hosts | — | CeNX9CMwmxDxUF5Q2Inm |
| Rachel M - Pro British Radio Presenter | Announcers and Radio Hosts | — | aD6riP1btT197c6dACmy |
| Rex Thunder - Deep N Tough | Announcers and Radio Hosts | — | mtrellq69YZsNwzUSyXh |
| Ed - Late Night Announcer | Announcers and Radio Hosts | — | dHd5gvgSOzSfduK4CvEg |
| Jean - Alluring and Playful Femme Fatale | Epic Voices | — | eVItLK1UvXctxuaRV2Oq |
| Britney - Calm and Calculative Villain | Epic Voices | — | esy0r39YPLQjOczyOib8 |
| Sven - Emotional and Nice | Epic Voices | — | Tsns2HvNFKfGiNjllgqo |
| Viraj - Smooth and Gentle | Relaxing and Meditative | — | 1U02n4nD6AdIZ9CjF053 |
| Nathaniel - Engaging, British and Calm | Relaxing and Meditative | — | AeRdCCKzvd23BpJoofzx |
| Benjamin - Deep, Warm, Calming | Relaxing and Meditative | — | LruHrtVF6PSyGItzMNHS |
| Allison - Calm, Soothing and Meditative | Relaxing and Meditative | — | 1wGbFxmAM3Fgw63G1zZJ |
| Theodore HQ - Serene and Grounded | Relaxing and Meditative | — | hqfrgApggtO1785R4Fsn |
| Leon - Soothing and Grounded | Relaxing and Meditative | — | MJ0RnG71ty4LH3dvNfSd |
Эти операции вызываются так же, как остальные, — тем же ключом и тем же
POST /generate. Расшифровка возвращает и готовые файлы, и сам
текст; звук из ролика ничего не стоит.
# Видео по описанию
curl -X POST https://genius-bot.ru/wp-json/genius/v1/generate \
-H 'Authorization: Bearer ВАШ_КЛЮЧ' \
-H 'Content-Type: application/json' \
-d '{
"service": "video",
"prompt": "кот идёт по кухне, мягкий утренний свет",
"duration": "5",
"resolution": "720p"
}'
# Музыка: инструментал или песня со своим текстом
curl -X POST https://genius-bot.ru/wp-json/genius/v1/generate \
-H 'Authorization: Bearer ВАШ_КЛЮЧ' \
-H 'Content-Type: application/json' \
-d '{
"service": "music",
"prompt": "спокойная акустическая гитара, тёплое настроение",
"style": "фолк",
"instrumental": true
}'
# Расшифровка записи
curl -X POST https://genius-bot.ru/wp-json/genius/v1/generate \
-H 'Authorization: Bearer ВАШ_КЛЮЧ' \
-H 'Content-Type: application/json' \
-d '{
"service": "stt",
"audio_url": "https://example.com/interview.mp3",
"language": "ru",
"diarize": true
}'
# Звук из ролика
curl -X POST https://genius-bot.ru/wp-json/genius/v1/generate \
-H 'Authorization: Bearer ВАШ_КЛЮЧ' \
-H 'Content-Type: application/json' \
-d '{"service": "ytaudio", "url": "https://www.youtube.com/watch?v=...", "format": "mp3"}'
import time, requests
API = 'https://genius-bot.ru/wp-json/genius/v1'
HEAD = {'Authorization': 'Bearer ВАШ_КЛЮЧ'}
def run(payload):
task = requests.post(f'{API}/generate', headers=HEAD, json=payload).json()
while True:
state = requests.get(f"{API}/tasks/{task['task_id']}", headers=HEAD).json()
if state['status'] != 'pending':
return state
time.sleep(5)
# расшифровка: на выходе и текст, и файлы с субтитрами
state = run({
'service': 'stt',
'audio_url': 'https://example.com/interview.mp3',
'language': 'ru',
'diarize': True,
})
print(state['text'][:200])
for item in state['files']:
print(item['label'], item['url'])
# песня со своим текстом
song = run({
'service': 'music',
'prompt': 'тёплая акустическая песня про друзей',
'instrumental': False,
'lyrics': 'Куплет...\n\nПрипев...',
})
print([item['url'] for item in song['files']])
// GET /tasks/{id} для расшифровки
{
"task_id": "gst-9x5wJ7iTBaSPxXsFD9Cr",
"service": "stt",
"status": "completed",
"text": "Хочешь, я помогу составить пошаговый план…",
"files": [
{ "label": "Текст расшифровки", "kind": "file", "url": "https://…/stt-….txt" },
{ "label": "Субтитры SRT", "kind": "file", "url": "https://…/stt-….srt" },
{ "label": "Субтитры VTT", "kind": "file", "url": "https://…/stt-….vtt" }
],
"cost": 10
}
Ссылки в image_url и audio_url должны открываться из интернета.
Если файла в открытом доступе нет, загрузите его к нам — ссылка вернётся в ответе.
Фото до 10 МБ, аудио до 20 МБ.
curl -X POST https://genius-bot.ru/wp-json/genius/v1/uploads \ -H 'Authorization: Bearer ВАШ_КЛЮЧ' \ -F 'file=@photo.jpg' \ -F 'kind=image'
up = requests.post(f'{API}/uploads', headers=HEAD,
files={'file': open('photo.jpg', 'rb')},
data={'kind': 'image'}).json()
print(up['url']) # эту ссылку и передавайте в image_url
Передайте callback_url — и мы сами постучимся POST-запросом,
когда задача будет готова или сорвётся. В заголовке X-Genius-Signature
придёт HMAC-SHA256 от тела запроса на секрете ключа: так вы убедитесь, что запрос наш.
Секрет показывается один раз вместе с ключом.
import hmac, hashlib
def valid(body: bytes, signature: str, secret: str) -> bool:
mine = hmac.new(secret.encode(), body, hashlib.sha256).hexdigest()
return hmac.compare_digest(mine, signature)
$body = file_get_contents('php://input');
$mine = hash_hmac('sha256', $body, $secret);
$ok = hash_equals($mine, $_SERVER['HTTP_X_GENIUS_SIGNATURE'] ?? '');
if ($ok) {
$event = json_decode($body, true);
// $event['status'] === 'completed' → забираем $event['files']
}
| Код | Когда | Что делать |
|---|---|---|
401 | Ключ не передан или отозван | Проверьте заголовок Authorization |
402 | Не хватает денег на балансе | Пополните баланс в личном кабинете |
400 | Нет обязательного поля или файл слишком длинный | Смотрите message в ответе |
429 | Больше 60 запросов в минуту на ключ | Опрашивайте статус реже или включите вебхук |
502 | Модель не приняла задачу | Повторите запрос; деньги не списываются |
503 | Операция временно отключена | Проверяйте /services |
Если задача сорвалась уже после запуска, статус придёт как failed,
а списанные деньги вернутся на баланс автоматически. Результаты хранятся у нас
и доступны по прямой ссылке — скачайте их к себе, если нужны надолго.
До появления общего API озвучка и расшифровка жили на отдельном адресе
https://genius-bot.ru/wp-json/tts/v1/api со своим ключом.
Он продолжает работать — ломать готовые интеграции мы не будем, — но для
новых лучше брать общий: там те же операции и один ключ на всё.
| Запрос | Что делает |
|---|---|
POST /generate | Озвучить текст: модель, голос, формат вывода |
GET /status/{task_id} | Состояние озвучки и ссылка на файл |
POST /transcribe | Расшифровать запись: audio_url или youtube_url |
GET /transcribe-status/{task_id} | Текст, сегменты и тайминги |
POST /youtube-audio | Достать звуковую дорожку из ролика |
POST /parse-text-file | Достать текст из загруженного документа |
GET /balance | Остаток на балансе |
GET /generations | История озвучек |
GET /free-voices | Список бесплатных голосов |
# Озвучить текст
curl -X POST https://genius-bot.ru/wp-json/tts/v1/api/generate \
-H 'X-API-Key: КЛЮЧ_ОЗВУЧКИ' \
-H 'Content-Type: application/json' \
-d '{
"model": "elevenlabs/text-to-speech-multilingual-v2",
"text": "Привет! Это тест.",
"voice": "Rachel",
"output_format": "mp3_44100_128"
}'
# Расшифровать запись
curl -X POST https://genius-bot.ru/wp-json/tts/v1/api/transcribe \
-H 'X-API-Key: КЛЮЧ_ОЗВУЧКИ' \
-H 'Content-Type: application/json' \
-d '{"audio_url": "https://example.com/audio.mp3", "language_code": "ru", "diarize": true}'
import requests, time
TTS = 'https://genius-bot.ru/wp-json/tts/v1/api'
HEAD = {'X-API-Key': 'КЛЮЧ_ОЗВУЧКИ'}
# озвучка
task = requests.post(f'{TTS}/generate', headers=HEAD, json={
'model': 'elevenlabs/text-to-speech-multilingual-v2',
'text': 'Привет! Это тест.',
'voice': 'Rachel',
}).json()
while True:
state = requests.get(f"{TTS}/status/{task['task_id']}", headers=HEAD).json()
if state.get('status') != 'pending':
break
time.sleep(5)
print(state.get('audio_url'))
// POST /transcribe → ответ
{ "success": true, "task_id": "a1b2c3d4" }
// GET /transcribe-status/a1b2c3d4 после готовности
{
"status": "completed",
"text": "Полный текст записи…",
"segments": [
{ "start": 0.0, "end": 3.4, "speaker": "Спикер 1", "text": "Первая фраза" }
]
}
Ключи не взаимозаменяемы: gb_… работает на genius/v1,
прежний ключ озвучки — на tts/v1. Баланс у них общий, списания
видны в одной истории. Новый ключ выпускается ниже, на этой же странице.
Все инструменты работают на одном балансе — переключайтесь между ними без отдельной оплаты.
Загрузите фотографию и аудио с речью — нейросеть синхронизирует губы с голосом. На выходе видео, где человек со снимка говорит вашим текстом: для аватара канала, приветствия на сайте или поздравления.
Сделать говорящее видеоЗагрузите трек — нейросеть отделит вокал от музыки и вернёт две дорожки: чистый инструментал для караоке и отдельно голос. Ничего устанавливать не нужно.
Убрать вокалЗагрузите запись или вставьте ссылку на ролик — нейросеть вернёт текст с пунктуацией, отметками времени и разделением по говорящим. Готовый результат скачивается текстом или субтитрами.
ОткрытьВставьте ссылку на ролик — и заберите звуковую дорожку отдельным файлом. Само видео скачивать не нужно: дорожка снимается на нашей стороне и приходит готовым файлом.
ОткрытьЗапишите двадцать секунд своего голоса, прочитайте проверочную фразу — и нейросеть научится петь вашим голосом. Дальше пишете текст песни, а поёт её ваш собственный голос. Голос сохраняется в кабинете: следующие песни делаются в один шаг.
ОткрытьОпишите словами, какая нужна музыка — стиль, настроение, инструменты. Нейросеть напишет и сыграет трек: инструментал для фона видео или песню с вокалом на ваш текст. За одну генерацию приходит два разных варианта.
ОткрытьОпишите, о чём песня и каким должно быть настроение, — нейросеть напишет слова со структурой: куплеты, припев, бридж. Приходит два разных варианта, чтобы было из чего выбрать.
ОткрытьОпишите, о чём трек и каким должно быть настроение, — нейросеть нарисует обложку. Квадрат под стриминги, широкий кадр под видео или вертикаль под сторис: размер выбираете сами.
ОткрытьЗагрузите ролик и выберите язык — нейросеть сама распознает речь из записи, переведёт её, проговорит голосом диктора и подгонит движение губ под новую речь. Свой текст тоже можно вставить: тогда прозвучит он.
ОткрытьЗагрузите ролик — нейросеть уберёт шум и цифровое «мыло» от пережатия, вернёт резкость мелким деталям. Подходит для старых записей, съёмки в темноте и видео, которое испортил мессенджер.
ОткрытьЗагрузите запись — нейросеть уберёт фоновый гул, шум улицы, шипение микрофона и оставит чистый голос. Подходит для интервью, созвонов, голосовых и звука из видео.
Очистить записьВыберите готовую подборку ниже и нажмите «Повторить». Загрузите обычные фото — общий снимок или по одному на каждого — и получите ту же съёмку со своими лицами: те же позы, та же локация, 3, 5 или 7 кадров.
ОткрытьОпишите звук словами — нейросеть соберёт готовый эффект в MP3: взрывы, шаги, интерфейсные сигналы, атмосфера и бесшовные лупы.
Создать звук16 702 готовых звуков в 1065 подборках — слушайте онлайн и скачивайте бесплатно в MP3.
Открыть каталогИнструментальные треки без слов для видео, роликов и подкастов: 5313 звуков в 371 подборке.
Слушать музыкуТе же инструменты из вашего кода: оживление фото, аватар, картинки, звуки и озвучка по HTTP-запросу. Ключ, JSON, оплата за запуск.
Смотреть документациюЧастые задачи: оживить фото, аудио в текст, музыка для видео, песня нейросетью, аудио с youtube, звук из рилс.
Абонентской платы нет: вы платите только за выполненные задачи по тем же ценам, что и на сайте. Деньги списываются с баланса аккаунта, пополнить его можно в личном кабинете.
Статус задачи станет failed, а списанная сумма вернётся на баланс автоматически. Если модель не приняла задачу, деньги вообще не списываются — ответ придёт с кодом 502.
Файлы лежат у нас и доступны по прямой ссылке. Мы рекомендуем сразу перекладывать их в своё хранилище: так вы не зависите от чужих сроков хранения.
Да. Права на созданные файлы остаются у вас, ограничений на коммерческое применение нет. Единственное требование — не выдавать сам API за собственный и не перепродавать доступ к нему как к своему сервису.
Отдельной песочницы нет, но самые дешёвые операции — генерация звука и картинки — стоят единицы рублей, этого достаточно, чтобы проверить интеграцию целиком.
До шестидесяти. Если нужно больше, включите вебхук: тогда статус не придётся опрашивать вовсе, и лимит перестанет мешать.
Напишите — разберёмся. Если операция списала деньги и не дала результат, средства возвращаются на баланс автоматически, но о самой поломке мы узнаём только от вас.