Vous avez généré une chanson sur Suno. Maintenant, vous voulez le fichier — sur votre téléphone, dans votre logiciel de montage vidéo, dans une DAW. Suno Downloader est un outil gratuit dans le navigateur qui prend un lien de chanson et renvoie un fichier MP3 ou WAV sans perte, sans compte ni installation. En coulisses, il s'agit d'un petit morceau d'ingénierie soigneusement conçu qui a déjà dû survivre à un changement de plateforme. Voici tous les détails.
Le fossé entre « J'ai créé une chanson » et « J'ai un fichier »
Les générateurs de musique IA sont conçus autour d'un lecteur, et non d'un système de fichiers. Vous décrivez une chanson, vous obtenez une chanson, vous l'écoutez dans un onglet de navigateur — et ensuite, vous voulez réellement l'utiliser. L'intégrer dans une vidéo. L'ajouter dans une DAW. La charger sur un téléphone pour une course. L'envoyer à quelqu'un qui n'a pas de compte.
C'est cette dernière étape qui génère la friction. L'audio est derrière un lecteur, les options de téléchargement sont liées aux niveaux d'abonnement, le fichier qui en résulte est nommé d'après un UUID, et sur mobile, tout cela est un combat. Suno Downloader existe pour réduire cette étape à un seul collage et un seul clic.
Il est gratuit, ne nécessite aucune inscription, fonctionne dans un navigateur mobile et attribue un véritable titre de chanson au fichier plutôt qu’un hachage. Le reste de cet article explique ce qui se cache derrière cela.
Ce que vous pouvez y coller
L’analyseur d’entrée est plus tolérant que la plupart des outils de ce type, ce qui est important car les gens copient des liens depuis des endroits très variés : un menu de partage sur un téléphone, la barre d’adresse d’un navigateur, un message Discord, une note où seul l’id a survécu.
| Ce que vous collez | Ce qui se passe |
|---|---|
https://suno.com/song/<uuid> | La page de chanson standard URL. Analysée directement. |
https://suno.com/s/<code> | Un lien de partage. Il ne contient pas d’identifiant de chanson, donc le service suit la redirection et extrait l’identifiant de la URL finale. |
| Un code de partage nu | Six à trente-deux caractères alphanumériques. Transformé en un lien de partage URL et résolu de la même manière. |
| Un UUID nu | Toute chaîne contenant un identifiant de chanson. Extrait et utilisé. |
| Un CDN URL direct Suno | Accepté si l'hôte figure sur la liste blanche, et utilisé tel quel. |
| Un lien de playlist | Rejeté — avec un message expliquant qu'une playlist n'est pas un seul fichier, et invitant à ouvrir une chanson unique à la place. |
| Un lien de profil | Rejeté — avec un message l'indiquant. |
| Tout le reste | Rejeté — avec un message demandant une chanson Suno ou un lien de partage. |
Ces trois dernières lignes sont les plus intéressantes. Une implémentation plus paresseuse renverrait une erreur 502 et laisserait l'utilisateur deviner. Celle-ci classe la raison de l'échec de l'entrée et renvoie une phrase compréhensible par un humain et sur laquelle il peut agir. Il s'agit d'une petite quantité de code pour une grande quantité de confusion évitée.
Deux formats, et pourquoi ils coexistent
MP3 — le format par défaut
Compact, universel, il fonctionne sur tout, d'une autoradio à une enceinte connectée. Encodé avec LAME avec un paramètre de qualité VBR élevé, ce qui est le compromis idéal pour une copie d'écoute : transparent à l'oreille pour une fraction de la taille.
C'est le format que vous souhaitez pour les téléphones, les applications de messagerie, les arrière-plans YouTube, les podcasts et tout ce qui sera écouté plutôt que modifié. Il représente environ 85 % des téléchargements via le service.
WAV — la copie de travail
PCM non compressé. Plus volumineux, et c'est volontaire : aucune génération supplémentaire avec perte par-dessus l'audio que vous possédez déjà.
C'est le format à importer dans un éditeur. Si un morceau doit être coupé, superposé, étiré temporellement, mis en sourdine sous une voix off, ou réencodé par une plateforme vidéo lors du téléchargement, vous ne voulez pas lui donner un fichier qui a déjà été traité par un codec avec perte. Chaque encodage ultérieur s'ajoute. WAV représente environ un septième des téléchargements, et presque tous sont effectués par des personnes faisant exactement cela.
Le site conserve une page de destination dédiée pour chacun — Suno vers MP3 et Suno WAV Télécharger — car il s’agit de deux intentions véritablement différentes qui partagent un même outil.
Le point intéressant : survivre à un changement de plateforme
C’est ici que le projet cesse d’être un simple wrapper pour devenir un véritable travail d’ingénierie, et il vaut la peine de l’expliquer clairement, car c’est précisément ce type de mécanisme qui finit par tuer silencieusement la plupart des outils de cette catégorie.
Pendant longtemps, le mécanisme était trivial : Suno diffusait l’audio depuis des CDN URL prévisibles, et un téléchargeur pouvait simplement récupérer cdn1.suno.ai/<id>.mp3 et le diffuser en streaming. En août 2026, cela a cessé de fonctionner. Suno a placé ses fichiers audio derrière des CDN URL signés, et l’ancien chemin direct a commencé à renvoyer une erreur 403 pour tous.
La plupart des outils conçus sur la base de l’ancienne hypothèse ont échoué. Celui-ci s’est adapté, et cette adaptation est stratifiée :
- 1 · Récupérer la page publique, une seule fois La page publique de la chanson intègre toujours un extrait
.m4adirectement récupérable via CloudFront URL. Une seule requête sur la page permet d’obtenir à la fois ce lien URL et le véritable titre de la chanson — depuis la baliseog:title, avec un repli sur<title>après suppression du suffixe de marque. - 2 · Privilégier l’extrait propre à cette chanson La page peut contenir plusieurs extraits URL, donc le programme de correspondance recherche celui dont l’id correspond à la chanson demandée, et ne se rabat sur n’importe quel autre extrait de la page que si cette correspondance exacte est absente.
- 3 · Récupérer le MP4 non signé Le flux audio seul est désormais protégé et chiffré, mais le MP4 — une vidéo contenant une image statique et la même piste audio — est toujours servi sans signature. C’est précisément ce fichier que le téléchargeur récupère.
- 4 · Extraire avec ffmpeg Le fichier MP4 est d’abord écrit dans un fichier temporaire, car son atome
moovpeut se trouver à la fin du conteneur, et ffmpeg nécessite un flux lisible par sauts (seekable). Le diffuser directement via un tube (pipe) entraînerait des échecs intermittents avec le message « moov atom not found » — un bug que le code documente dans un commentaire plutôt que de laisser au prochain développeur qui le redécouvrirait. - 5 · Diffuser en sortie, nettoyer ffmpeg supprime la piste vidéo et encode directement en MP3 ou WAV vers la réponse. Le fichier temporaire est supprimé à la fermeture du processus, en cas d’erreur et en cas de déconnexion du client — trois chemins distincts, tous couverts.
Pour l’utilisateur, cela signifie que les deux formats nécessitent désormais une transcodage côté serveur, là où MP3 était auparavant un simple transfert direct. Pour le service, cela signifie disposer d’un téléchargeur fonctionnel alors que de nombreux concurrents ont commencé à retourner des erreurs silencieusement.
Les petits détails qui prennent le plus de temps
- De vrais noms de fichier Le titre de la chanson est lu depuis la page et utilisé comme nom de fichier. Les titres non-ASCII survivent intacts, car l’en-tête de téléchargement est écrit comme un champ encodé conforme à la RFC 5987 plutôt que comme une chaîne ASCII naïve — ainsi, une piste intitulée « Пісня про дощ » ou « 夜明けのうた » arrive avec le bon nom au lieu d’être du mojibake ou un UUID.
- Pas de mise en mémoire tampon à la sortie La couche nginx en amont est configurée avec la mise en mémoire tampon du proxy désactivée et des délais de lecture longs, car les fichiers audio sont volumineux et un proxy avec mise en mémoire tampon conserverait l’intégralité du fichier en mémoire avant d’envoyer le premier octet.
- Politique de cache choisie par type de fichier Le HTML n’est délibérément jamais mis en cache, afin qu’une correction de contenu ou de SEO soit immédiatement en ligne. CSS et JS bénéficient d’une durée de vie (TTL) d’un jour car leurs noms de fichier ne contiennent pas de hachage de contenu. Les images et les icônes bénéficient de trente jours. Les images de blog ont une durée d’un an, sont marquées comme immuables et sont servies directement depuis le disque par nginx sans toucher à l’application.
- Des messages d’erreur honnêtes « Cette piste n’a pas été trouvée — assurez-vous qu’il s’agit d’un single public sur Suno » indique à l’utilisateur ce qu’il doit faire. « 502 Bad Gateway » ne le fait pas. Chaque chemin d’échec dans le gestionnaire de téléchargement produit l’un des messages précédents.
- Ça fonctionne sur un téléphone Pas d’installation, pas de boutique d’applications, pas d’extension. Le navigateur mobile est un client de premier ordre, ce qui, pour un outil dont le cas d’usage le plus courant est « Je veux ça sur mon téléphone », est l’essentiel.
Le API
La page web est un client d’un petit API public, et ce API est directement utilisable.
| Point de terminaison | Renvoie |
|---|---|
GET /api/health | { "ok": true, "ffmpeg": true } — état de disponibilité et indication de la disponibilité du transcodage. |
GET /api/info?url=<lien> | { ok, id, title, pageUrl, ffmpeg } — résout l'entrée, confirme que le morceau est public et téléchargeable, et renvoie son titre réel. |
GET /api/download?url=<lien>&format=mp3|wav[&title=…] | Diffuse le fichier, avec un nom de fichier correct dans l'en-tête de téléchargement. Possibilité de remplacer le titre. |
POST /api/contact | Soumission du formulaire de contact validée, avec une limitation du débit par adresse 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'Cette séparation en deux étapes est importante si vous l'utilisez dans un script : /api/info est peu coûteux et vous indique si un lien est utilisable et comment il s'appelle, ce qui permet à un traitement par lots de valider une liste avant de commencer à télécharger des mégaoctets.
Et un deuxième niveau, restreint
À côté de ceux-ci se trouvent /api/v1/health, /api/v1/info et /api/v1/download — les mêmes opérations derrière un jeton d'application partagé et une limitation du débit par installation. Le jeton n'est appliqué que lorsqu'il est configuré, de sorte que la version web et le développement local continuent de fonctionner sans modification, tandis que l'application mobile bénéficie d'une interface qui ne peut pas être facilement exploitée par quiconque lit l'onglet réseau.
L'application Android
Il existe un client Flutter pour Android, et son design est d'une simplicité rafraîchissante quant à ce qu'il fait et ne fait pas.
- Il s'agit d'un client léger Collez un lien, l’application appelle
/api/v1/infoavec le jeton de l’application, récupère l’audio URL et confie le transfert effectif au DownloadManager propre à Android. - Le système s’occupe du téléchargement Ce qui signifie une notification de progression système réelle, la possibilité de reprise, et le fichier déposé dans le dossier Musique public où toutes les autres applications du téléphone peuvent y accéder — plutôt que dans un répertoire d’application isolé que rien d’autre ne peut lire.
- Android 8 et versions ultérieures Identifiant de l’application
ai.sunodownloader.app, SDK minimum 26. - La connexion se fait de manière propre Google OAuth lancé depuis l’application conserve un marqueur tout au long du flux, et le rappel renvoie la session à l’application via un lien profond enregistré plutôt que de déposer l’utilisateur sur une page web.
Le dépôt ne conserve que les sources propres à l’application — le code Dart, l’activité native, le manifeste, les icônes — et génère l’architecture Gradle au moment de l’installation à partir de la version de Flutter installée par le développeur. Il s’agit d’un choix délibéré anti-dépréciation : il échange une étape d’installation contre l’éviction permanente des conflits avec un système de build obsolète.
Comptes : En option, et vraiment en option
Il existe une couche de comptes — email et mot de passe locaux, ainsi que Google OAuth — et la règle qui la régit est énoncée dans un commentaire du code source et respectée dans tout le code : les téléchargements restent publics et anonymes ; la connexion ne débloque que des avantages ; le flux de téléchargement n’est jamais verrouillé par l’authentification.
Ce que la connexion vous apporte réellement :
- Historique des téléchargements — les pistes que vous avez extraites, dédupliquées, avec titres, formats et horodatages.
- Une session qui vous suit à travers l’application web et l’application Android.
Voici la liste complète. Il n’y a pas de niveau payant caché derrière, pas de limite quotidienne augmentée par la connexion, pas de filigrane qu’elle supprime.
Comment l’authentification est construite
- Hachage des mots de passe sans dépendance algorithme scrypt issu du module de chiffrement propre à Node, salé par utilisateur et stocké sous forme de chaîne structurée. Aucun paquet bcrypt, aucun framework d'authentification.
- Sessions de base de données opaques Les jetons de session sont des valeurs aléatoires qui ne signifient rien en soi et sont recherchés côté serveur. Ce ne sont pas des jetons auto-descriptifs, donc leur révocation consiste en une suppression.
- Des cookies qui fonctionnent dans les deux environnements TLS se termine au niveau de nginx et Cloudflare, l'application fait donc confiance à l'en-tête de protocole transféré pour décider de marquer les cookies comme Secure — en production, les cookies sont Secure, tandis que le développement local en plain-HTTP fonctionne toujours.
- Comparaison en temps constant et limitation du taux d'authentification par adresse IP Les deux sont présents, tous deux de petite taille, et tous deux constituent ce genre de détails qu'on omet habituellement dans un projet secondaire.
- Les hachages de mot de passe ne quittent jamais le serveur Il existe une fonction explicite de sérialisation pour un objet utilisateur, et elle existe précisément pour éviter que le hachage ne s'infiltre accidentellement dans une réponse.
L'Analytique, et ce qu'elle collecte délibérément
Chaque téléchargement terminé est enregistré — qu'il s'agisse d'un succès ou d'un échec, avec la raison de l'échec indiquée — et la journalisation est de type « fire-and-forget » : elle ne bloque jamais la réponse et ne peut jamais générer d'erreur dans le chemin de téléchargement. Une table d'analytique défaillante ne peut pas compromettre un téléchargement.
Ce qu'enregistre une entrée : l'identifiant de la chanson, le titre, le format, si l'opération a réussi et, sinon, pourquoi. Autour de ces données se trouve un identifiant de visiteur anonyme à longue durée de vie dans un cookie, l'adresse IP réelle du client extraite de l'en-tête de Cloudflare, ainsi qu'une estimation du périphérique, du navigateur et du système d'exploitation extraite de la chaîne user-agent à l'aide d'un petit analyseur écrit à la main plutôt que d'une bibliothèque externe.
Si vous êtes connecté, le téléchargement est attribué à votre compte — c'est ce qui rend la fonctionnalité d'historique possible. Sinon, il reste anonyme.
L'état actuel de ces données : 858 téléchargements terminés, dont 731 MP3 et 127 WAV, répartis sur 24 comptes enregistrés et un nombre bien plus élevé de visiteurs anonymes. C'est un service jeune, et ces chiffres sont ceux de la réalité, et non des arrondis marketing.
La bibliothèque dont on ne parle pas
La surprise de ce projet réside dans son contenu. 311 articles publiés, servis depuis la base de données avec un cache en mémoire, paginés, tagués et intégrés à un sitemap généré automatiquement aux côtés des pages statiques.
Ce n’est pas du remplissage. La répartition des balises révèle une véritable structure éditoriale :
| Balise | Articles |
|---|---|
| Guides | 99 |
| Idées | 53 |
| Cas d’usage | 52 |
| Comparatifs | 14 |
| Droits et licences | 13 |
| Perspectives | 12 |
| Critiques | 11 |
| Genres | 11 |
| Téléchargements | 8 |
| Outils | 7 |
| Tutoriels | 7 |
| Occasions | 6 |
Et le sujet va bien au-delà du simple « comment télécharger » :
Comment écrire réellement une chanson
Structure, couplets, refrains, voix, mastering.
- Comment écrire un refrain
- Comment écrire un couplet
- Comment structurer une chanson
- Comment obtenir de meilleures voix IA
Travailler l'audio
Les étapes pratiques de post-génération que personne n'explique.
- Extraire les voix pour créer un instrumental
- Accélérer un morceau sans l'effet « écureuil »
- Couper une chanson pour ne garder que le clip dont vous avez besoin
- WAV vs FLAC
La musique qui a un objectif précis
Cinquante-deux articles sur le score d’éléments spécifiques.
- Instagram Reels · vidéo immobilière
- Yoga · méditation · massage · cours de spinning
- Jeux indépendants · documentaires · publicités
- E-learning · événements · sommeil
Droits, éthique et secteur
Treize articles sur le licensing, accompagnés d’une série de tribunes.
- Licensing synchronisé pour la musique IA
- Vendre des beats IA
- Les artistes utilisent-ils la musique IA ?
- L’éthique de la musique IA
- Musique IA vs musique humaine
Il y a également des articles comparatifs (Riffusion contre Suno, Soundful en revue, meilleur générateur gratuit, meilleur générateur pour débutants), des guides de dépannage (Suno ne génère pas, téléchargement sans abonnement, téléchargement d’une playlist, téléchargement sur PC), des présentations par genre (phonk, trance, darkwave, drum and bass, synthpop, new wave, shoegaze, swing, afropop, folk, surf rock, cinéma), et des articles pour des occasions (anniversaire, départ, hommage, professeur, papa, frère, bébé, rupture, fierté, emménagement).
Stratégiquement, c’est la différence entre un outil et une destination. Un téléchargeur est une page que vous visitez une fois et oubliez. Trois cents articles sur la création, l’édition, le licensing et l’utilisation de la musique IA sont une ressource à laquelle on revient — et cela signifie que le site répond à la question avant le téléchargement ainsi qu’après.
Comment c’est construit et géré
L’intégralité du serveur tient dans un seul fichier JavaScript de 53 kilo-octets, avec une seule dépendance — un client MySQL. Pas d’Express, pas de framework, pas d’étape de construction. Le routage est un répartiteur basé sur le chemin de la requête ; le serveur HTTP est celui de Node.
Ce n’est pas du minimalisme pour le seul plaisir d’y être. Un service dont le rôle est de survivre à un changement de comportement de CDN par la plateforme amont tire un avantage considérable à n’avoir rien entre le code et le socket. Lorsque la modification d’août est intervenue, la correction a consisté en une fonction, et non en une mise à jour de dépendance.
L’environnement d’exécution
- S’exécute en tant qu’utilisateur non privilégié sur localhost, derrière nginx, derrière Cloudflare.
- L’unité systemd est durcie : aucun nouveau privilège,
/tmpprivé, une vue en lecture seule du reste du système, un répertoire personnel en lecture seule et exactement un chemin en écriture. - Redémarrage en cas d’échec avec un délai d’attente croissant court.
- TLS est un certificat d’origine Cloudflare partagé entre les vhosts de l’hôte — Cloudflare termine le certificat public.
- L’apex est canonique : tant HTTP nu que l’hôte
www.font une redirection 301 vershttps://sunodownloader.ai. - ffmpeg est détecté une seule fois au démarrage ; s’il est manquant, le service l’indique dans
/api/healthplutôt que de échouer de manière mystérieuse lors du téléchargement.
La gestion du contenu
Les articles sont stockés dans la base de données et mis en cache en mémoire par slug, avec une endpoint explicite pour purger le cache lors de la publication. Le hub du blog est paginé côté serveur. Le plan du site est généré à partir des pages statiques, de tous les articles publiés et mis en cache. Les images du blog contournent entièrement l’application — nginx les lit directement sur le disque avec un en-tête de cache immuable d’un an, et Cloudflare les met en cache au niveau de la périphérie.
Questions fréquemment posées, réponses brèves
Ai-je besoin d’un compte ?
Non. Les téléchargements sont anonymes et illimités. Un compte ajoute uniquement l’historique des téléchargements et une session partagée avec l’application Android.
Existe-t-il une limite sur le nombre de pistes que je peux télécharger ?
Pas de plafond par utilisateur. Il existe une limite de taux par adresse IP sur les endpoints de contact et d’authentification pour prévenir les abus, et c’est tout.
Pourquoi le fichier WAV a-t-il la même qualité sonore que le MP3 ?
Parce que c'est ce à quoi il doit ressembler. WAV n'est pas une amélioration de la qualité par rapport à la source ; il s'agit simplement de l'absence d'un second encodage avec perte. Choisissez WAV lorsque le fichier est destiné à un logiciel de montage et sera réencodé plus tard ; optez pour MP3 lorsqu'il est destiné à être écouté directement.
Puis-je télécharger une playlist entière en une seule fois ?
Non. Une playlist n'est pas un fichier audio unique, et le service vous l'indique par un message plutôt que par une erreur. Ouvrez la page de la chanson individuelle et collez son lien.
Cela fonctionne-t-il avec les pistes privées ?
Non. Il lit la page publique de la chanson. Si la page n'est pas publique, il n'y a rien à lire.
Mes liens sont-ils enregistrés ou partagés ?
Le service enregistre un événement de téléchargement — identifiant de la chanson, titre, format, résultat — pour ses propres statistiques opérationnelles, lié à un identifiant de visiteur anonyme sauf si vous êtes connecté. Il ne publie ni ne partage les liens soumis, et il communique avec aucun hôte autre que celui de Suno.
Est-ce affilié à Suno ?
Non. Il n'est affilié à, ni approuvé par, ni sponsorisé par Suno AI. Il s'agit d'un outil de commodité indépendant pour les pages de chansons publiques.
Qui l'utilise et à quoi ?
- Créateurs de vidéos Un WAV qui s'intègre dans la timeline sans seconde génération avec perte, nommé d'après la chanson plutôt que par un UUID.
- Podcasteurs Fond sonore d'intro et d'outro extraits directement d'une piste générée, dans un format accepté par tous les logiciels de montage.
- Musiciens en phase de prototypage Intégrez le mix sans piste générée dans un DAW pour l’utiliser comme base, pour refaire le chant par-dessus, ou comme référence.
- Auditeurs sur téléphone Un MP3 dans le dossier Musique qui fonctionne hors ligne, en voiture, pendant une course, sans onglet de navigateur ouvert.
- Toute personne ayant créé quelque chose et souhaitant le conserver Ce qui constitue, en fin de compte, le principe même.
Le résumé
Suno Downloader convertit un lien de chanson Suno, un lien de partage ou un identifiant de chanson en un MP3 ou un WAV sans perte, gratuitement, sans compte ni installation, directement dans un navigateur sur n’importe quel appareil. Il accepte cinq formats d’entrée différents, explique poliment pourquoi un lien ne peut pas fonctionner, nomme les fichiers selon le titre réel de la chanson dans n’importe quel alphabet, et refuse de faire transiter tout ce qui n’est pas Suno.
Derrière cette page se cache une architecture JSON API à deux niveaux, une couche de compte facultative avec connexion locale et Google qui ne restreint que l’historique, un client Flutter Android qui délègue les transferts au gestionnaire de téléchargements du système, un service Node à fichier unique et durci avec une seule dépendance, ainsi qu’une bibliothèque de 311 articles sur la création, l’édition, la licence et l’utilisation de la musique IA.
Il possède également la propriété la plus rare dans cette catégorie : il fonctionne toujours. Lorsque Suno a placé son audio derrière des URL signés en août 2026, le service a réacheminé le flux via la bande-son URL intégrée à la page et le conteneur MP4 non signé, et a continué de fonctionner.
Seuls les serveurs CDN propres à Suno sont proxyés, il ne peut donc pas être utilisé comme proxy ouvert.
Suno Downloader, README
Essayez-le : sunodownloader.ai · MP3 sur /suno-to-mp3 · WAV sur /suno-wav-download · la bibliothèque sur /blog.