Synthèse automatique
Génère de la musique avec Google Lyria 3 via l'API Gemini, gratuitement. Permet de créer des clips de 30 secondes ou des chansons complètes de 2 à 3 minutes à partir de descriptions textuelles.
Points forts
- Gratuit avec la clé API Gemini
- Contrôle précis du genre, du tempo, des instruments et de l'ambiance
- Production de fichiers MP3 de qualité studio
- Deux modèles distincts pour clips ou chansons longues
Limites
- Nécessite une installation préalable (clé API et SDK)
- Limites de débit sur le niveau gratuit
- La qualité des chansons longues peut être inégale
Lorsque vous avez besoin de générer rapidement de la musique originale pour des projets personnels, des prototypes ou des contenus créatifs sans compétences en composition musicale.
Pour une production musicale professionnelle nécessitant un contrôle granulaire sur chaque piste ou un mixage avancé.
Analyse de sécurité
PrudenceThe skill uses bash to run a Python script with the user prompt stored in an environment variable via `PROMPT='$ARGUMENTS'`. If the prompt contains a single quote, it breaks out of the string and can inject shell commands. The note suggests escaping or using Write tool, but does not enforce safety. Since the user controls the input, risk is low if used carefully, but the vulnerability exists.
- •Potential command injection via unsanitized single quotes in prompt when passed to PROMPT environment variable in shell, allowing arbitrary command execution if input contains single quote and command substitution.
Exemples
Generate a 30-second lo-fi hip hop clip at 85 BPM with a Rhodes piano, soft vinyl crackle, and simple kick-snare drums, instrumental only, chill and nostalgic mood.Create a 2-minute synthwave song at 120 BPM in D minor with analog synthesizers, arpeggiated bass, and a retro drum machine. Energetic and neon-lit vibe, no vocals.Write a 3-minute acoustic folk song in G major with acoustic guitar, light percussion, and soft male vocals. Melancholic and introspective, with a verse-chorus structure.name: make-music description: Generate music using Google Lyria 3 (FREE with Gemini API key). 30-second clips or full 2-3 minute songs from text prompts. Genre, BPM, instruments, mood - all controlled via prompt. argument-hint: <prompt describing the music you want> allowed-tools: Bash, Read, Write
Music Generation with Google Lyria 3 (FREE)
Generate 30-second music clips or full 2-3 minute songs using Google's Lyria 3 model via the Gemini API. Free tier — no cost.
Setup
- Get a free Gemini API key from Google AI Studio
- Set it as an environment variable:
export GEMINI_API_KEY="your-key-here" - Install the Google GenAI SDK:
pip install google-genai
API Details
- Model (clips):
lyria-3-clip-preview— 30-second clips - Model (full songs):
lyria-3-pro-preview— 2-3 minute complete songs - Output: MP3, 48kHz stereo, SynthID watermarked
- Cost: FREE on Gemini free tier (rate limits apply)
Prompt Tips
Control everything through the text prompt:
- Genre: "lo-fi hip hop", "synthwave", "jazz", "EDM", "acoustic folk"
- BPM: "85 BPM", "120 BPM", "140 BPM"
- Key: "C minor", "G major", "D minor pentatonic"
- Instruments: "Rhodes piano", "TR-808 drums", "acoustic guitar", "analog synths"
- Mood: "chill", "energetic", "melancholic", "triumphant", "dreamy"
- Structure:
[Intro],[Verse],[Chorus],[Bridge],[Outro] - Vocals: say "instrumental only" or "no vocals" to skip vocals
- Timestamps:
[0:00 - 0:10] Soft piano intro [0:10 - 0:25] Drums kick in
Usage
Run this inline Python script to generate music. The prompt is passed via the
PROMPT env var and the Python body is a single-quoted heredoc — so the user's
text can't break out of the Python string or inject code.
PROMPT='$ARGUMENTS' python3 - <<'PYEOF'
import os, time
from google import genai
from google.genai import types
key = os.environ.get('GEMINI_API_KEY')
if not key:
print('ERROR: Set GEMINI_API_KEY environment variable first')
print('Get a free key at: https://aistudio.google.com/apikey')
exit(1)
client = genai.Client(api_key=key)
prompt = os.environ.get('PROMPT', '')
out_dir = os.path.join(os.path.expanduser('~'), '.claude-music-gen')
os.makedirs(out_dir, exist_ok=True)
response = client.models.generate_content(
model='lyria-3-clip-preview',
contents=prompt,
config=types.GenerateContentConfig(response_modalities=['AUDIO', 'TEXT']),
)
ts = int(time.time())
for part in response.candidates[0].content.parts:
if part.text:
print(f'INFO: {part.text[:200]}')
if part.inline_data:
out = os.path.join(out_dir, f'music_{ts}.mp3')
with open(out, 'wb') as f:
f.write(part.inline_data.data)
print(f'MUSIC: {out} ({len(part.inline_data.data) / 1024:.0f} KB)')
PYEOF
Full-Length Songs
For full 2-3 minute songs with verses/choruses, change the model to lyria-3-pro-preview:
PROMPT='$ARGUMENTS' python3 - <<'PYEOF'
import os, time
from google import genai
from google.genai import types
key = os.environ.get('GEMINI_API_KEY')
if not key:
print('ERROR: Set GEMINI_API_KEY environment variable first')
exit(1)
client = genai.Client(api_key=key)
prompt = os.environ.get('PROMPT', '')
out_dir = os.path.join(os.path.expanduser('~'), '.claude-music-gen')
os.makedirs(out_dir, exist_ok=True)
response = client.models.generate_content(
model='lyria-3-pro-preview',
contents=prompt,
config=types.GenerateContentConfig(response_modalities=['AUDIO', 'TEXT']),
)
ts = int(time.time())
for part in response.candidates[0].content.parts:
if part.text:
print(f'INFO: {part.text[:200]}')
if part.inline_data:
out = os.path.join(out_dir, f'song_{ts}.mp3')
with open(out, 'wb') as f:
f.write(part.inline_data.data)
print(f'SONG: {out} ({len(part.inline_data.data) / 1024:.0f} KB)')
PYEOF
Note: If your prompt contains a single quote (
'), quote-escape it or use the Write tool to drop the prompt into a temp file first, then read that file in Python. The single-quoted heredoc protects the Python body but can't protect the outerPROMPT='...'assignment.
Rate Limits
- Free tier has rate limits (be reasonable — add 30s between calls if generating multiple)
- Clip model: always 30 seconds
- Pro model: 2-3 minutes, full songs
Limitations
- Non-deterministic (same prompt = different output each time)
- Safety filters block copyrighted content or specific artist voice requests
- Single-turn only (can't iteratively edit a track)
Requirements
- Python 3.10+
google-genaiSDK (pip install google-genai)- Free Gemini API key from Google AI Studio
Du fichier au premier essai
Le téléchargement contient exactement le contenu affiché sur cette fiche. Cette copie peut différer de la dernière version du dépôt source.
Consulter la source et ses fichiers annexesCe téléchargement contient uniquement SKILL.md. Les scripts, références, modèles et dépendances éventuels ne sont pas inclus. Récupérez les fichiers nécessaires depuis la source en conservant leur arborescence avant de poursuivre.
1. Télécharger le fichier
Télécharger SKILL.mdDepuis la racine d’un projet de test, enregistrez le fichier sous .skill-downloads/music-generation-with-google-lyria-3-mrx3xwv1/SKILL.md, ou utilisez la commande suivante. Ce dossier sert à examiner la skill avant son installation.
Commande pour macOS/Linux ou WSL : un shell POSIX et curl sont nécessaires. Sous Windows sans WSL, utilisez le bouton de téléchargement et créez le dossier manuellement.
mkdir -p '.skill-downloads/music-generation-with-google-lyria-3-mrx3xwv1' && curl --fail --show-error --location 'https://skills-guides.com/api/skills/music-generation-with-google-lyria-3-mrx3xwv1/download' --output '.skill-downloads/music-generation-with-google-lyria-3-mrx3xwv1/SKILL.md.part' && mv '.skill-downloads/music-generation-with-google-lyria-3-mrx3xwv1/SKILL.md.part' '.skill-downloads/music-generation-with-google-lyria-3-mrx3xwv1/SKILL.md'2. Vérifier les prérequis
Lisez SKILL.md avant de l’utiliser. Si le fichier cite des scripts ou services externes, examinez-les et préparez les accès nécessaires dans votre environnement de test.
Outils déclarés par l’auteur (à vérifier dans votre agent) : Bash, Read, Write
Extrait original : Setup
- Get a free Gemini API key from Google AI Studio
- Set it as an environment variable:
export GEMINI_API_KEY="your-key-here" - Install the Google GenAI SDK:
pip install google-genai
Les plateformes de la fiche sont des indications du catalogue. Les chemins ci-dessous suivent la documentation des outils ; ils ne prouvent pas que cette skill y a été exécutée. Aucune version minimale de ces outils n’est attestée pour cette fiche.
3. Charger la skill
Après vérification, copiez le dossier complet dans le projet avec l’une des commandes ci-dessous, puis ouvrez une nouvelle session de l’outil. La commande s’arrête si un dossier du même nom existe déjà : comparez les fichiers avant de le remplacer.
Claude Code
test -f '.skill-downloads/music-generation-with-google-lyria-3-mrx3xwv1/SKILL.md' && test -s '.skill-downloads/music-generation-with-google-lyria-3-mrx3xwv1/SKILL.md' && mkdir -p '.claude/skills' && test ! -e '.claude/skills/make-music' && cp -R '.skill-downloads/music-generation-with-google-lyria-3-mrx3xwv1' '.claude/skills/make-music'OpenSkills
OpenSkills doit déjà être installé. La procédure locale install/read est contrôlée avec OpenSkills 1.5.0, qui exige Node.js ≥ 20.6.0. Aucun slug du catalogue n’est résolu automatiquement.
Installation officielle d’OpenSkillsopenskills install './.skill-downloads/music-generation-with-google-lyria-3-mrx3xwv1'openskills read 'music-generation-with-google-lyria-3-mrx3xwv1'La lecture doit afficher le contenu du fichier installé et son dossier de base. Elle ne lance ni la skill ni ses dépendances.
Pour un agent qui lit AGENTS.md, synchronisez ensuite l’index. Cette commande modifie AGENTS.md : relisez le diff avant de l’utiliser.
openskills syncMode manuel ou autre outil : joignez SKILL.md à une conversation, ou ouvrez-le dans un agent capable de lire les fichiers. Ajoutez les ressources annexes nécessaires. Il n’existe pas de dossier universel reconnu par tous les outils.
4. Faire un premier essai
Utilisez une entrée courte et fictive : un endpoint d’API, un petit document ou un brief d’interface. Dans une nouvelle conversation, joignez le fichier ou donnez son chemin à l’agent, puis adaptez cette demande :
Lis .skill-downloads/music-generation-with-google-lyria-3-mrx3xwv1/SKILL.md et applique ses instructions à cet exemple : [décrire une entrée de test]. Indique les fichiers, dépendances ou accès qui manquent. Produis le résultat demandé par la skill sans inventer de données ni exécuter de script non examiné.Résultat attendu : une sortie correspondant aux instructions de la skill, ou une liste précise des prérequis manquants. Une simple confirmation de lecture ne valide pas le premier usage. Si une ressource externe est indisponible, ce parcours reste à tester.
Fragments d'écriture
Contenu
Extrayez des fragments d'écriture bruts via un entretien intensif, sans imposer de structure. Capturez idées, citations et mots porteurs pour une utilisation ultérieure.
Rédaction UI et audit
Contenu
Rédigez ou auditez les textes d'interface (boutons, erreurs, états vides, infobulles) dans le monorepo, en suivant la source de vérité du design system.
Extraction MIDI/score
Contenu
Extrait le MIDI ou la partition d'une production musicale existante via l'outil MCP CogMusic et confirme la disponibilité du fichier.