Skill detail
song-generation
Generates complete songs with vocals and instrumentals via each::sense AI, controlling genre, mood, tempo, and vocal style, with song-structure guidance.
Needs (stated): API key
Inspect before use
Read the source instructions and check the requirements before you install this skill.
SKILL.md
The saved excerpt is a snapshot from when this skill was listed. The external source remains the complete and most current version.
---
name: song-generation
description: "Generate complete songs with vocals and instrumentals using each::sense AI. Create original music with singing, lyrics, full production across pop, rock, hip-hop, R&B, country, electronic, and more. Control genre, mood, tempo, and vocal style. Use for: original songs, demo tracks, jingles, social media audio, creative projects. Triggers: generate song, create song, ai song, song maker, song with lyrics, sing, vocal track, make a song, write a song, song generator, ai singer, music with vocals"
allowed-tools: Bash(curl *), WebFetch
---
# Song Generation
Generate complete songs with vocals and full instrumental production using [each::sense](https://docs.eachlabs.ai/sense/overview) — the intelligent AI agent that automatically selects the best model for your request.
## Quick Start
> Requires an each::labs API key. Get one at [eachlabs.ai](https://eachlabs.ai).
### Using curl
```bash
curl -X POST https://eachsense-agent.core.eachlabs.run/v1/chat/completions \
-H "Content-Type: application/json" \
-H "X-API-Key: $EACHLABS_API_KEY" \
-d '{
"messages": [{"role": "user", "content": "Generate an upbeat indie pop song about road trips and summer freedom, female vocal, 120 BPM, with acoustic guitar, claps, and a catchy whistling hook in the chorus"}],
"stream": false
}'
```
### Using Python (OpenAI SDK)
```python
from openai import OpenAI
client = OpenAI(
api_key="YOUR_EACHLABS_API_KEY",
base_url="https://eachsense-agent.core.eachlabs.run/v1"
)
response = client.chat.completions.create(
model="eachsense/beta",
messages=[{"role": "user", "content": "Generate an upbeat indie pop song about road trips and summer freedom, female vocal, 120 BPM, with acoustic guitar, claps, and a catchy whistling hook in the chorus"}]
)
print(response.choices[0].message.content)
```
### With Reference Image
```bash
curl -X POST https://eachsense-agent.core.eachlabs.run/v1/chat/completions \
-H "Content-Type: application/json" \
-H "X-API-Key: $EACHLABS_API_KEY" \
-d '{
"messages": [{"role": "user", "content": [
{"type": "text", "text": "Generate a song inspired by the mood and atmosphere of this image. Match the emotion, whether it feels melancholy, joyful, or mysterious."},
{"type": "image_url", "image_url": {"url": "https://example.com/mood-photo.jpg"}}
]
}
],
"stream": false
}'
```
> Images are sent inside messages using the OpenAI multimodal content format. Maximum 4 images per request.
### Streaming
Set `"stream": true` for real-time SSE responses, or `"stream": false` for complete result in a single response. Streaming is useful for showing progress in UIs; non-streaming is simpler for scripts and automation.
## Available Models
| Model | Strengths | Best For |
|-------|-----------|----------|
| **mureka-generate-music** | Full song generation with vocals, lyrics, and production | Complete songs across all genres |
| **stable-audio-2-5** | High-quality short audio generation | Short musical snippets, hooks, intros |
> each::sense automatically selects the right model. For full songs with vocals, mureka-generate-music is the primary model.
## Song Structure Guide
### Standard Song Structures
| Structure | Pattern | Duration |
|-----------|---------|----------|
| **Pop Standard** | Verse - Chorus - Verse - Chorus - Bridge - Chorus | 3-4 min |
| **Simple** | Verse - Chorus - Verse - Chorus | 2-3 min |
| **Extended** | Intro - Verse - Pre-Chorus - Chorus - Verse - Pre-Chorus - Chorus - Bridge - Chorus - Outro | 4-5 min |
| **Hip-Hop** | Intro - Verse - Hook - Verse - Hook - Verse - Hook - Outro | 3-4 min |
| **Ballad** | Intro - Verse - Verse - Chorus - Verse - Chorus - Outro | 3-5 min |
### Providing Lyrics
Include lyrics directly in your prompt with structure markers:
```
Generate a pop rock song, male vocal, 110 BPM:
[Verse 1]
Walking down these empty streets at dawn
Shadows fading as thRead the full source on GitHub (opens external page)