The interface is localized. Skill descriptions and documents are machine-translated by AI into your language; code, commands, paths and technical terms stay in the original, and the author's document governs.
Explore skills
Productivity · SKILL.md

music-generation

music-generation

Generate instrumental music and background tracks using each::sense AI. Create royalty-free instrumentals, background music, soundscapes, and compositions across all genres. Control tempo, instruments, mood, and duration. Use for: background music, YouTube videos, game soundtracks, podcast beds, ad music, ambient tracks, film scores. Triggers: generate musi…

Independent GitHub snapshot · Automated classification · Original documentation governs

Skill documentation

GitHub

name: music-generation description: "Generate instrumental music and background tracks using each::sense AI. Create royalty-free instrumentals, background music, soundscapes, and compositions across all genres. Control tempo, instruments, mood, and duration. Use for: background music, YouTube videos, game soundtracks, podcast beds, ad music, ambient tracks, film scores. Triggers: generate music, instrumental, background music, beat, soundtrack, compose music, ai music, music generator, bgm, score, ambient music, backing track, instrumental track" allowed-tools: Bash(curl *), WebFetch

Music Generation

Generate instrumental music and background tracks 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, 85 BPM, with warm Rhodes piano, vinyl crackle, mellow drum loop, and a soft bass line. 45 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, 85 BPM, with warm Rhodes piano, vinyl crackle, mellow drum loop, and a soft bass line. 45 seconds long, perfect for a study playlist."}]
)

print(response.choices[0].message.content)

With Reference Image

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 instrumental background music that matches the mood and atmosphere of this image. Create a soundscape that a viewer would expect to hear while looking at this scene."},
              {"type": "image_url", "image_url": {"url": "https://example.com/scenic-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

ModelStrengthsBest For
mureka-generate-musicFull music generation with rich arrangementsComplete instrumentals, complex compositions
stable-audio-2-5High-quality short audio, precise controlLoops, short clips, sound design, ambient textures

each::sense picks the optimal model based on your prompt. Specify "instrumental" or "no vocals" to ensure vocal-free output.

Genre Guide

GenreTypical BPMKey InstrumentsUse Cases
Lo-fi70-90Rhodes piano, vinyl crackle, soft drumsStudy music, chill content
Ambient50-80Synth pads, reverb textures, field recordingsMeditation, backgrounds, ASMR
Cinematic60-120Strings, brass, percussion, choirFilm scores, trailers, presentations
Electronic120-150Synths, drum machines, bass, arpsGaming, workout, energetic content
Jazz80-140Piano, upright bass, brushed drums, saxRestaurants, vlogs, sophisticated content
Classical60-130Piano, strings, woodwinds, orchestraElegant content, education, focus
Hip-Hop80-100808s, hi-hats, samples, bassRap beats, urban content
Rock100-140Electric guitar, drums, bass, organAction content, sports, energy
World70-130Tabla, koto, sitar, djembe, kalimbaTravel content, cultural videos
Synthwave80-120Analog synths, arpeggios, gated reverbRetro content, 80s aesthetic

Prompt Tips

The Instrumental Prompt Formula

Generate a [genre] instrumental, [BPM] BPM, with [instruments].
[Mood/emotion] feel. [Duration] long. [Use case context].

Mood Keywords

uplifting, melancholic, triumphant, mysterious, relaxing, intense,
dreamy, aggressive, playful, dark, cinematic, nostalgic, epic,
serene, brooding, whimsical, majestic, eerie, warm, ethereal

Dynamic Instructions

Describe how the track should evolve over time:

"Start with solo piano, add strings at 10 seconds,
build to full orchestra by 30 seconds, then
pull back to piano and cello for the ending."

Avoiding Vocals

Be explicit when you want instrumental-only output:

"Generate an instrumental track, no vocals, no singing, no humming"

Examples

Cinematic Epic 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 instrumental. Starts quiet with a solo cello melody, builds with layered strings and French horns, crescendo with full orchestra, timpani rolls, and crashing cymbals. Heroic and triumphant mood. 60 seconds, suitable for a movie trailer. No vocals."}],
    "stream": false
  }'

YouTube 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 friendly, upbeat background instrumental for a tech review YouTube video. Acoustic guitar, light percussion, subtle synth pad, and pizzicato strings. 110 BPM. Not too busy so it does not compete with narration. 45 seconds, seamless loop potential."}],
    "stream": false
  }'

Ambient Soundscape

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 deep ambient soundscape for a meditation app. No rhythm or percussion. Slow-evolving synthesizer pads, distant wind chimes, subtle harmonic overtones, and soft low-frequency drones. Peaceful and spacious. 60 seconds. Very slow, almost timeless feel."}],
    "stream": false
  }'

Jazz Trio

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 smooth jazz trio instrumental. Piano playing soft chord voicings, walking upright bass, and brushed snare drums with occasional cymbal rides. 105 BPM, relaxed swing feel. Think late-night jazz club atmosphere. 45 seconds. Warm and sophisticated."}],
    "stream": false
  }'

Game Soundtrack

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 retro synthwave instrumental for an indie platformer game. Pulsing analog bass synth, bright arpeggio lead, gated snare reverb, and warm analog pad. 100 BPM. Nostalgic 80s vibe but modern production quality. Energetic and adventurous. 30 seconds, loopable."}],
    "stream": false
  }'

Workflow: Music for Video

# Step 1: Generate 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 gentle acoustic instrumental for a travel vlog montage. Fingerpicked guitar, soft tambourine, light strings. Warm and wanderlust feeling. 100 BPM, 45 seconds. No vocals."}],
    "stream": false
  }'

# Step 2: Refine with multi-turn conversation
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 gentle acoustic instrumental for a travel vlog montage. Fingerpicked guitar, soft tambourine, light strings. 100 BPM, 45 seconds. No vocals."},
      {"role": "assistant", "content": "..."},
      {"role": "user", "content": "Great vibe. Now make a more energetic variation for the action segments. Same instruments but faster at 130 BPM with more percussion. 30 seconds."}
    ],
    "stream": false
  }'

Common Pitfalls

  • Not specifying "instrumental" may produce tracks with vocals. Be explicit: "no vocals."
  • Missing BPM leaves tempo to chance. Always include target BPM for consistent results.
  • Vague instrument lists like "some music" give generic output. Name specific instruments.
  • Duration ambiguity can produce clips that are too short or too long. State duration clearly.
  • Ignoring dynamics results in flat tracks. Describe how energy should build and release.

Related Skills

Documentation

Saved skills