/install songmaker
SenseAudio Songmaker
Two-step song creation: generate lyrics → compose music. If the user already has lyrics, skip to Step 2.
Workflow
用户描述 → [Step 1] 生成歌词 → 用户确认/修改 → [Step 2] 生成歌曲 → 返回链接
↑ 用户自带歌词时跳过 Step 1
Step 1: Generate Lyrics
Skip this step if the user provides their own lyrics.
LYRICS_RESP=$(curl -s -X POST "https://api.senseaudio.cn/v1/song/lyrics/create" \
-H "Authorization: Bearer $SENSEAUDIO_API_KEY" \
-H "Content-Type: application/json" \
-d "{\"prompt\": \"\x3CUSER_PROMPT>\", \"provider\": \"sensesong\"}")
TASK_ID=$(echo $LYRICS_RESP | jq -r '.task_id // empty')
If task_id is present, poll until done:
while true; do
POLL=$(curl -s "https://api.senseaudio.cn/v1/song/lyrics/pending/$TASK_ID" \
-H "Authorization: Bearer $SENSEAUDIO_API_KEY")
STATUS=$(echo $POLL | jq -r '.status')
{ [ "$STATUS" = "SUCCESS" ] || [ "$STATUS" = "FAILED" ]; } && break
sleep 3
done
LYRICS=$(echo $POLL | jq -r '.response.data[0].text')
If no task_id (sync response), read directly:
LYRICS=$(echo $LYRICS_RESP | jq -r '.data[0].text')
Show the lyrics to the user and ask for confirmation or edits before proceeding.
Lyrics Format
The API uses structured section tags separated by ;:
[intro-medium] ; [verse] 第一段歌词内容 ; [chorus] 副歌内容 ; [bridge] 桥段 ; [outro-short]
Common tags: [intro-short] [intro-medium] [verse] [chorus] [bridge] [outro-short] [outro-medium] [inst-short]
If the user provides plain lyrics without tags, wrap them: [verse] \x3Clyrics> ; [chorus] \x3Cchorus>
Step 2: Generate Song
Build the request body from user preferences:
| User says | Parameter |
|---|---|
| 男声 / 男歌手 | "vocal_gender": "m" |
| 女声 / 女歌手 | "vocal_gender": "f" |
| 纯音乐 / 无人声 | "instrumental": true (omit lyrics) |
| 风格描述(摇滚/流行/古风…) | "style": "\x3C描述>" |
| 不要某种风格 | "negative_tags": "\x3C描述>" |
SONG_RESP=$(curl -s -X POST "https://api.senseaudio.cn/v1/song/music/create" \
-H "Authorization: Bearer $SENSEAUDIO_API_KEY" \
-H "Content-Type: application/json" \
-d "{
\"model\": \"sensesong\",
\"lyrics\": \"\x3CLYRICS>\",
\"title\": \"\x3CTITLE>\",
\"vocal_gender\": \"\x3Cf|m>\",
\"style\": \"\x3CSTYLE>\"
}")
SONG_TASK=$(echo $SONG_RESP | jq -r '.task_id')
Song generation always returns a task_id. Poll until done (may take 30–120s):
while true; do
POLL=$(curl -s "https://api.senseaudio.cn/v1/song/music/pending/$SONG_TASK" \
-H "Authorization: Bearer $SENSEAUDIO_API_KEY")
STATUS=$(echo $POLL | jq -r '.status')
{ [ "$STATUS" = "SUCCESS" ] || [ "$STATUS" = "FAILED" ]; } && break
echo "生成中... ($STATUS)"
sleep 5
done
Output
On SUCCESS, extract and display:
echo $POLL | jq -r '.response.data[0] | "标题:\(.title)\
时长:\(.duration) 秒\
音频:\(.audio_url)\
封面:\(.cover_url)"'
Example output:
标题:夏日物语
时长:187 秒
音频:https://cdn.senseaudio.cn/songs/xxx.mp3
封面:https://cdn.senseaudio.cn/covers/xxx.jpg
On FAILED, report the status and suggest retrying with a different style or simpler lyrics.
- Make sure OpenClaw is installed (local or Docker)
- Run the install command in chat:
/install songmaker - After installation, invoke the skill by name or use
/songmaker - Provide required inputs per the skill's parameter spec and get structured output
What is Songmaker?
Generate a complete song from a text description — AI writes lyrics then composes music. Use when users want to create a song, turn a description into audio,... It is an AI Agent Skill for Claude Code / OpenClaw, with 258 downloads so far.
How do I install Songmaker?
Run "/install songmaker" in the OpenClaw or Claude Code chat to install it in one step — no extra setup required.
Is Songmaker free?
Yes, Songmaker is completely free, licensed under MIT-0. You can download, install and use it at no cost.
Which platforms does Songmaker support?
Songmaker is cross-platform and runs anywhere OpenClaw / Claude Code is available (cross-platform).
Who created Songmaker?
It is built and maintained by scikkk (@scikkk); the current version is v1.0.0.