Soundza

официальный

Бесплатные звуковые эффекты, музыка и эмбиент для игр, видео и приложений. Поиск по настроению, темпу, тональности или назначению, прослушивание превью и скачивание файлов полного качества, каждый с 35 полями метаданных.

Что можно делать с Soundza MCP?

  • Поиск звуков — Попросите ассистента найти звуковые эффекты, музыку или атмосферные звуки с помощью search_sounds, используя фильтры по типу, настроению, BPM или длительности.

  • Получение информации о звуке — Получите полные метаданные для конкретного звука, включая файлы предпросмотра, информацию о лицензии и URL для скачивания, через get_sound.

  • Изучение звуковых наборов — Просматривайте курируемые коллекции звуков с помощью search_packs или просматривайте все звуки в конкретном наборе через get_pack.

  • Скачивание аудио в полном качестве — Получите готовую команду curl и ссылку для скачивания на 15 минут для WAV-файла звука в полном качестве через download_sound.

  • Прослушивание предпросмотров — Слушайте MP3-превью в 128 кбит/с напрямую с CDN без использования API-кредитов, прежде чем решить скачать файл.

Размещённый MCP-сервер

npx add-mcp 'https://mcp.soundza.com/mcp/oauth'

Устанавливается в Claude Code, Codex, Cursor и другие

Документация

Как подключиться

Используйте soundza из AI-ассистента или из собственного кода. Оба способа бесплатны и дают доступ к одним и тем же звукам.

В AI-ассистенте

В Claude, ChatGPT, Claude Code или любом MCP-приложении добавьте MCP-сервер soundza и один раз войдите с бесплатной учётной записью. Пошаговые инструкции для каждого — ниже.

В собственном коде

В приложениях, играх, скриптах и сборочных инструментах вызывайте REST API с бесплатным API-ключом. Получить ключ.

REST

https://api.soundza.com/v1

MCP, вход

https://mcp.soundza.com/mcp/oauth

MCP, API-ключ

https://mcp.soundza.com/mcp

OpenAPI

soundza.com/openapi.json

Для агентов

soundza.com/llms.txt

MCP-сервер содержит пять инструментов: search_sounds, get_sound, search_packs, get_pack и download_sound, который возвращает ссылку на 15 минут, готовую команду curl и страницу звука.

Claude

  1. Нажмите Add to Claude. Claude откроется с заполненными именем и URL. Нажмите Add.
  2. Войдите в soundza и подтвердите. Достаточно бесплатной учётной записи.
  3. В чате нажмите +, откройте Connectors и включите Soundza.

Add to Claude или добавьте собственный коннектор с https://mcp.soundza.com/mcp/oauth

ChatGPT

  1. Откройте ChatGPT plugins и добавьте собственный MCP-сервер. Назовите его Soundza и оставьте OAuth.
  2. Вставьте URL ниже, затем войдите в soundza.
  3. В новом чате выберите Soundza в меню инструментов.

URL https://mcp.soundza.com/mcp/oauth

Пользовательские серверы зависят от вашего тарифа ChatGPT; некоторым нужно включить режим разработчика в настройках.

Claude Code

Добавьте его, затем запустите /mcp, выберите soundza и войдите в браузере.

claude mcp add --transport http soundza https://mcp.soundza.com/mcp/oauth

Предпочитаете ключ? Установите SOUNDZA_API_KEY и добавьте https://mcp.soundza.com/mcp с заголовком Authorization. На странице ключей показана эта команда с вашим ключом:

claude mcp add --transport http soundza https://mcp.soundza.com/mcp --header "Authorization: Bearer $SOUNDZA_API_KEY"

Codex, Cursor и другие агенты

Любой клиент, поддерживающий streamable HTTP. Используйте https://mcp.soundza.com/mcp/oauth, если поддерживается вход, иначе https://mcp.soundza.com/mcp с заголовком Authorization. Для Cursor добавьте это в ~/.cursor/mcp.json; ключ читается из вашего окружения, поэтому он не попадает в файлы, которые вы можете закоммитить.

{
  "mcpServers": {
    "soundza": {
      "url": "https://mcp.soundza.com/mcp",
      "headers": { "Authorization": "Bearer ${env:SOUNDZA_API_KEY}" }
    }
  }
}

Получить API-ключ

Используйте ключ в собственном коде. Отправляйте его как Authorization: Bearer <key>. Ключи начинаются с sz_live_. Храните его на сервере или в gitignored-файле .env, никогда — в клиентском коде.

Создать самостоятельно

Войдите и создайте ключ на странице ключей. Он показывается один раз, с заполненной MCP-командой.

Или позвольте агенту войти

Попросите вашего агента-кодера найти звуки на soundza.com. Он прочитает llms.txt, отправит вам одну ссылку для подтверждения и сохранит ключ сам.

Soundza is free, but every call needs an API key tied to a person's account. Get one with a one-click sign-in:

1. Start the sign-in. Include what the person is building, if you know it from the project: project_kind (one of game, video_tool, own_content, app, agent, music, trying, other) and project, one plain line about it. After approving, the person sees both and can change them; leave out anything you'd have to guess.
   curl -s -X POST https://api.soundza.com/v1/auth/device -H "content-type: application/json" -d '{"client_name":"<your tool> on <this machine>","project_kind":"game","project":"<one line, e.g. A retro sci-fi shooter in Godot>"}'
   It returns device_code, user_code, verification_uri_complete, expires_in (600 seconds) and interval (5 seconds).
2. Tell the human: "Open <verification_uri_complete> and approve code <user_code> (sign in with Google if it asks)." Nothing else is needed from them.
3. Right after telling them, poll every <interval> seconds until they approve. Run the polling loop in the foreground and wait for it; don't end your turn while the sign-in is pending (the code lasts 10 minutes).
   curl -s -X POST https://api.soundza.com/v1/auth/token -H "content-type: application/json" -d '{"device_code":"<device_code>"}'
   While it returns {"error":"authorization_pending"} keep polling; on "slow_down" wait the "interval" it returns. On approval it returns {"access_token":"sz_live_...","token_type":"Bearer",...} once: access_token is the API key. "expired_token" or "access_denied" means stop (start again only if the human asks).
4. Save the key as SOUNDZA_API_KEY in the project's .env and make sure .env is in .gitignore. Never commit the key or put it in a project-scope .mcp.json.
5. Optional: connect this MCP server with the key. The command reads $SOUNDZA_API_KEY from the shell, so load .env first (set -a; . ./.env; set +a). It stores the key in Claude Code's own settings (local scope), not in the project. If soundza is already added without a key, run "claude mcp remove soundza" first.
   claude mcp add --transport http soundza https://mcp.soundza.com/mcp --header "Authorization: Bearer $SOUNDZA_API_KEY"
   The tools load in the next session (or after /mcp). Until then, and in any tool that can't add MCP servers, use the REST API at https://api.soundza.com/v1 with the header "Authorization: Bearer $SOUNDZA_API_KEY". It does everything the MCP tools do.

A person can also create a key at https://soundza.com/developers/keys and set it the same way.

Быстрый старт

Ищите, затем скачивайте то, что используете. Сначала установите SOUNDZA_API_KEY.

curl -s "https://api.soundza.com/v1/sounds/search?type=sound_effect&q=whoosh&per_page=5" \
  -H "Authorization: Bearer $SOUNDZA_API_KEY"

# download_url redirects to the file: -L follows it, -OJ saves it under its own name
curl -LOJ "https://api.soundza.com/v1/sounds/SOUND_ID/file" \
  -H "Authorization: Bearer $SOUNDZA_API_KEY"

Каждый результат содержит preview_files, MP3 в 128 кбит/с, которые воспроизводятся напрямую с нашего CDN без ключа, и download_url для файла полного качества.

Эндпоинты

Каждый эндпоинт — это запрос GET по адресу https://api.soundza.com/v1. Полная спецификация — в /openapi.json.

ЭндпоинтЧто делает
GET /sounds/searchПоиск по словам и фильтрам. Возвращает страницу звуков и search_id.
GET /sounds/{id}Один звук по id.
GET /sounds/{id}/fileФайл полного качества, обычно WAV, выровненный по уровню с каталогом;?variant=original для нетронутого оригинала. 302-редирект на ссылку, действующую 5 минут. Опционально search_id и user.
GET /packsПубличные паки, лучшие первыми. Опционально q, page и per_page.
GET /packs/{id}Один пак, затем страница его звуков. Каждый звук называет свой пак.
GET /removals?since=Звуки, удалённые после указанной ISO-даты, для тех, кто хранит файлы.

Параметры поиска

Укажите q, хотя бы один фильтр или оба. Длительности — в секундах.

ПараметрТипОписание
qstringСлова для поиска, например «door slam» или «lofi drum loop». Опечатки прощаются.
typestringЧто такое звук: music, sound_effect или ambience (см. Type and facts). Без учёта регистра. Поиск с q, который ничего не находит в своём типе, ищет по всем типам и сообщает об этом в relaxed_filters.
formstringТолько музыка: track, excerpt, loop, one_shot или stem.
partsstringТолько музыка: full_mix или single_part. Без него type=music ранжирует полные миксы первыми, затем лупы, затем отдельные части.
vocalsstringТолько музыка: none, backing или lead.
stylestringТолько звуковые эффекты: retro или cartoon. Задаётся на пак, поэтому у большинства звуков его нет; с q, который ничего не находит с ним, он отбрасывается и указывается в relaxed_filters.
min_durationnumberМинимальная длина, в секундах.
max_durationnumberМаксимальная длина, в секундах.
min_bpmnumberСамый медленный темп. Темп есть только у музыки.
max_bpmnumberСамый быстрый темп.
keystringМузыкальная тональность, например «C», «F# minor» или «Bbm». Совпадает только с теми тональностями, которые показывают звуки: указанными источником или человеком, либо определёнными с высокой уверенностью.
chordstringАккорд, который играет одноаккордный семпл, например «Am», «C#m7» или «Fmaj7».
notestringНота, которую играет питчед-семпл: «D3» для этой октавы (C3 — средняя до), или «D» для любой октавы.
moodlistСлова настроения через запятую; звуки, совпадающие с любым из них, возвращаются, и больше совпадений — выше ранг. Одно из: airy, heavy, metallic, bright, dark, punchy, soft, warm, glitchy, organic, cinematic, cartoony, retro.
good_forlistЗадачи через запятую, под которые должен подходить звук. Только ранжирование: подходящие звуки ранжируются выше, ничего не отфильтровывается. Одно из: transition, reveal, build_up, impact_on_beat, title_or_logo, notification, ui_click, menu, game_pickup, game_hit, game_power_up, footsteps, background_bed, intro, outro.
fit_secondsnumberДлина, которую звук должен заполнить, например 20 для 20-секундной рекламы. Ранжирует звуки, которые могут её заполнить (трек не короче этой длины или бесшовный луп), и добавляет подсказку о соответствии каждому результату. Ничего не отфильтровывает.
packstringid или slug пака: только звуки этого пака.
loop_seamlessbooleantrue: только звуки, которые бесшовно зацикливаются, по данным аудио (конец переходит в начало без щелчка или скачка). Для игровой музыки и эмбиент-подложек, повторяющихся под сценой.
categorystringКатегория верхнего уровня Universal Category System («CROWDS») или CatID («CRWDCheer»). Звуковые эффекты и эмбиент.
pageintegerНомер страницы, начиная с 1.
per_pageintegerРезультатов на странице: по умолчанию 15, максимум 50. Результаты останавливаются на 500 на запрос.

Ответ

Страница результатов со ссылкой на следующую страницу. bpm и key описывают музыку; creator равен null, когда у звука нет публичного создателя.

Файлы выровнены по уровню, поэтому звуки звучат вместе без ручной подстройки: одно усиление на звук, без компрессии, пики на уровне −1 dBTP или ниже. Эмбиент стремится к −20 LUFS, музыка, подложки и длинные лупы — к −16, всё остальное — к −13 на самых громких 400 мс. lufs, true_peak_db и loudness описывают оригинал; gain_db — это то, что добавляет к нему файл по умолчанию. Добавьте ?variant=original к файловому маршруту для оригинала в том виде, в котором он был загружен.

{
  "page": 1,
  "per_page": 5,
  "total_results": 38,
  "next_page": "https://api.soundza.com/v1/sounds/search?q=whoosh&type=SOUND_EFFECT&per_page=5&page=2",
  "search_id": "x7k2m9q4r1t8v3w6y0z5a2b4",
  "sounds": [
    {
      "id": "cm9w2k4e30001",
      "url": "https://soundza.com/sounds/fast-air-whoosh",
      "title": "Fast Air Whoosh",
      "description": "A quick, bright air whoosh that sweeps left to right.",
      "type": "sound_effect",
      "form": null,
      "parts": null,
      "vocals": null,
      "style": null,
      "good_for": ["transition"],
      "duration": 0.84,
      "bpm": null,
      "key": null,
      "chord": null,
      "note": null,
      "mood": ["airy", "bright"],
      "tags": ["whoosh", "swipe", "air", "airy", "bright"],
      "sync_ms": 310,
      "lufs": -19.4,
      "true_peak_db": -6.1,
      "loudness": { "value": -18.2, "basis": "momentary_max" },
      "gain_db": 5.1,
      "loop_seamless": null,
      "file_type": "audio/wav",
      "file_extension": "wav",
      "sample_rate": 48000,
      "bit_depth": 24,
      "channels": 2,
      "size_bytes": 322604,
      "category": { "id": "WHSH", "label": "Swooshes › Whoosh" },
      "pack": {
        "id": "cm8p1x7a20004",
        "name": "Air and Motion",
        "slug": "air-and-motion",
        "sound_count": 42,
        "url": "https://soundza.com/packs/air-and-motion"
      },
      "creator": null,
      "preview_files": [
        { "type": "audio/mpeg", "bitrate": 128, "link": "https://media.soundza.com/public/previews/4fJ9aQx2LmP0sT7vKc1Rb8Ze.mp3" }
      ],
      "download_url": "https://api.soundza.com/v1/sounds/cm9w2k4e30001/file",
      "license": { "name": "Soundza Standard License", "url": "https://soundza.com/license" },
      "attribution": "\"Fast Air Whoosh\" on Soundza (https://soundza.com/sounds/fast-air-whoosh)"
    }
  ]
}

Тип и факты

type говорит, что такое звук. Сначала фильтруйте по типу, затем по известным фактам, а остальное помещайте в q.

typeЧто относитсяФакты
musicТреки, отрывки, лупы, одноаккордные семплы, стемы, джинглы, вокальные чопы, включая игровую музыку.form (track, excerpt, loop, one_shot, stem), parts (full_mix, single_part), vocals (none, backing, lead), bpm, key, note, chord
sound_effectСвисты, удары, фоли, UI- и игровые звуки, голоса как эффекты.category (UCS), style (retro, cartoon; задаётся на пак)
ambienceМеста, комнатный тон и шумовые подложки.category (UCS)

«Корпоративная фоновая музыка без вокала» — это type=music&vocals=none&q=corporate. С type=music полные миксы идут первыми, затем лупы, затем отдельные части, если вы не задали parts. good_for поднимает звуки, подходящие под задачу (transition, ui_click, background_bed …), в результатах, ничего не отфильтровывая. Поиск с q, который ничего не находит в своём типе, ищет по всем типам и перечисляет type в relaxed_filters.

Лимиты

Бесплатные ключи получают:

  • 60 поисков в минуту
  • 250 скачиваний в час
  • 350 скачиваний в день

Каждый ответ включает эти заголовки. 429 также включает Retry-After в секундах:

  • X-RateLimit-Limit
  • X-RateLimit-Remaining
  • X-RateLimit-Reset
  • X-RateLimit-Policy

Все ключи одной учётной записи разделяют эти лимиты. Прослушивайте звуки через их preview_files, которые бесплатны и не учитываются, и скачивайте только те звуки, которые используете.

Скачиванием считаются только разные звуки, поэтому повторное получение того же звука в течение 24 часов бесплатно. Общее количество загрузок файлов ограничено удвоенными лимитами скачивания. Сохраняйте каждый файл один раз и переиспользуйте его по id звука. Поиск одного звука или пака имеет отдельный лимит, в пять раз превышающий лимит поиска.

Делаете приложение с выбором звуков? Пожалуйста: бесплатного ключа хватит на небольшое приложение с несколькими пользователями в день. Когда появится реальный трафик, запросите более высокие лимиты на странице ключей и немного расскажите о проекте, или напишите на admin@soundza.com. Мы ответим по электронной почте.

Запросить более высокие лимиты

Указание авторства

Всё полностью бесплатно. Единственное, о чём мы просим, — указать soundza.com (и/или оригинального создателя звука, если применимо) там, где это уместно для вашего проекта. Желательно добавьте ссылку на soundza.com где-нибудь на вашем сайте/в блоге/на странице itch (например, «Спасибо soundza.com за бесплатные звуки»). Если у вас нет сайта, мы будем рады упоминанию в соцсетях или в описании видео на YouTube и т. п. Помогите распространить информацию!

Ниже несколько примеров. Мы гибки в том, как вы указываете нас, но просим сделать это так, чтобы это естественно вписывалось в ваш проект.

Что вы делаетеКак указать авторство
Приложение или инструмент с выбором звуковPowered by soundza в выборе звуков, плюс ссылка на soundza.com в футере сайта, на странице «О нас», в блоге или где-то ещё, где это уместно.
Игру, даже небольшуюГде бы вы её ни публиковали (пост на Reddit или Discord, X, девлог или сайт, itch.io или Steam), краткая благодарность soundza.com со ссылкой, где можно.
ВидеоSound effects: soundza.com в описании YouTube. В TikTok или Instagram отметьте @soundza_audio, если можете.
Бота, агента или open-source-инструментСтрока в вашем README, справочном тексте или на странице.
Что-то только для себяНичего не нужно.

Хотите использовать наш логотип? Пожалуйста, показывайте его вместе со ссылкой: полный логотип (PNG) или только знак (SVG). Только не используйте его как иконку вашего приложения.

Сделали что-то с soundza? Нам будет приятно увидеть. Пишите на admin@soundza.com или отмечайте @soundza_audio. Мы репостим интересные проекты.

Ошибки

Ошибки — это JSON: {"error": {"code", "message", "details"?}}.

СтатусКодЗначение
400invalid_requestНеверный параметр. details перечисляет каждый из них.
401missing_keyНет заголовка Authorization: Bearer.
401invalid_keyКлюч не существует.
401revoked_keyКлюч был отозван.
404not_foundНет публичного звука с таким id.
429rate_limitedДостигнут лимит. Подождите Retry-After секунд.
500server_errorЧто-то пошло не так на нашей стороне. Повторите попытку в ближайшее время.

Лицензирование

Каждый звук распространяется по Soundza Standard License, указанной в поле license: без роялти для личных и коммерческих проектов, без обязательного указания авторства для самих звуков (см. giving credit — что мы просим взамен). Мы тщательно проверяем звуки, но предоставляем их как есть, без гарантии, что звук свободен от претензий третьих лиц. Полные условия указаны в лицензии.

Рекомендации

  • Как только люди за пределами вашей команды увидят, что вы создали, добавьте ссылку на soundza.com подходящим способом: «Powered by soundza» рядом с вашим выбором звуков плюс ссылка на вашем сайте, благодарность там, где вы делитесь своей игрой, или строка в описании видео. См. soundza.com/developers#credit.
  • Запрашивайте download_url звука, когда он добавляется в проект, сохраняйте файл один раз и используйте его повторно по id звука.
  • Превью предназначены для прослушивания. В готовой работе используйте скачанные файлы.
  • Не копируйте основную функциональность Soundza и не создавайте конкурирующую библиотеку звуков или API.
  • Бесплатный ключ может хранить до 500 скачанных звуков. Удаляйте звуки, указанные в GET /v1/removals, и проверяйте это не реже раза в месяц.
  • Соблюдайте лимиты запросов и обращайтесь, если нужно больше. Мы можем приостановить или прекратить доступ к API для любого пользователя в любое время по любой причине.

Использование API регулируется Terms of Service и License.

Soundza picker

Выбор звуков для вашего продукта в трёх файлах: два серверных маршрута, которые сохраняют ваш ключ в тайне, и компонент с чипами, превью и ссылкой на авторство. Настройте стиль под ваше приложение.

// app/api/sounds/route.ts: search, with your key kept on the server
export async function GET(req: Request) {
  const params = new URL(req.url).searchParams;
  const res = await fetch(\`https://api.soundza.com/v1/sounds/search?${params}\`, {
    headers: { Authorization: \`Bearer ${process.env.SOUNDZA_API_KEY}\` },
  });
  return new Response(res.body, { status: res.status, headers: { "Content-Type": "application/json" } });
}

// app/api/sounds/[id]/file/route.ts: call it from your server when a user adds a sound
export async function GET(req: Request, { params }: { params: Promise<{ id: string }> }) {
  const { id } = await params;
  const query = new URL(req.url).searchParams; // search_id, and your own user id as user
  const res = await fetch(\`https://api.soundza.com/v1/sounds/${encodeURIComponent(id)}/file?${query}\`, {
    headers: { Authorization: \`Bearer ${process.env.SOUNDZA_API_KEY}\` },
    redirect: "manual",
  });
  const location = res.headers.get("location");
  return location ? Response.redirect(location, 302) : new Response(res.body, { status: res.status });
}

Когда пользователь добавляет звук, запросите маршрут файла с вашего сервера и сохраните файл в собственное хранилище. Это учитывается как скачивание. Маршрут перенаправляет на подписанную ссылку, которая действует 5 минут и не может быть прочитана из браузера на другом сайте, поэтому не запрашивайте её на стороне клиента и не сохраняйте ссылку. Передавайте свой идентификатор пользователя как user, если хотите получать отчёты по пользователям.

FAQ

Бесплатно ли API?

Да. API и ключи бесплатны. Взамен мы будем рады ссылке на soundza там, где это уместно для вашего продукта.

Нужно ли указывать soundza?

Мы просим об этом, когда люди за пределами вашей команды видят, что вы создали, в любой подходящей форме: ссылка на вашем сайте, странице магазина или в описании видео. Ничего не нужно, пока вы разрабатываете или тестируете, или для личных проектов.

Что считается указанием авторства?

Ссылка на soundza.com, которую люди могут увидеть. Для приложения — Powered by soundza рядом с выбором звуков плюс ссылка в футере сайта, на странице «О нас», в блоге или другом подходящем месте. Для игры — благодарность там, где вы делитесь ею: пост на Reddit или Discord, девлог или сайт, страница на itch.io или Steam. Для видео — Sound effects: soundza.com в описании. Упоминание на X, Discord или YouTube тоже приветствуется.

Будете ли вы делиться тем, что я создал?

Мы будем рады узнать, что вы создаёте. Напишите на admin@soundza.com или отметьте @soundza_audio и расскажите, что вы сделали. Мы репостим классные проекты, созданные с soundza.

Можно ли использовать логотип soundza?

Да, мы будем рады, если вы покажете его вместе со ссылкой «Powered by soundza», хотя это необязательно. Пожалуйста, не используйте его как иконку приложения. Скачайте полный логотип (soundza.com/logo-wordmark.png) или только знак (soundza.com/logo.svg).

Какие лимиты?

Бесплатные ключи получают 60 поисков в минуту, 250 скачиваний в час и 350 в день, общие для всех ключей вашего аккаунта. Превью не учитываются. Каждый ответ содержит заголовки X-RateLimit-*.

Как получить более высокие лимиты?

Бесплатных лимитов достаточно для создания игры, монтажа видео или небольшого приложения с выбором звуков. Если вы встраиваете выбор звуков в приложение с реальным трафиком, используйте «Request higher limits» на странице ключей и расскажите немного о проекте, или напишите на admin@soundza.com с префиксом вашего ключа и описанием того, что вы создаёте. Мы ответим по электронной почте.

Можно ли использовать звуки в коммерческих проектах?

Да. Каждый звук без роялти для личных и коммерческих проектов по Soundza Standard License, и включение звука в игру или приложение, которое вы создаёте, допустимо.

Можно ли хранить файлы?

Да. Сохраняйте каждый файл один раз и используйте его повторно по id звука. Бесплатный ключ может хранить до 500 скачанных звуков. Не сохраняйте подписанную ссылку, на которую перенаправляет download_url; она действует 5 минут.

Что если звук удалён?

Вызывайте GET /v1/removals?since=<date> время от времени (не реже раза в месяц) и удаляйте все звуки, которые он перечисляет.

Можно ли использовать звуки для обучения ИИ?

Нет. Звуки нельзя использовать для обучения, дообучения или создания ИИ или модели машинного обучения.

Можно ли создать библиотеку звуков на основе API?

Нет. Пожалуйста, не распространяйте звуки как отдельные файлы или семпл-паки и не создавайте конкурирующую библиотеку звуков или API.

REST или MCP?

Оба используют один и тот же ключ, лимиты и каталог. Используйте REST из своего кода, а MCP (mcp.soundza.com/mcp) — чтобы агент вроде Claude Code или Cursor мог искать и скачивать за вас.

Может ли мой агент для кода получить ключ самостоятельно?

Да. Попросите его найти звуки на soundza.com. Он читает llms.txt, отправляет вам одну ссылку для подтверждения и сохраняет ключ.