SDK и интеграции, родные для вашего стека.
Один API для разделения стемов в семи официальных SDK и четырёх no-code интеграциях — от npm install @aistemsplitter/sdk до одного узла n8n — на основе спецификации OpenAPI 3.1 и пакетов кредитов, которые не сгорают.
Выберите SDK под ваш стек
Отправьте задачу, один опрос, получите шесть стемов
Двенадцать строк, которые показывают всю поверхность API. Отправьте разделение, получите id задачи, выполните один опрос и получите вокал, ударные, бас, гитару, фортепиано и прочее — то же разделение htdemucs_ft работает во всех SDK. Тарификация по минутам входного аудио из пакетов кредитов, которые не сгорают (от $0.08 до $0.14 за минуту в зависимости от объёма).
# 1) Submit a split job
curl -X POST https://api.aistemsplitter.org/v1/audio/splits \
-H "Authorization: Bearer $AISTEMSPLITTER_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"input": { "type": "direct_url", "url": "https://example.com/song.mp3" },
"stemModel": "htdemucs_ft"
}'
# → { "id": "split_01J…", "status": "queued" }
# 2) Poll for completion
curl https://api.aistemsplitter.org/v1/audio/splits/split_01J… \
-H "Authorization: Bearer $AISTEMSPLITTER_API_KEY"
# → { "status": "succeeded", "stems": { "vocals": "...", ...x6 } }Тот же API, no-code путь для остальной команды
Инженер редко единственный пользователь. Подключите тот же API разделения стемов в n8n, GitHub Actions, контейнер или процесс Pipedream — чтобы операции, контент и CI работали с одним поставщиком.
Узел сообщества n8n
Триггер из чего угодно, на выходе шесть стемов. Self-host или n8n Cloud.
GitHub Action
Разделяйте аудио на стемы в CI/CD, автоматически прикрепляйте к релизам.
Docker / CLI-образ
Однострочный контейнер для пакетных задач и локальных пайплайнов.
Вопросы разработчиков перед установкой
Which SDK should I install — Node, Python, or curl?
Pick the language your service already runs on. Node and Python ship typed clients with one-call helpers (waitForSplit, verify_signature) and full method autocomplete; curl works on the same REST endpoints if you're prototyping or scripting from a shell. The hosted API is identical across all 13 distribution channels — same job ids, same webhooks, same per-minute billing.
Do credits expire if I don't use them?
No. Credit packs never expire — purchase $6.99 / 50 minutes, $15 / 150 minutes, or $39.99 / 500 minutes and the balance stays on your account until you spend it. There is no monthly subscription, no rollover cap, and no auto-renewal. The first 10 minutes are free with no card required, charged at $0.08–$0.14 per minute depending on pack size.
Which model do you use, and can I name it in the request?
The default is htdemucs_ft (Demucs fine-tuned, 4-stem: vocals, drums, bass, other) — the same model variant the open-source community benchmarks at ~8.7 dB SDR. You can switch to htdemucs_6s for guitar and piano stems by passing model='htdemucs_6s' on submit. Models are named explicitly in every SDK so output quality is comparable to local Demucs runs.
Can I self-host the SDK or the inference?
The SDK clients are MIT-licensed and ship to npm, JSR, PyPI, Maven Central, Packagist, LuaRocks, SPM, and CocoaPods — fork or vendor them as you like. Inference itself runs on our managed GPUs against the hosted API at api.aistemsplitter.com — there is no on-prem inference image in v1, but the GHCR Docker image wraps the SDK for self-hosted orchestration.
What's the rate limit, and how do I handle large files?
Concurrent jobs and per-minute request caps live on /developers/api with the current numbers (they age, so they aren't pinned here). For large uploads, call presignUpload (Node) / presign_upload (Python) to get a direct-to-storage URL — the SDK handles retries with exponential backoff out of the box. Files up to 50 MB upload directly; larger files use multipart presigned URLs.
How do I receive the result without polling forever?
Pass webhook_url on createSplit. When the job finishes, the API POSTs an HMAC-SHA256-signed event to your URL with the stem download links inline. Verify the signature with one SDK call (verifyWebhook in Node, verify_signature in Python). The Webhooks section in each per-language quickstart shows runnable Express, Hono, FastAPI, and Flask handlers.
Какой SDK установить — Node, Python или curl?
Выбирайте язык, на котором уже работает ваш сервис. Node и Python поставляют типизированные клиенты с однострочными помощниками (waitForSplit, verify_signature) и полным автодополнением методов; curl работает с теми же REST-эндпоинтами, если вы прототипируете или пишете скрипты в командной строке. Размещённый API одинаков во всех 13 каналах распространения — те же id задач, те же вебхуки, та же тарификация по минутам.
Сгорают ли кредиты, если я их не использую?
Нет. Пакеты кредитов не сгорают — купите $6.99 / 50 минут, $15 / 150 минут или $39.99 / 500 минут, и баланс останется на вашем аккаунте, пока вы его не потратите. Нет ежемесячной подписки, нет лимита переноса и нет автопродления. Первые 10 минут бесплатны без привязки карты, тариф от $0.08 до $0.14 за минуту в зависимости от размера пакета.
Какую модель вы используете и могу ли я указать её в запросе?
По умолчанию используется htdemucs_ft (дообученный Demucs, 4 стема: вокал, ударные, бас, прочее) — тот же вариант модели, который open-source сообщество оценивает примерно в 8.7 дБ SDR. Вы можете переключиться на htdemucs_6s для стемов гитары и фортепиано, передав model='htdemucs_6s' при отправке. Модели явно именуются в каждом SDK, поэтому качество вывода сопоставимо с локальными запусками Demucs.
Могу ли я разместить SDK или сам инференс у себя?
Клиенты SDK распространяются под лицензией MIT и публикуются в npm, JSR, PyPI, Maven Central, Packagist, LuaRocks, SPM и CocoaPods — форкайте или вендорьте их по своему усмотрению. Сам инференс работает на наших управляемых GPU через размещённый API api.aistemsplitter.com — в v1 нет образа для on-prem инференса, но Docker-образ из GHCR оборачивает SDK для self-hosted оркестрации.
Какие ограничения по частоте запросов и как обрабатывать большие файлы?
Конкурентные задачи и лимиты запросов в минуту указаны на /developers/api с актуальными значениями (они меняются, поэтому здесь не фиксируются). Для больших загрузок вызовите presignUpload (Node) / presign_upload (Python), чтобы получить URL для прямой загрузки в хранилище — SDK обрабатывает повторные попытки с экспоненциальной задержкой из коробки. Файлы до 50 МБ загружаются напрямую; более крупные файлы используют составные предподписанные URL.
Как получить результат без бесконечного опроса?
Передайте webhook_url в createSplit. Когда задача завершится, API отправит POST-событие, подписанное HMAC-SHA256, на ваш URL со встроенными ссылками на скачивание стемов. Проверьте подпись одним вызовом SDK (verifyWebhook в Node, verify_signature в Python). Раздел Webhooks в быстром старте для каждого языка содержит готовые обработчики для Express, Hono, FastAPI и Flask.
Создавайте с разделением стемов уже сегодня.
Создайте ключ, вставьте его в быстрый старт и получите разделённые стемы за минуту. Десять бесплатных минут за наш счёт — остальное оплачивается из пакетов кредитов, которые не сгорают, от $0.08 до $0.14 за минуту в зависимости от размера пакета.