Генерация аудио · ace-step

ACE-Step v1.5 Base

acestep-15-base

ACE-Step v1.5 Base — генерация аудио от ace-step, доступная через единый Ranvik API. Поддерживаемые возможности: async, text_to_audio.

от 0.02 ₽ / сек

Технические характеристики

МодальностьГенерация аудио
Провайдерace-step
СтатусАктивна
ID для запросовacestep-15-base

Возможности

  • Async
  • Text-to-Audio

Цены

ЕдиницаЦена
за секунду0.02 ₽

Цены указаны в рублях. Списываются с баланса проекта при каждом успешном запросе.

Поддерживаемые параметры

Параметры передаются вендору как есть (pure proxy) — мы не валидируем их у себя на стороне. Если вендор не примет — вернётся его ошибка.

ПараметрТипДиапазон / valuesDefaultОписание
positivePromptrequiredstringmin: 2 · max: 3000— Описание желаемой музыки (стиль / жанр / инструменты / настроение).
примеры значений
Примеры
Lo-fi hip-hop beat with jazzy piano, vinyl crackle, mellow vibe, 90 BPM.
negativePromptstringmin: 2 · max: 3000— Что НЕ должно быть в треке. ТРЕБУЕТ CFGScale > 1.
durationnumbermin: 30 · max: 30060 Длина трека в секундах (30..300). НЕ ИСПОЛЬЗУЕТСЯ при inputs.audio (длительность диктует источник).
примеры значений
Примеры
30
60
180
seedintegermin: 0 · max: 2147483647— Seed для воспроизводимой генерации (32-bit).
stepsintegermin: 1 · max: 300100 Шаги denoising. Больше — выше качество, медленнее.
CFGScalenumbermin: 1 · max: 3010 Guidance scale. Для использования negativePrompt должен быть > 1.
strengthnumbermin: 0 · max: 10.5 Доля шагов на основе входного источника. ТРЕБУЕТ inputs.audio.
inputs.audiostring—— Входящий аудиотрек для remix / cover / repaint (UUID / URL). При его наличии duration / coverConditioningScale / repainting* / strength становятся доступны.
примеры значений
Примеры
https://example.com/source-track.mp3
settings.bpmintegermin: 30 · max: 300— Beats per minute. Авто если не указан.
примеры значений
Примеры
90
128
174
settings.timeSignatureenum2, 3, 4, 6— Доли на такт. Авто если не указан.
settings.keyScalestring—— Тональность в формате "{Note}{Accidental} {Mode}" — например "C major", "F# minor", "Bb dorian".
примеры значений
Примеры
C major
F# minor
Bb dorian
settings.vocalLanguageenumunknown, ar, az, bg, bn, ca, cs, da, de, el, en, es, fa, fi, fr, he, hi, hr, ht, hu, id, is, it, ja, ko, la, lt, ms, ne, nl, no, pa, pl, pt, ro, ru, sa, sk, sr, sv, sw, ta, te, th, tl, tr, uk, ur, vi, yue, zhen ISO 639-1 язык вокала. "unknown" — для инструментальных треков.
settings.lyricsstringmin: 10 · max: 3000— Текст песни (формат как на lyrics-сайтах: куплеты, припев, инструкции типа [Verse 1] / [Chorus]).
примеры значений
Примеры
[Verse 1]
In the city of lights, we dance until dawn
[Chorus]
Forever and ever, just you and me...
settings.coverConditioningScalenumbermin: 0 · max: 11 Доля шагов с conditioning на source — для cover-режима. ТРЕБУЕТ inputs.audio.
settings.repaintingStartnumbermin: -300 · max: 300— Начало перекраски в секундах. ТРЕБУЕТ inputs.audio. Отрицательное значение = prepend (добавить в начало).
settings.repaintingEndnumbermin: 0 · max: 300— Конец перекраски в секундах. ТРЕБУЕТ inputs.audio. Значение за пределами duration = append.
settings.guidanceTypeenumapg, cfgapg Тип guidance: apg — Adaptive Projected Guidance, cfg — Classifier-Free Guidance.
audioSettings.bitrateintegermin: 8— Битрейт kbps. MP3: 8..320; OGG mono: 8..224; OGG stereo: 16..256. Не применяется к WAV/FLAC.
audioSettings.sampleRateenum8000, 16000, 44100, 48000— Частота дискретизации в Hz.
audioSettings.channelsenum1, 22 Каналы: 1 — mono, 2 — stereo.
numberResultsintegermin: 1 · max: 41 Сколько вариаций сгенерировать (разные seeds).
outputTypeenumURL, base64Data, dataURIURL Формат доставки.
outputFormatenumMP3, WAV, FLAC, OGGMP3 Формат аудиофайла. WAV/FLAC — без компрессии (audioSettings игнорируется).
asyncboolean—false true → task_id для async-polling. false (default) → sync.
safety.checkContentboolean—false Включить проверку контента.
safety.modeenumnone, fastnone Режим safety-сканера.
webhookURLstring—— URL для POST-уведомления async.
примеры значений
Примеры
https://yourapp.com/webhooks/runware
uploadEndpointstring—— Presigned URL для автозагрузки.
примеры значений
Примеры
https://bucket.s3.amazonaws.com/result.mp3?X-Amz-Signature=...

Параметры ответа

Что возвращает API. У медиа-моделей формат зависит от режима: sync — сразу результат, async — task_id для опроса через GET /v1/tasks/{id}. Эта модель работает только в async-режиме.

Sync (HTTP 200)

Для TTS короткого input: HTTP 200, **binary audio** (Content-Type: audio/mpeg / audio/wav / ...). Это НЕ JSON — это байты файла.

Binary response. Content-Type: audio/mpeg, audio/wav, audio/opus, audio/ogg

Async (HTTP 202)

Если is_async_only=1 (music gen) или async:true в запросе. HTTP 202 + JSON.

ПолеТипЗначенияОписание
idstring— task_id для GET /v1/tasks/{id}.
objectstringaudio.task
statusenumqueued, processing, completed, failed
modelstring—
createdinteger—

Опрос статуса (GET /v1/tasks/{id})

GET /v1/tasks/{id}.

ПолеТипЗначенияОписание
idstring—
statusenumqueued, processing, completed, failed, canceled
modalitystringaudio
modelstring—
dataarray—
Каждый элемент:
  • url— string · CDN URL .mp3 / .wav. Для Suno music — 1-2 файла (варианты трека).
errorstring—

Пример запроса

from openai import OpenAI

client = OpenAI(api_key="rk_live_...", base_url="https://api.ranvik.ru/v1")
resp = client.audio.speech.create(
    model= "acestep-15-base",
    positivePrompt= "Пример промпта",
    negativePrompt= "Пример промпта",
    duration= 60,
    seed= 1073741824,
    steps= 100,
    CFGScale= 10,
    strength= 0.5,
    numberResults= 1,
    outputType= "URL",
    outputFormat= "MP3",
    async= False,
    webhookURL= "https://example.com/...",
    uploadEndpoint= "value",
    inputs= {
        "audio": "Пример промпта"
    },
    settings= {
        "bpm": 165,
        "timeSignature": 2,
        "keyScale": "value",
        "vocalLanguage": "en",
        "lyrics": "Текст песни",
        "coverConditioningScale": 1,
        "repaintingStart": 0,
        "repaintingEnd": 150,
        "guidanceType": "apg"
    },
    audioSettings= {
        "bitrate": 8,
        "sampleRate": 8000,
        "channels": 2
    },
    safety= {
        "checkContent": False,
        "mode": "none"
    },
)
print(resp)

Замените rk_live_... на ваш ключ из кабинета.