Soundza

chính thức

Hiệu ứng âm thanh, nhạc và âm thanh nền miễn phí cho trò chơi, video và ứng dụng. Tìm kiếm theo tâm trạng, nhịp độ, tông nhạc hoặc mục đích sử dụng, nghe thử bản xem trước và tải xuống tệp chất lượng đầy đủ, mỗi tệp có 35 trường siêu dữ liệu.

Bạn có thể làm gì với Soundza MCP?

  • Tìm kiếm âm thanh — Yêu cầu trợ lý của bạn tìm hiệu ứng âm thanh, nhạc hoặc không gian âm thanh bằng search_sounds với các bộ lọc như loại, tâm trạng, BPM hoặc thời lượng.

  • Xem chi tiết âm thanh — Truy xuất siêu dữ liệu đầy đủ cho một âm thanh cụ thể, bao gồm tệp xem trước, thông tin giấy phép và URL tải xuống, qua get_sound.

  • Khám phá bộ âm thanh — Duyệt qua các bộ sưu tập âm thanh được tuyển chọn bằng search_packs, hoặc xem tất cả âm thanh trong một bộ cụ thể bằng get_pack.

  • Tải xuống âm thanh chất lượng đầy đủ — Nhận lệnh curl sẵn sàng sử dụng và liên kết tải xuống trong 15 phút cho tệp WAV chất lượng đầy đủ của âm thanh qua download_sound.

  • Nghe thử với bản xem trước — Nghe bản xem trước MP3 128 kbps trực tiếp từ CDN mà không sử dụng tín dụng API, trước khi quyết định tải xuống.

Máy chủ MCP được lưu trữ

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

Cài vào Claude Code, Codex, Cursor và nhiều công cụ khác

Tài liệu

Cách Kết Nối

Sử dụng soundza từ trợ lý AI hoặc từ mã của riêng bạn. Cả hai đều miễn phí và có cùng chất lượng âm thanh.

Trong trợ lý AI

Trong Claude, ChatGPT, Claude Code hoặc bất kỳ ứng dụng MCP nào, thêm máy chủ MCP soundza và đăng nhập một lần bằng tài khoản miễn phí. Các bước cho từng nền tảng ở bên dưới.

Trong mã của riêng bạn

Trong ứng dụng, trò chơi, tập lệnh và công cụ xây dựng, gọi REST API bằng khóa API miễn phí. Lấy khóa.

REST

https://api.soundza.com/v1

MCP, đăng nhập

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

MCP, khóa API

https://mcp.soundza.com/mcp

OpenAPI

soundza.com/openapi.json

Cho tác nhân

soundza.com/llms.txt

Máy chủ MCP có năm công cụ: search_sounds, get_sound, search_packs, get_pack và download_sound, trả về liên kết 15 phút, lệnh curl sẵn sàng và trang của âm thanh.

Claude

  1. Nhấp Add to Claude. Claude mở ra với tên và URL đã được điền sẵn. Nhấp Add.
  2. Đăng nhập vào soundza và phê duyệt. Chỉ cần một tài khoản miễn phí là đủ.
  3. Trong cuộc trò chuyện, nhấp +, mở Connectors và bật Soundza.

Add to Claude hoặc thêm trình kết nối tùy chỉnh với https://mcp.soundza.com/mcp/oauth

ChatGPT

  1. Mở ChatGPT plugins và thêm máy chủ MCP tùy chỉnh. Đặt tên là Soundza và giữ OAuth.
  2. Dán URL bên dưới, sau đó đăng nhập vào soundza.
  3. Trong cuộc trò chuyện mới, chọn Soundza từ menu công cụ.

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

Máy chủ tùy chỉnh phụ thuộc vào gói ChatGPT của bạn; một số cần bật Developer mode trong cài đặt.

Claude Code

Thêm nó, sau đó chạy /mcp, chọn soundza và đăng nhập trong trình duyệt.

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

Muốn dùng khóa? Đặt SOUNDZA_API_KEY và thêm https://mcp.soundza.com/mcp với tiêu đề Authorization. Trang keys hiển thị lệnh này với khóa của bạn đã được điền sẵn:

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

Codex, Cursor và các tác nhân khác

Bất kỳ máy khách nào hỗ trợ streamable HTTP. Dùng https://mcp.soundza.com/mcp/oauth nếu nó hỗ trợ đăng nhập, nếu không thì https://mcp.soundza.com/mcp với tiêu đề Authorization. Với Cursor, thêm vào ~/.cursor/mcp.json; nó đọc khóa từ môi trường của bạn, nên khóa không nằm trong các tệp bạn có thể commit.

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

Lấy khóa API

Dùng khóa trong mã của riêng bạn. Gửi nó dưới dạng Authorization: Bearer <key>. Khóa bắt đầu bằng sz_live_. Giữ khóa trên máy chủ của bạn hoặc trong tệp .env đã được gitignore, không bao giờ trong mã máy khách.

Tự tạo khóa

Đăng nhập và tạo khóa trên trang keys. Khóa chỉ hiển thị một lần, kèm lệnh MCP đã được điền sẵn.

Hoặc để tác nhân của bạn đăng nhập

Yêu cầu tác nhân lập trình của bạn tìm âm thanh trên soundza.com. Nó đọc llms.txt, gửi cho bạn một liên kết để phê duyệt và tự lưu khóa.

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.

Bắt đầu nhanh

Tìm kiếm, sau đó tải xuống những gì bạn dùng. Đặt SOUNDZA_API_KEY trước tiên.

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"

Mỗi kết quả có preview_files, MP3 128 kbps phát trực tiếp từ CDN của chúng tôi mà không cần khóa, và download_url cho tệp chất lượng đầy đủ.

Endpoints

Mọi endpoint là yêu cầu GET dưới https://api.soundza.com/v1. Thông số đầy đủ tại /openapi.json.

EndpointChức năng
GET /sounds/searchTìm kiếm theo từ khóa và bộ lọc. Trả về một trang âm thanh và search_id.
GET /sounds/{id}Một âm thanh, theo id.
GET /sounds/{id}/fileTệp chất lượng đầy đủ, thường là WAV, được cân bằng mức với danh mục;?variant=original cho bản gốc chưa chỉnh sửa. Một 302 đến liên kết hoạt động trong 5 phút. Tùy chọn search_id và user.
GET /packsCác gói công khai, tốt nhất trước. Tùy chọn q, page và per_page.
GET /packs/{id}Một gói, sau đó là một trang các âm thanh của nó. Mỗi âm thanh đều ghi tên gói của nó.
GET /removals?since=Các âm thanh bị xóa kể từ một ngày ISO, cho những ai lưu trữ tệp.

Tham số tìm kiếm

Cung cấp q, ít nhất một bộ lọc, hoặc cả hai. Thời lượng tính bằng giây.

Tham sốLoạiMô tả
qstringTừ khóa để khớp, ví dụ "door slam" hoặc "lofi drum loop". Lỗi chính tả được bỏ qua.
typestringÂm thanh là gì: music, sound_effect hoặc ambience (xem Type and facts). Không phân biệt hoa thường. Tìm kiếm với q không tìm thấy gì trong loại của nó sẽ tìm mọi loại và ghi chú trong relaxed_filters.
formstringChỉ nhạc: track, excerpt, loop, one_shot hoặc stem.
partsstringChỉ nhạc: full_mix hoặc single_part. Nếu không đặt, type=music xếp hạng full mixes trước, rồi loops, rồi single parts.
vocalsstringChỉ nhạc: none, backing hoặc lead.
stylestringChỉ hiệu ứng âm thanh: retro hoặc cartoon. Đặt theo gói, nên hầu hết âm thanh không có; với q không tìm thấy gì với nó, nó bị bỏ và được liệt kê trong relaxed_filters.
min_durationnumberĐộ dài ngắn nhất, tính bằng giây.
max_durationnumberĐộ dài dài nhất, tính bằng giây.
min_bpmnumberNhịp độ chậm nhất. Chỉ nhạc có nhịp độ.
max_bpmnumberNhịp độ nhanh nhất.
keystringGiọng nhạc, ví dụ "C", "F# minor" hoặc "Bbm". Khớp chỉ các giọng mà âm thanh hiển thị: được nêu bởi nguồn hoặc một người, hoặc được phát hiện với độ tin cậy cao.
chordstringHợp âm mà một one-shot chơi, ví dụ "Am", "C#m7" hoặc "Fmaj7".
notestringNốt mà một one-shot có cao độ chơi: "D3" cho quãng tám đó (C3 là nốt Đô giữa), hoặc "D" cho mọi quãng tám.
moodlistCác từ tâm trạng phân tách bằng dấu phẩy; âm thanh khớp bất kỳ từ nào sẽ trả về, và nhiều khớp hơn xếp hạng cao hơn. Một trong: airy, heavy, metallic, bright, dark, punchy, soft, warm, glitchy, organic, cinematic, cartoony, retro.
good_forlistCác công việc phân tách bằng dấu phẩy mà âm thanh nên phù hợp. Chỉ xếp hạng: âm thanh khớp xếp hạng cao hơn, không có gì bị lọc ra. Một trong: 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Độ dài mà âm thanh cần lấp đầy, ví dụ 20 cho quảng cáo 20 giây. Xếp hạng các âm thanh có thể lấp đầy (một track ít nhất dài đó, hoặc một loop liền mạch) và thêm gợi ý phù hợp vào mỗi kết quả. Không lọc bất cứ gì.
packstringId hoặc slug của một gói: chỉ các âm thanh của gói đó.
loop_seamlessbooleantrue: chỉ các âm thanh loop liền mạch, được đo từ âm thanh (phần cuối chạy ngược vào phần đầu mà không có tiếng click hoặc nhảy). Cho nhạc trò chơi và nền ambience lặp lại dưới một cảnh.
categorystringMột danh mục cấp cao của Universal Category System ("CROWDS") hoặc CatID ("CRWDCheer"). Hiệu ứng âm thanh và ambience.
pageintegerSố trang, từ 1.
per_pageintegerKết quả mỗi trang: mặc định 15, tối đa 50. Kết quả dừng ở 500 mỗi truy vấn.

Phản hồi

Một trang kết quả, với liên kết đến trang tiếp theo. bpm và key mô tả nhạc; creator là null khi một âm thanh không có người tạo công khai.

Các tệp được cân bằng mức, nên các âm thanh nằm cùng nhau mà không cần chỉnh từng cái: một mức tăng cho mỗi âm thanh, không nén, đỉnh ở hoặc dưới −1 dBTP. Ambience nhắm −20 LUFS, nhạc, pad và loop dài −16, mọi thứ khác −13 trên 400 ms to nhất của nó. lufs, true_peak_db và loudness mô tả bản gốc; gain_db là những gì tệp mặc định thêm vào. Thêm ?variant=original vào route tệp cho bản gốc như khi tải lên.

{
  "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)"
    }
  ]
}

Loại và dữ kiện

type cho biết một âm thanh là gì. Lọc theo loại trước, rồi theo các dữ kiện bạn biết, rồi đặt phần còn lại trong q.

typeNội dungDữ kiện
musicTrack, excerpt, loop, one-shot, stem, stinger, jingle và vocal chop, bao gồm nhạc trò chơi.form (track, excerpt, loop, one_shot, stem), parts (full_mix, single_part), vocals (none, backing, lead), bpm, key, note, chord
sound_effectWhoosh, impact, foley, âm thanh UI và trò chơi, giọng nói làm hiệu ứng.category (UCS), style (retro, cartoon; đặt theo gói)
ambienceĐịa điểm, room tone và nền nhiễu.category (UCS)

"Nhạc nền doanh nghiệp, không giọng hát" là type=music&vocals=none&q=corporate. Với type=music, full mix đến trước, rồi loop, rồi single part, trừ khi bạn đặt parts. good_for đưa các âm thanh phù hợp với một công việc (transition, ui_click, background_bed …) lên cao hơn trong kết quả mà không lọc bất cứ gì. Tìm kiếm với q không tìm thấy gì trong loại của nó sẽ tìm mọi loại và liệt kê type trong relaxed_filters.

Giới hạn

Khóa miễn phí nhận:

  • 60 lượt tìm kiếm mỗi phút
  • 250 lượt tải xuống mỗi giờ
  • 350 lượt tải xuống mỗi ngày

Mọi phản hồi đều bao gồm các tiêu đề này. Một 429 cũng bao gồm Retry-After, tính bằng giây:

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

Tất cả khóa trên một tài khoản dùng chung các giới hạn này. Nghe thử âm thanh bằng preview_files của chúng, miễn phí và không tính, và chỉ tải xuống những âm thanh bạn dùng.

Chỉ các âm thanh khác nhau mới tính là lượt tải xuống, nên tải lại cùng một âm thanh trong vòng 24 giờ là miễn phí. Tổng số lần tải tệp bị giới hạn ở hai lần giới hạn tải xuống. Lưu mỗi tệp một lần và tái sử dụng theo id của âm thanh. Tra cứu một âm thanh hoặc gói đơn lẻ có giới hạn riêng, gấp năm lần giới hạn tìm kiếm.

Muốn đặt bộ chọn âm thanh trong ứng dụng của bạn? Cứ làm: khóa miễn phí đủ cho một ứng dụng nhỏ với vài người dùng mỗi ngày. Khi có lưu lượng thực, yêu cầu giới hạn cao hơn từ trang keys và cho chúng tôi biết một chút về nó, hoặc viết thư cho admin@soundza.com. Chúng tôi sẽ trả lời qua email.

Yêu cầu giới hạn cao hơn

Ghi công

Mọi thứ hoàn toàn miễn phí. Điều duy nhất chúng tôi yêu cầu là bạn ghi công soundza.com (và/hoặc người tạo âm thanh gốc nếu có) ở nơi phù hợp với dự án của bạn. Lý tưởng nhất là bao gồm liên kết đến soundza.com ở đâu đó trên trang web/blog/trang itch của bạn (ví dụ 'Cảm ơn soundza.com vì các âm thanh miễn phí'). Nếu bạn không có trang web, chúng tôi vẫn rất vui khi được nhắc đến trên mạng xã hội hoặc trong mô tả video YouTube, v.v. Hãy lan truyền!

Dưới đây là một số ví dụ. Chúng tôi linh hoạt về cách bạn ghi công, nhưng chúng tôi yêu cầu bạn làm theo cách tự nhiên cho dự án của mình.

Bạn đang làmCách ghi công
Một ứng dụng hoặc công cụ có bộ chọn âm thanhPowered by soundza trong bộ chọn, cộng với liên kết đến soundza.com trong chân trang, trang Giới thiệu, blog hoặc nơi nào đó phù hợp của trang web bạn.
Một trò chơi, dù nhỏBất cứ nơi nào bạn chia sẻ (bài đăng Reddit hoặc Discord, X, devlog hoặc trang web, itch.io hoặc Steam), một lời cảm ơn nhanh đến soundza.com, kèm liên kết nếu có thể.
VideoSound effects: soundza.com trong mô tả YouTube. Trên TikTok hoặc Instagram, gắn thẻ @soundza_audio nếu có thể.
Bot, tác nhân hoặc công cụ mã nguồn mởMột dòng trong README, văn bản trợ giúp hoặc trang liệt kê.
Thứ gì đó chỉ cho riêng bạnKhông cần gì.

Muốn dùng logo của chúng tôi? Bạn có thể hiển thị nó cùng liên kết của bạn: logo đầy đủ (PNG) hoặc mark riêng (SVG). Chỉ đừng dùng nó làm biểu tượng ứng dụng của bạn.

Đã làm gì đó với soundza? Chúng tôi rất muốn xem. Email admin@soundza.com hoặc gắn thẻ @soundza_audio. Chúng tôi chia sẻ lại các dự án hay.

Lỗi

Lỗi là JSON: {"error": {"code", "message", "details"?}}.

Trạng tháiMãÝ nghĩa
400invalid_requestMột tham số sai. details liệt kê từng cái.
401missing_keyKhông có tiêu đề Authorization: Bearer.
401invalid_keyKhóa không tồn tại.
401revoked_keyKhóa đã bị thu hồi.
404not_foundKhông có âm thanh công khai nào có id đó.
429rate_limitedĐã đạt giới hạn. Chờ Retry-After giây.
500server_errorCó gì đó sai ở phía chúng tôi. Thử lại ngay.

Cấp phép

Mọi âm thanh đều thuộc Giấy phép Tiêu chuẩn Soundza, được liên kết từ trường license của nó: miễn phí bản quyền cho công việc cá nhân và thương mại, không yêu cầu ghi công cho bản thân các âm thanh (xem ghi công để biết những gì chúng tôi mong đợi đáp lại). Chúng tôi xem xét âm thanh một cách cẩn thận, nhưng cung cấp chúng nguyên trạng, không đảm bảo rằng một âm thanh không vướng các khiếu nại của bên thứ ba. Giấy phép có đầy đủ các điều khoản.

Nguyên tắc

  • Khi những người ngoài nhóm của bạn thấy sản phẩm bạn tạo ra, hãy liên kết ngược về soundza.com theo cách phù hợp: "Powered by soundza" bên cạnh trình chọn âm thanh của bạn cùng với một liên kết trên trang web của bạn, một lời cảm ơn ở bất cứ nơi nào bạn chia sẻ trò chơi của mình, hoặc một dòng trong phần mô tả video của bạn. Xem soundza.com/developers#credit.
  • Yêu cầu download_url của một âm thanh khi nó được thêm vào dự án, lưu tệp một lần và tái sử dụng nó bằng id của âm thanh đó.
  • Bản xem trước chỉ để nghe thử. Hãy sử dụng các tệp đã tải xuống trong tác phẩm hoàn thiện.
  • Không sao chép chức năng cốt lõi của Soundza hoặc xây dựng một thư viện âm thanh hoặc API cạnh tranh.
  • Một khóa miễn phí có thể lưu trữ tối đa 500 âm thanh đã tải xuống. Xóa mọi âm thanh được liệt kê trong GET /v1/removals và kiểm tra ít nhất hàng tháng.
  • Tôn trọng các giới hạn tốc độ và hãy hỏi khi bạn cần thêm. Chúng tôi có thể tạm ngưng hoặc chấm dứt quyền truy cập API của bất kỳ ai, bất cứ lúc nào, vì bất kỳ lý do gì.

Việc sử dụng API được điều chỉnh bởi Điều khoản Dịch vụ và Giấy phép.

Trình chọn Soundza

Một trình chọn âm thanh cho sản phẩm của bạn trong ba tệp: hai tuyến máy chủ giữ khóa của bạn ở chế độ riêng tư và một thành phần có chip, bản xem trước và liên kết ghi công. Tùy chỉnh kiểu dáng để phù hợp với ứng dụng của bạn.

// 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 });
}

Khi người dùng thêm một âm thanh, hãy tìm nạp tuyến tệp từ máy chủ của bạn và lưu tệp vào bộ lưu trữ của riêng bạn. Điều đó tính là một lượt tải xuống. Tuyến này chuyển hướng đến một liên kết đã ký có hiệu lực trong 5 phút và không thể đọc từ trình duyệt trên trang web khác, vì vậy đừng tìm nạp nó ở phía máy khách hoặc giữ liên kết. Truyền ID người dùng của riêng bạn làm user nếu bạn muốn có báo cáo theo từng người dùng.

Câu hỏi thường gặp

API có miễn phí không?

Có. API và các khóa đều miễn phí. Đổi lại, chúng tôi rất mong nhận được một liên kết ngược về soundza ở bất cứ nơi nào phù hợp với sản phẩm bạn tạo ra.

Tôi có cần ghi công soundza không?

Chúng tôi chỉ yêu cầu điều đó khi những người ngoài nhóm của bạn thấy sản phẩm bạn tạo ra, dưới bất kỳ hình thức nào phù hợp: một liên kết trên trang web của bạn, trang cửa hàng hoặc phần mô tả video của bạn. Không cần gì khi bạn đang xây dựng hoặc thử nghiệm, hoặc cho những thứ chỉ dành riêng cho bạn.

Điều gì được coi là ghi công?

Một liên kết đến soundza.com mà mọi người có thể nhìn thấy. Đối với ứng dụng, Powered by soundza bên cạnh trình chọn âm thanh của bạn cùng với một liên kết trong chân trang, trang Giới thiệu, blog hoặc nơi nào khác hợp lý trên trang web của bạn. Đối với trò chơi, một lời cảm ơn ở bất cứ nơi nào bạn chia sẻ: bài đăng trên Reddit hoặc Discord, nhật ký phát triển hoặc trang web của bạn, hoặc trang itch.io hoặc Steam của nó. Đối với video, Sound effects: soundza.com trong phần mô tả. Một lời nhắc đến trên X, Discord hoặc YouTube cũng rất đáng quý.

Bạn có chia sẻ những gì tôi tạo ra không?

Chúng tôi rất muốn nghe về những gì bạn xây dựng. Gửi email đến admin@soundza.com hoặc gắn thẻ @soundza_audio và cho chúng tôi biết bạn đã tạo ra gì. Chúng tôi chia sẻ lại các dự án thú vị được tạo bằng soundza.

Tôi có thể sử dụng logo soundza không?

Có, chúng tôi rất mong bạn hiển thị nó cùng với liên kết "Powered by soundza" của mình, mặc dù điều đó là tùy chọn. Vui lòng không sử dụng nó làm biểu tượng ứng dụng của bạn. Tải xuống logo đầy đủ (soundza.com/logo-wordmark.png) hoặc riêng biểu tượng (soundza.com/logo.svg).

Các giới hạn là gì?

Khóa miễn phí được 60 lượt tìm kiếm mỗi phút, 250 lượt tải xuống mỗi giờ và 350 lượt mỗi ngày, được chia sẻ bởi tất cả các khóa trên tài khoản của bạn. Bản xem trước không được tính. Mọi phản hồi đều có các tiêu đề X-RateLimit-*.

Làm thế nào để tôi có giới hạn cao hơn?

Các giới hạn miễn phí đủ để xây dựng một trò chơi, chỉnh sửa video hoặc một ứng dụng nhỏ có trình chọn âm thanh. Nếu bạn đang đặt trình chọn âm thanh vào một ứng dụng có lưu lượng truy cập thực, hãy sử dụng "Yêu cầu giới hạn cao hơn" trên trang khóa và cho chúng tôi biết một chút về nó, hoặc gửi email đến admin@soundza.com với tiền tố khóa của bạn và những gì bạn đang xây dựng. Chúng tôi sẽ trả lời qua email.

Tôi có thể sử dụng các âm thanh trong các dự án thương mại không?

Có. Mọi âm thanh đều miễn phí bản quyền cho công việc cá nhân và thương mại theo Giấy phép Tiêu chuẩn Soundza, và việc đóng gói một âm thanh bên trong trò chơi hoặc ứng dụng bạn tạo ra là hoàn toàn hợp lệ.

Tôi có thể lưu trữ các tệp không?

Có. Lưu mỗi tệp một lần và tái sử dụng nó bằng id của âm thanh đó. Một khóa miễn phí có thể lưu trữ tối đa 500 âm thanh đã tải xuống. Đừng giữ liên kết đã ký mà download_url chuyển hướng đến; nó chỉ có hiệu lực trong 5 phút.

Nếu một âm thanh bị gỡ xuống thì sao?

Gọi GET /v1/removals?since=<date> thỉnh thoảng (ít nhất hàng tháng) và xóa mọi âm thanh mà nó liệt kê.

Tôi có thể sử dụng các âm thanh để huấn luyện AI không?

Không. Các âm thanh không thể được sử dụng để huấn luyện, tinh chỉnh hoặc xây dựng một mô hình AI hoặc máy học.

Tôi có thể xây dựng một thư viện âm thanh dựa trên API không?

Không. Vui lòng không phân phối lại các âm thanh dưới dạng tệp độc lập hoặc gói mẫu, hoặc xây dựng một thư viện âm thanh hoặc API cạnh tranh.

REST hay MCP?

Cả hai đều sử dụng cùng một khóa, giới hạn và danh mục. Sử dụng REST từ mã của bạn và MCP (mcp.soundza.com/mcp) để một tác nhân như Claude Code hoặc Cursor có thể tìm kiếm và tải xuống cho bạn.

Tác nhân lập trình của tôi có thể tự lấy khóa không?

Có. Yêu cầu nó tìm âm thanh trên soundza.com. Nó đọc llms.txt, gửi cho bạn một liên kết để phê duyệt và lưu khóa.