AI Music Generator
Generate original music tracks, songs, and instrumentals using each::sense — 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.
Using curl
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 a chill lo-fi hip-hop instrumental, 90 BPM, with soft piano chords, vinyl crackle, and a mellow drum loop. 30 seconds long, perfect for a study playlist."
}
],
"stream": false
}'
Using Python (OpenAI SDK)
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 a chill lo-fi hip-hop instrumental, 90 BPM, with soft piano chords, vinyl crackle, and a mellow drum loop. 30 seconds long, perfect for a study playlist."
}]
)
print(response.choices[0].message.content)
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.
Genre Guide
| Genre |
Key Descriptors |
Typical BPM |
| Lo-fi |
Warm, vinyl, mellow, nostalgic |
70-90 |
| Electronic/EDM |
Synth, bass drop, energetic, build-up |
120-140 |
| Jazz |
Swing, improvisation, brass, smooth |
100-130 |
| Orchestral |
Cinematic, strings, epic, dramatic |
60-120 |
| Pop |
Catchy, upbeat, polished, hook-driven |
100-130 |
| Hip-Hop |
Boom-bap, trap, 808s, flow |
80-100 |
| Ambient |
Atmospheric, pad, ethereal, spacious |
60-80 |
| Rock |
Guitar, drums, distortion, power |
110-140 |
Prompt Engineering Tips
Be Specific About Structure
Include details about instruments, tempo, mood, and duration. The more specific you are, the better the output matches your vision.
Generate a [genre] track, [BPM] BPM, with [instruments], [mood] feel, [duration] long
Mood Keywords That Work
uplifting, melancholic, triumphant, mysterious, relaxing, intense,
dreamy, aggressive, playful, dark, cinematic, nostalgic, epic
Lyrics Format
When requesting songs with lyrics, include them directly in the prompt with clear structure markers like verse, chorus, and bridge.
Examples
Cinematic Orchestral Score
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 epic cinematic orchestral piece. Starts quiet with solo cello, builds with strings and French horns, crescendo with full orchestra and timpani. Heroic and triumphant mood. 45 seconds, suitable for a movie trailer."
}
],
"stream": false
}'
Pop Song with Lyrics
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 pop song, 120 BPM, female vocal, with these lyrics:\n\n[Verse]\nWoke up to the golden light\nEverything is feeling right\nGot my coffee, got my song\nNothing here can go wrong\n\n[Chorus]\nThis is our summer, this is our time\nDancing in the sunshine, feeling so alive"
}
],
"stream": false
}'
Ambient Background Music
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 a calm ambient track for a spa relaxation video. Soft synthesizer pads, gentle wind chimes, distant ocean waves, no percussion. Very slow tempo around 60 BPM. 60 seconds long. Peaceful and meditative."
}
],
"stream": false
}'
Electronic Dance Track
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 a high-energy electronic dance track, 128 BPM. Start with a filtered synth build-up, add a driving four-on-the-floor kick, heavy sidechain compression on the bass, and a euphoric synth lead melody. Big drop at the 15-second mark. 30 seconds total."
}
],
"stream": false
}'
Workflow
# Step 1: Generate a short concept to test the vibe
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 a 15-second jazzy lo-fi beat with electric piano and brushed drums, 85 BPM, warm and nostalgic"
}
],
"stream": false
}'
# Step 2: Refine and extend the concept
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 a 15-second jazzy lo-fi beat with electric piano and brushed drums, 85 BPM, warm and nostalgic"
},
{
"role": "assistant",
"content": "..."
},
{
"role": "user",
"content": "Great vibe. Now make it 45 seconds and add a muted trumpet melody in the second half, keep the same tempo and feel"
}
],
"stream": false
}'
Related Skills
Related Models
Documentation
1---2name: ai-music-generator3description: Generate original music tracks using each::sense AI. Create songs, instrumentals, background music, and full compositions across genres including pop, lo-fi, jazz, electronic, orchestral, and hip-hop. Supports lyrics, mood specification, and tempo control. Use for: background music, YouTube videos, game soundtracks, ad music, royalty-free tracks, demo songs. Triggers: ai music, generate music, create song, music generator, instrumental, background music, beat maker, song generator, compose music, music creation, ai composer, soundtrack4---56# AI Music Generator78Generate original music tracks, songs, and instrumentals using [each::sense](https://docs.eachlabs.ai/sense/overview) — the intelligent AI agent that automatically selects the best model for your request.910## Quick Start1112> Requires an each::labs API key. Get one at [eachlabs.ai](https://eachlabs.ai).1314### Using curl1516```bash17curl -X POST https://eachsense-agent.core.eachlabs.run/v1/chat/completions \18 -H "Content-Type: application/json" \19 -H "X-API-Key: $EACHLABS_API_KEY" \20 -d '{21 "messages": [22 {23 "role": "user",24 "content": "Generate a chill lo-fi hip-hop instrumental, 90 BPM, with soft piano chords, vinyl crackle, and a mellow drum loop. 30 seconds long, perfect for a study playlist."25 }26 ],27 "stream": false28 }'29```3031### Using Python (OpenAI SDK)3233```python34from openai import OpenAI3536client = OpenAI(37 api_key="YOUR_EACHLABS_API_KEY",38 base_url="https://eachsense-agent.core.eachlabs.run/v1"39)4041response = client.chat.completions.create(42 model="eachsense/beta",43 messages=[{44 "role": "user",45 "content": "Generate a chill lo-fi hip-hop instrumental, 90 BPM, with soft piano chords, vinyl crackle, and a mellow drum loop. 30 seconds long, perfect for a study playlist."46 }]47)4849print(response.choices[0].message.content)50```5152### Streaming5354Set `"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.5556## Genre Guide5758| Genre | Key Descriptors | Typical BPM |59|---|---|---|60| **Lo-fi** | Warm, vinyl, mellow, nostalgic | 70-90 |61| **Electronic/EDM** | Synth, bass drop, energetic, build-up | 120-140 |62| **Jazz** | Swing, improvisation, brass, smooth | 100-130 |63| **Orchestral** | Cinematic, strings, epic, dramatic | 60-120 |64| **Pop** | Catchy, upbeat, polished, hook-driven | 100-130 |65| **Hip-Hop** | Boom-bap, trap, 808s, flow | 80-100 |66| **Ambient** | Atmospheric, pad, ethereal, spacious | 60-80 |67| **Rock** | Guitar, drums, distortion, power | 110-140 |6869## Prompt Engineering Tips7071### Be Specific About Structure7273Include details about instruments, tempo, mood, and duration. The more specific you are, the better the output matches your vision.7475```76Generate a [genre] track, [BPM] BPM, with [instruments], [mood] feel, [duration] long77```7879### Mood Keywords That Work8081```82uplifting, melancholic, triumphant, mysterious, relaxing, intense,83dreamy, aggressive, playful, dark, cinematic, nostalgic, epic84```8586### Lyrics Format8788When requesting songs with lyrics, include them directly in the prompt with clear structure markers like verse, chorus, and bridge.8990## Examples9192### Cinematic Orchestral Score9394```bash95curl -X POST https://eachsense-agent.core.eachlabs.run/v1/chat/completions \96 -H "Content-Type: application/json" \97 -H "X-API-Key: $EACHLABS_API_KEY" \98 -d '{99 "messages": [100 {101 "role": "user",102 "content": "Generate an epic cinematic orchestral piece. Starts quiet with solo cello, builds with strings and French horns, crescendo with full orchestra and timpani. Heroic and triumphant mood. 45 seconds, suitable for a movie trailer."103 }104 ],105 "stream": false106 }'107```108109### Pop Song with Lyrics110111```bash112curl -X POST https://eachsense-agent.core.eachlabs.run/v1/chat/completions \113 -H "Content-Type: application/json" \114 -H "X-API-Key: $EACHLABS_API_KEY" \115 -d '{116 "messages": [117 {118 "role": "user",119 "content": "Generate an upbeat pop song, 120 BPM, female vocal, with these lyrics:\n\n[Verse]\nWoke up to the golden light\nEverything is feeling right\nGot my coffee, got my song\nNothing here can go wrong\n\n[Chorus]\nThis is our summer, this is our time\nDancing in the sunshine, feeling so alive"120 }121 ],122 "stream": false123 }'124```125126### Ambient Background Music127128```bash129curl -X POST https://eachsense-agent.core.eachlabs.run/v1/chat/completions \130 -H "Content-Type: application/json" \131 -H "X-API-Key: $EACHLABS_API_KEY" \132 -d '{133 "messages": [134 {135 "role": "user",136 "content": "Generate a calm ambient track for a spa relaxation video. Soft synthesizer pads, gentle wind chimes, distant ocean waves, no percussion. Very slow tempo around 60 BPM. 60 seconds long. Peaceful and meditative."137 }138 ],139 "stream": false140 }'141```142143### Electronic Dance Track144145```bash146curl -X POST https://eachsense-agent.core.eachlabs.run/v1/chat/completions \147 -H "Content-Type: application/json" \148 -H "X-API-Key: $EACHLABS_API_KEY" \149 -d '{150 "messages": [151 {152 "role": "user",153 "content": "Generate a high-energy electronic dance track, 128 BPM. Start with a filtered synth build-up, add a driving four-on-the-floor kick, heavy sidechain compression on the bass, and a euphoric synth lead melody. Big drop at the 15-second mark. 30 seconds total."154 }155 ],156 "stream": false157 }'158```159160## Workflow161162```bash163# Step 1: Generate a short concept to test the vibe164curl -X POST https://eachsense-agent.core.eachlabs.run/v1/chat/completions \165 -H "Content-Type: application/json" \166 -H "X-API-Key: $EACHLABS_API_KEY" \167 -d '{168 "messages": [169 {170 "role": "user",171 "content": "Generate a 15-second jazzy lo-fi beat with electric piano and brushed drums, 85 BPM, warm and nostalgic"172 }173 ],174 "stream": false175 }'176177# Step 2: Refine and extend the concept178curl -X POST https://eachsense-agent.core.eachlabs.run/v1/chat/completions \179 -H "Content-Type: application/json" \180 -H "X-API-Key: $EACHLABS_API_KEY" \181 -d '{182 "messages": [183 {184 "role": "user",185 "content": "Generate a 15-second jazzy lo-fi beat with electric piano and brushed drums, 85 BPM, warm and nostalgic"186 },187 {188 "role": "assistant",189 "content": "..."190 },191 {192 "role": "user",193 "content": "Great vibe. Now make it 45 seconds and add a muted trumpet melody in the second half, keep the same tempo and feel"194 }195 ],196 "stream": false197 }'198```199200## Related Skills201202- [AI Sound Effects](../ai-sound-effects/SKILL.md) — Layer sound effects into your music203- [AI Jingle Generator](../ai-jingle-generator/SKILL.md) — Short catchy tunes for brands204- [AI Podcast Intro](../ai-podcast-intro/SKILL.md) — Music beds for podcast intros205- [Text to Speech](../text-to-speech/SKILL.md) — Add narration over your tracks206207## Related Models208209- [ace-step](../../../models/ace-step/SKILL.md) — Full song generation with lyrics210- [stable-audio](../../../models/stable-audio/SKILL.md) — High-quality music and audio211- [mmaudio](../../../models/mmaudio/SKILL.md) — Multimodal audio generation212213## Documentation214215- [each::sense Overview](https://docs.eachlabs.ai/sense/overview)216- [each::labs API](https://docs.eachlabs.ai)