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

MatchDirectRecommended for Music Generation
Sourceawesome-genmedia/​skillsExternal source
Reported installs34Popularity signal only

Inspect before use

Read the source instructions and check the requirements before you install this skill.

Saved source preview

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 th
Read the full source on GitHub (opens external page)
Context

Related work