Sunoで曲を生成した。次に欲しいのはファイルだ——スマホで、動画編集ソフトで、DAWで使いたい。Suno Downloaderは曲のリンクを渡すだけでMP3か無劣化WAVを返してくれる無料のブラウザツールで、アカウントもインストールも不要だ。その裏側には、すでに一度プラットフォームの変更を乗り越えた、鋭く作り込まれた小さなエンジニアリングがある。その全貌を紹介する。
「曲を作った」と「ファイルを手にした」の間にあるギャップ
AI音楽生成ツールはファイルシステムではなくプレイヤーを中心に作られている。曲を説明すると曲ができ、ブラウザのタブで聴く——そして次に、それを実際に使いたくなる。動画に入れる。DAWに落とす。ランニング用にスマホに入れる。アカウントを持たない誰かに送る。
摩擦が生まれるのはその最後のステップだ。音声はプレイヤーの奥にあり、ダウンロードオプションはプランの階層に紐づき、出てくるファイルはUUIDにちなんで名付けられ、モバイルでは全体が一苦労になる。Suno Downloaderは、そのステップを一回の貼り付けと一回のクリックに凝縮するために存在する。
無料で、登録不要で、モバイルブラウザでも動作し、ハッシュ値ではなく本物の曲名をファイルに付ける。この記事の残りは、その裏側にあるものについてだ。
貼り付けられるもの
この入力パーサーは同種のツールの多くよりも寛容だ。それは重要なことで、人々は全く異なる場所からリンクをコピーしてくる——スマホの共有シート、ブラウザのアドレスバー、Discordのメッセージ、idだけが残ったメモなど。
| 貼り付けるもの | 起こること |
|---|---|
https://suno.com/song/<uuid> | 標準の曲ページURL。直接解析される。 |
https://suno.com/s/<code> | 共有リンク。曲idを含まないため、サービスがリダイレクトを追跡し、最終的なURLからidを読み取る。 |
| 単独の共有コード | 6〜32文字の英数字。共有URLに変換され、同じ方法で解決される。 |
| 単独のUUID | 曲idを含む任意の文字列。抽出されて使用される。 |
| 直接のSuno CDN URL | ホストが許可リストにあれば受け入れられ、そのまま使用される。 |
| プレイリストのリンク | 拒否される——プレイリストは単一ファイルではないという説明とともに、代わりに個別の曲を開くよう案内される。 |
| プロフィールのリンク | 拒否される——その旨のメッセージとともに。 |
| それ以外のもの | 拒否される——Sunoの曲または共有リンクを求めるメッセージとともに。 |
最後の3行が興味深い部分だ。手を抜いた実装なら502を返してユーザーに推測させる。このツールは入力が失敗した理由を分類し、人間が対処できる文章を返す。混乱を大きく回避するための、わずかなコード量だ。
2つの形式、そして両方が存在する理由
MP3——デフォルト
コンパクトで汎用性が高く、カーステレオからスマートスピーカーまであらゆるもので再生できる。高いVBR品質設定でLAMEを使ってエンコードされており、これは視聴用コピーとして正しいトレードオフだ:サイズのごく一部で耳には透明に聞こえる。
スマホ、メッセージアプリ、YouTubeの背景音楽、ポッドキャスト、そして作業対象ではなく聴かれるだけのファイルにはこれが欲しい。このサービスを通じたダウンロードのおよそ85%を占める。
WAV——作業用コピー
非圧縮のPCM。より大きく、それは意図的なものだ:すでに持っている音声の上にさらなる不可逆生成を重ねない。
これはエディタに取り込むためのものだ。トラックをカットしたり、レイヤーを重ねたり、タイムストレッチしたり、ナレーションの下でダッキングしたり、動画プラットフォームがアップロード時に再エンコードしたりする予定なら、すでに不可逆コーデックを通過したファイルを渡したくはない。以降のエンコードのたびに劣化が重なる。WAVはダウンロードの約7分の1で、そのほとんどがまさにこれを行っている人々だ。
サイトはそれぞれに専用のランディングページを用意している——Suno to MP3とSuno WAV Download——なぜなら、たまたま1つのツールを共有しているだけで、実際には2つの本当に異なる意図だからだ。
興味深い部分:プラットフォーム変更を生き延びる
ここでこのプロジェクトは単なるラッパーであることをやめ、エンジニアリングになる。このカテゴリのほとんどのツールを静かに葬り去る類のことなので、きちんと説明する価値がある。
長い間、仕組みは単純だった:Sunoは予測可能なCDN URLから音声を配信しており、ダウンローダーは単にcdn1.suno.ai/<id>.mp3を取得してストリーミングするだけでよかった。2026年8月、それが機能しなくなった。Sunoは音声を署名付きCDN URLの裏に移し、以前の直接パスは誰に対しても403を返すようになった。
古い前提の上に構築された多くのツールが壊れた。このツールは適応し、その適応は層になっている:
- 1・公開ページを一度だけスクレイプ 公開されている曲ページには、直接取得可能なCloudFrontの
.m4aクリップURLがまだ埋め込まれている。ページを一度取得するだけで、そのURLと曲の本当のタイトルの両方が得られる——og:titleから、なければ末尾のブランド接尾辞を取り除いた<title>にフォールバックする。 - 2・この曲自身のクリップを優先 ページには複数のクリップURLが含まれることがあるため、マッチャーはリクエストされた曲とidが一致するものを探し、その完全一致がない場合にのみページ上の任意のクリップにフォールバックする。
- 3・未署名のMP4を取得 音声専用ストリームは今やゲートがかかり暗号化されているが、同じ音声トラックを含む静止画像動画であるMP4は依然として未署名で配信されている。それこそがダウンローダーが実際に取得するものだ。
- 4・ffmpegで抽出 MP4はまず一時ファイルに書き込まれる。moovアトムがコンテナの末尾に位置することがあり、ffmpegにはシーク可能な入力が必要だからだ。パイプでストリーミングすると「moov atom not found」というエラーで断続的に失敗する——このバグは次の担当者が再発見するために放置されるのではなく、コード内のコメントに文書化されている。
- 5・ストリーム出力、後片付け ffmpegが映像トラックを取り除き、MP3またはWAVに直接レスポンスへエンコードする。一時ファイルはプロセス終了時、エラー時、クライアント切断時の3つの別々の経路すべてで確実に削除される。
ユーザーにとっての結果は、以前はMP3がパススルーだったのに対し、今や両方の形式がサーバー側のトランスコードを必要とするということだ。サービスにとっての結果は、多くの代替ツールが黙ってエラーを返し始める中、1か月で機能するダウンローダーを維持したことだ。
作業の大半を占める小さな細部
- 本物のファイル名 曲のタイトルはページから読み取られ、ファイル名として使用される。ダウンロードヘッダーが素朴なASCII文字列ではなく適切なRFC 5987エンコードフィールドとして書かれているため、非ASCIIのタイトルもそのまま残る——「Пісня про дощ」や「夜明けのうた」というトラックも、文字化けやUUIDではなく正しい名前で届く。
- 出力時にバッファリングしない 前段のnginx層はプロキシバッファリングをオフに、読み取りタイムアウトを長く設定している。音声ファイルは大きく、バッファリングされたプロキシは1バイトも送信する前にファイル全体をメモリに保持してしまうからだ。
- ファイルタイプごとに選ばれたキャッシュポリシー HTMLは意図的に決してキャッシュされないため、コンテンツやSEOの修正は即座に反映される。CSSとJSはファイル名がコンテンツハッシュ化されていないため1日のTTLを持つ。画像とアイコンは30日。ブログ画像は1年で不変とマークされ、アプリケーションに一切触れずnginxがディスクから直接配信する。
- 正直なエラーメッセージ 「このトラックが見つかりませんでした——Sunoの公開された単一の曲であることを確認してください」はユーザーに何をすべきか伝える。「502 Bad Gateway」はそうではない。ダウンロードハンドラーのすべての失敗経路が前者のようなメッセージを生成する。
- スマホで動作する インストール不要、アプリストア不要、拡張機能も不要。モバイルブラウザはファーストクラスのクライアントであり、最も一般的な使用ケースが「これをスマホに入れたい」であるツールにとって、それがすべてだ。
API
このウェブページは小さな公開APIのクライアントであり、そのAPIは直接利用できる。
| エンドポイント | 返すもの |
|---|---|
GET /api/health | { "ok": true, "ffmpeg": true } ——生存確認とトランスコードが利用可能かどうか。 |
GET /api/info?url=<link> | { ok, id, title, pageUrl, ffmpeg } ——入力を解決し、トラックが公開されダウンロード可能であることを確認し、本当のタイトルを返す。 |
GET /api/download?url=<link>&format=mp3|wav[&title=…] | ダウンロードヘッダーに正しいファイル名を付けてファイルをストリーミングする。タイトルは任意で上書き可能。 |
POST /api/contact | 検証済みのお問い合わせフォーム送信、IPごとにレート制限あり。 |
curl 'https://sunodownloader.ai/api/info?url=https://suno.com/song/<id>'
curl -OJ 'https://sunodownloader.ai/api/download?url=https://suno.com/song/<id>&format=wav'この2段階の分割はスクリプト化する際に重要だ:/api/infoは軽量で、リンクが使用可能かどうかとその名称を教えてくれるので、バッチジョブは何メガバイトも取得し始める前にリストを検証できる。
そしてもう1つ、制限付きの階層
それらに加えて/api/v1/health、/api/v1/info、/api/v1/downloadがある——共有アプリトークンとインストールごとのレート制限の裏にある同じ操作だ。トークンは設定されている場合にのみ強制されるため、ウェブビルドとローカル開発は変更なしに動作し続ける一方、モバイルアプリはネットワークタブを読む誰にでも簡単に悪用されない表面を得る。
Androidアプリ
Android向けのFlutterクライアントがあり、そのデザインは何をして何をしないかについて、清々しいほどミニマルだ。
- 薄いクライアントである リンクを貼り付けると、アプリはアプリトークンとともに
/api/v1/infoを呼び出し、音声URLを受け取り、実際の転送をAndroid自体のDownloadManagerに渡す。 - ダウンロードを行うのはシステム つまり、本物のシステム進捗通知、再開可能性、そしてファイルは他の何も読み取れないサンドボックス化されたアプリディレクトリではなく、電話上の他のすべてのアプリが見ることができる公開のMusicフォルダに着地する。
- Android 8以降 アプリケーションid
ai.sunodownloader.app、最小SDK 26。 - サインインがスムーズに引き継がれる アプリから開始されたGoogle OAuthはフロー全体を通してマーカーを運び、コールバックはユーザーをウェブページに放り出すのではなく、登録済みのディープリンクを通じてセッションをアプリに返す。
リポジトリはアプリ固有のソースのみを保持している——Dartのコード、ネイティブアクティビティ、マニフェスト、アイコン——そしてビルダーにインストールされているFlutterのバージョンから、セットアップ時にGradleの骨組みを生成する。これは意図的な陳腐化防止の選択だ:セットアップの一手間と引き換えに、古びたビルドシステムと二度と戦わずに済む。
アカウント:任意、そして本当に任意
アカウント層は存在する——ローカルのメールとパスワード、それにGoogle OAuth——そしてそれを支配するルールはソース内のコメントに記され、コード全体を通じて守られている:ダウンロードは公開かつ匿名のままであり、ログインは特典を解除するだけで、認証でダウンロードフローをゲートすることは決してない。
サインインすることで実際に得られるもの:
- ダウンロード履歴——引き出したトラック、重複排除済みで、タイトル、形式、タイムスタンプ付き。
- あなたに付いてくるセッション——ウェブアプリとAndroidアプリの両方をまたいで。
リストはそれで全部だ。その裏に有料階層が隠れているわけではなく、ログインで上がる日次上限もなく、それが取り除くウォーターマークもない。
認証の構築方法
- 依存関係ゼロのパスワードハッシュ化 Node自身のcryptoモジュールからのscrypt、ユーザーごとにソルト化され、構造化された文字列として保存される。bcryptパッケージなし、認証フレームワークなし。
- 不透明なデータベースセッション セッショントークンはそれ自体では何も意味しないランダムな値で、サーバー側で検索される。自己記述的なトークンではないため、失効は単なる削除だ。
- 両方の世界で振る舞うクッキー TLSはnginxとCloudflareで終端されるため、アプリは転送されたプロトコルヘッダーを信頼してクッキーをSecureとマークするかどうかを決める——本番環境はSecureクッキーを取得し、平文HTTPのローカル開発もそのまま動作する。
- タイミングセーフな比較とIPごとの認証スロットリング 両方とも存在し、両方とも小さく、両方とも個人プロジェクトで日常的に省略される類のものだ。
- パスワードハッシュは決してサーバーを離れない ユーザーオブジェクトのための明示的な公開形状関数が存在し、それはハッシュが誤ってレスポンスに漏れることがないようにするために存在する。
アナリティクス、そして意図的に収集しないもの
完了したすべてのダウンロードが記録される——成功も失敗も、失敗理由付きで——そしてそのログ記録はfire-and-forgetだ:レスポンスを決してブロックせず、ダウンロード経路にエラーを投げることも決してない。壊れたアナリティクステーブルがダウンロードを壊すことはできない。
記録が保持するもの:曲id、タイトル、形式、成功したかどうか、しなかった場合はその理由。その周りには、クッキー内の長期間有効な匿名訪問者id、Cloudflareのヘッダーから取得した実際のクライアントIP、そして外部ライブラリではなく小さな自作パーサーでユーザーエージェント文字列から読み取ったベストエフォートのデバイス、ブラウザ、OSがある。
サインインしていれば、ダウンロードはあなたのアカウントに帰属する——それが履歴機能を可能にしているものだ。サインインしていなければ、匿名のままだ。
現在のデータの形:858件の完了したダウンロード、そのうち731件がMP3で127件がWAV、24件の登録済みアカウントと、はるかに多くの匿名訪問者にわたる。若いサービスであり、これらの数字は切り上げられたマーケティング数値ではなく、正直な数字だ。
誰も予想しないライブラリ
このプロジェクトの中にある驚きはコンテンツだ。311件の公開記事が、インメモリキャッシュを備えたデータベースから配信され、ページネーションされ、タグ付けされ、静的ページと並んで自動生成されたサイトマップに組み込まれている。
単なる埋め草ではない。タグの分布は本物の編集構造を示している:
| タグ | 投稿数 |
|---|---|
| ガイド | 99 |
| アイデア | 53 |
| ユースケース | 52 |
| 比較 | 14 |
| 権利とライセンス | 13 |
| 視点 | 12 |
| レビュー | 11 |
| ジャンル | 11 |
| ダウンロード | 8 |
| ツール | 7 |
| 使い方 | 7 |
| シーン | 6 |
そしてその内容は「ダウンロード方法」をはるかに超えていく:
実際に曲を作る方法
構成、ヴァース、コーラス、ボーカル、リマスタリング。
- コーラスの作り方
- ヴァースの作り方
- 曲の構成方法
- より良いAIボーカルを得る方法
音声を扱う
誰も説明してくれない、生成後の実践的なステップ。
- インストゥルメンタルにするためボーカルを除去する
- リス声効果なしで曲を速くする
- 曲を必要な正確なクリップに切り出す
- WAV対FLAC
仕事をこなす音楽
特定の対象に音楽をつける52本の記事。
- Instagramリール・不動産動画
- ヨガ・瞑想・マッサージ・スピンクラス
- インディーゲーム・ドキュメンタリー・広告
- eラーニング・イベント・睡眠
権利、倫理、そしてこの分野
ライセンスに関する13本の記事と、一連の視点記事。
- AI音楽の同期ライセンス
- AIビートを売る
- アーティストはAI音楽を使うか?
- AI音楽の倫理
- AI音楽対人間の音楽
比較記事もある(Riffusion対Suno、Soundfulのレビュー、最高の無料生成ツール、初心者向け最高の生成ツール)、トラブルシューティング(Sunoが生成しない、サブスクリプションなしでダウンロードする、プレイリストをダウンロードする、PCでダウンロードする)、ジャンル解説(フォンク、トランス、ダークウェーブ、ドラムンベース、シンセポップ、ニューウェーブ、シューゲイザー、スウィング、アフロポップ、フォーク、サーフロック、シネマティック)、そしてシーン別記事(誕生日、送別、追悼、先生、父、兄弟、赤ちゃん、失恋、プライド、引っ越し祝い)。
戦略的に見ると、これはユーティリティとデスティネーションの違いだ。ダウンローダーは一度訪れて忘れるページだ。AI音楽の作成、編集、ライセンス、活用に関する300本の記事は、人が戻ってくるものだ——つまり、このサイトはダウンロードの後の質問だけでなく、前の質問にも答えている。
構築と運用の方法
サーバー全体はわずか1つの依存関係——MySQLクライアント——を持つ、53キロバイトの単一のJavaScriptファイルだ。Expressなし、フレームワークなし、ビルドステップなし。ルーティングはリクエストパス上のディスパッチャーであり、HTTPサーバーはNode自身のものだ。
それはそれ自体のためのミニマリズムではない。上流のプラットフォームがCDNの挙動を変更しても生き延びることが仕事のサービスは、コードとソケットの間に何もないことから絶大な恩恵を受ける。8月の変更が来たとき、修正は依存関係のアップグレードではなく、1つの関数だった。
ランタイム
- nginxの背後、Cloudflareの背後で、localhost上の非特権ユーザーとして実行される。
- systemdユニットは強化されている:新しい特権なし、プライベートな
/tmp、システムの残りの読み取り専用ビュー、読み取り専用のホーム、そして書き込み可能なパスはちょうど1つ。 - 失敗時には短いバックオフで再起動する。
- TLSはホストのvhost全体で共有されるCloudflareオリジン証明書——Cloudflareが公開証明書を終端する。
- 頂点は正規化されている:プレーンHTTPと
www.ホストの両方がhttps://sunodownloader.aiに301リダイレクトされる。 - ffmpegは起動時に一度検出される。見つからない場合、ダウンロード時に不可解に失敗する代わりに
/api/healthでその旨を伝える。
コンテンツの配管
記事はデータベースに存在し、スラッグごとにメモリ内でキャッシュされ、公開用の明示的なフラッシュエンドポイントを持つ。ブログハブはサーバー側でページネーションされる。サイトマップは静的ページと公開済みのすべての投稿から構築され、キャッシュされる。ブログ画像はアプリケーションを完全に迂回する——nginxが1年間不変のキャッシュヘッダーでディスクから直接読み取り、Cloudflareがエッジでキャッシュする。
よくある質問、簡潔に回答
アカウントは必要ですか?
いいえ。ダウンロードは匿名かつ無制限です。アカウントはダウンロード履歴とAndroidアプリと共有されるセッションを追加するだけです。
ダウンロードできるトラック数に制限はありますか?
ユーザーごとの上限はありません。お問い合わせと認証エンドポイントには乱用を防ぐためのIPごとのレート制限があり、それがすべてです。
なぜWAVファイルはMP3と同じ音に聞こえるのですか?
そうあるべきだからです。WAVはソースに対する品質のアップグレードではなく——2回目の不可逆エンコードが存在しないことを意味します。ファイルがエディタに入り、後で再エンコードされる場合はWAVを、そのまま耳に届く場合はMP3を選んでください。
プレイリスト全体を一度にダウンロードできますか?
いいえ。プレイリストは単一の音声ファイルではないため、サービスはエラーではなくメッセージでそう伝えます。個々の曲を開いてそのリンクを貼り付けてください。
非公開のトラックでも動作しますか?
いいえ。公開されている曲ページを読み取ります。ページが公開されていなければ、読み取るものは何もありません。
自分のリンクは記録または共有されますか?
サービスは自身の運用統計のためにダウンロードイベント——曲id、タイトル、形式、結果——を記録し、サインインしていない限り匿名の訪問者idに紐づけます。送信されたリンクを公開したり共有したりすることはなく、Suno自身以外のホストとは一切通信しません。
これはSunoと提携していますか?
いいえ。Suno AIと提携も、承認も、後援もされていません。公開されている曲ページの上に構築された独立した利便性ツールです。
誰が、何のために使っているか
- 動画クリエイター 2回目の不可逆生成なしでタイムラインに入るWAV、UUIDではなく曲名にちなんで名付けられている。
- ポッドキャスター 生成されたトラックからそのまま引き出されたイントロとアウトロのベッド、どのエディタでも受け入れられる形式で。
- 試作するミュージシャン 生成されたステムレスのミックスをDAWに取り込んで、それを土台に構築したり、上に歌い直したり、参照として使ったりする。
- スマホでの聴取者 ブラウザのタブを開かずに、オフラインで、車の中で、ランニング中に再生されるMusicフォルダ内のMP3。
- 何かを作り、それを保管しておきたい人 結局のところ、それが前提のすべてだ。
要点まとめ
Suno DownloaderはSunoの曲リンク、共有リンク、曲idをMP3または無劣化WAVに変換する。無料で、アカウント不要、インストール不要、あらゆるデバイスのブラウザで動作する。5種類の異なる入力形式を受け付け、リンクが機能しない理由を丁寧に説明し、あらゆるアルファベットで本物の曲名にちなんでファイルを名付け、Sunoではないものをプロキシすることを拒否する。
そのページの背後には、2階層のJSON API、履歴以外は何もゲートしないローカルおよびGoogleサインインを備えたオプションのアカウント層、実際の転送をシステムのダウンロードマネージャーに渡すFlutter Androidクライアント、依存関係が1つだけの強化された単一ファイルNodeサービス、そしてAI音楽の作成、編集、ライセンス、活用に関する311記事のライブラリがある。
そしてこのカテゴリで最も珍しい特性を持つ:今も動作し続けているということだ。2026年8月にSunoが音声を署名付きURLの裏に移したとき、このサービスはページ自体に埋め込まれたクリップURLと未署名のMP4コンテナを経由して迂回し、動き続けた。
Suno自身のCDNホストのみがプロキシされるため、オープンプロキシとして使用することはできません。
Suno Downloader、README
試してみる:sunodownloader.ai ・ MP3は/suno-to-mp3で ・ WAVは/suno-wav-downloadで ・ ライブラリは/blogで。