senseaudio-music

SenseAudio Music Generation API for creating AI-generated lyrics and songs. Supports lyrics generation, song generation with style/vocal control, and async task polling.

Safety Notice

This listing is from the official public ClawHub registry. Review SKILL.md and referenced scripts before running.

Copy this and send it to your AI assistant to learn

Install skill "senseaudio-music" with this command: npx skills add scikkk/music-gen

SenseAudio Music Generation

SenseAudio provides AI-powered music generation APIs for creating lyrics and full songs. The workflow is:

  1. Generate lyrics (sync or async)
  2. Generate a song using the lyrics (async, returns task_id)
  3. Poll for results

Base URL: https://api.senseaudio.cn Auth: Authorization: Bearer $SENSEAUDIO_API_KEY


1. Generate Lyrics

POST /v1/song/lyrics/create

ParameterTypeRequiredDescription
promptstringyesDescription of the lyrics to generate
providerstringyesModel provider, currently only sensesong

Response (sync):

{
  "data": [
    {
      "text": "[intro-medium] ; [verse] ... ; [chorus] ... ; [outro-medium]",
      "title": ""
    }
  ]
}

Response (async): Returns task_id — poll with lyrics pending endpoint.

curl -X POST https://api.senseaudio.cn/v1/song/lyrics/create \
  -H "Authorization: Bearer $SENSEAUDIO_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"prompt": "一段慷慨激昂的歌词", "provider": "sensesong"}'

2. Poll Lyrics (Async)

GET /v1/song/lyrics/pending/:task_id

Response:

{
  "task_id": "bcee6b21-...",
  "status": "SUCCESS",
  "response": {
    "task_id": "bcee6b21-...",
    "data": [{"text": "...", "title": ""}]
  }
}

Status values: PENDING | SUCCESS | FAILED

curl https://api.senseaudio.cn/v1/song/lyrics/pending/{task_id} \
  -H "Authorization: Bearer $SENSEAUDIO_API_KEY"

3. Generate Song

POST /v1/song/music/create

ParameterTypeRequiredDescription
modelstringyesCurrently only sensesong
lyricsstringnoSong lyrics (use format from lyrics API)
instrumentalboolnotrue for instrumental (no vocals)
stylestringnoMusic style (e.g. "pop", "rock", "jazz")
style_weightstringnoStyle weight 0–1
titlestringnoSong title
vocal_genderstringnof = female, m = male
negative_tagsstringnoStyle elements to exclude

Response:

{"task_id": "50f979f5-2b9e-4254-8653-c277644a31fa"}
curl -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": "[verse] Your lyrics here...",
    "style": "pop",
    "vocal_gender": "f",
    "title": "My Song"
  }'

4. Poll Song (Async)

GET /v1/song/music/pending/:task_id

Response:

{
  "task_id": "50f979f5-...",
  "status": "SUCCESS",
  "response": {
    "task_id": "50f979f5-...",
    "data": [
      {
        "audio_url": "https://...",
        "lyrics": "...",
        "duration": 110
      }
    ]
  }
}

Status values: PENDING | SUCCESS | FAILED

curl https://api.senseaudio.cn/v1/song/music/pending/{task_id} \
  -H "Authorization: Bearer $SENSEAUDIO_API_KEY"

Python Example (Full Flow)

import requests
import time

API_KEY = "YOUR_API_KEY"
HEADERS = {"Authorization": f"Bearer {API_KEY}", "Content-Type": "application/json"}
BASE = "https://api.senseaudio.cn"

# Step 1: Generate lyrics
resp = requests.post(f"{BASE}/v1/song/lyrics/create",
    headers=HEADERS,
    json={"prompt": "一首关于夏天的流行歌曲", "provider": "sensesong"})
lyrics_data = resp.json()
lyrics_text = lyrics_data["data"][0]["text"]

# Step 2: Generate song
resp = requests.post(f"{BASE}/v1/song/music/create",
    headers=HEADERS,
    json={"model": "sensesong", "lyrics": lyrics_text, "style": "pop", "vocal_gender": "f"})
task_id = resp.json()["task_id"]

# Step 3: Poll for result
while True:
    resp = requests.get(f"{BASE}/v1/song/music/pending/{task_id}", headers=HEADERS)
    result = resp.json()
    if result["status"] == "SUCCESS":
        print("Audio URL:", result["response"]["data"][0]["audio_url"])
        break
    elif result["status"] == "FAILED":
        print("Failed")
        break
    time.sleep(5)


SenseAudio 音乐生成

SenseAudio 提供 AI 驱动的音乐生成 API,支持歌词生成和完整歌曲生成。标准工作流程:

  1. 生成歌词(同步或异步)
  2. 使用歌词生成歌曲(异步,返回 task_id
  3. 轮询获取结果

基础 URL: https://api.senseaudio.cn 鉴权: Authorization: Bearer $SENSEAUDIO_API_KEY


1. 音乐歌词生成请求

POST /v1/song/lyrics/create

参数名类型必填描述
promptstring歌词生成提示词
providerstring模型,目前只支持 sensesong

同步响应示例:

{
  "data": [
    {
      "text": "[intro-medium] ; [verse] We stand upon the edge of dawn... ; [chorus] Rise up now...",
      "title": ""
    }
  ]
}

异步响应: 返回 task_id,需通过歌词轮询接口获取结果。


2. 音乐歌词轮询

GET /v1/song/lyrics/pending/:task_id

使用创建歌词任务得到的异步任务 ID 获取歌词数据。

响应示例:

{
  "task_id": "bcee6b21-dcf9-44d1-9b85-7bfef0e840db",
  "status": "SUCCESS",
  "response": {
    "task_id": "bcee6b21-dcf9-44d1-9b85-7bfef0e840db",
    "data": [{"text": "...", "title": ""}]
  }
}

任务状态:PENDING(处理中)| SUCCESS(成功)| FAILED(失败)


3. 音乐歌曲生成请求

POST /v1/song/music/create

参数名类型必填描述
modelstring模型,目前只能使用 sensesong
lyricsstring歌词内容
instrumentalbool是否为纯音乐(无人声)
stylestring歌曲风格(如 "pop"、"rock")
style_weightstring风格权重,取值 0–1
titlestring歌曲标题
vocal_genderstring人声性别:f 女性,m 男性
negative_tagsstring排除的风格元素

响应示例:

{"task_id": "50f979f5-2b9e-4254-8653-c277644a31fa"}

4. 音乐歌曲轮询

GET /v1/song/music/pending/:task_id

使用创建歌曲任务得到的异步任务 ID 获取歌曲数据。

响应示例:

{
  "task_id": "50f979f5-...",
  "status": "SUCCESS",
  "response": {
    "task_id": "50f979f5-...",
    "data": [
      {
        "audio_url": "https://...",
        "lyrics": "...",
        "duration": 110
      }
    ]
  }
}

任务状态:PENDING(处理中)| SUCCESS(成功)| FAILED(失败)


完整调用示例(Python)

import requests
import time

API_KEY = "YOUR_API_KEY"
HEADERS = {"Authorization": f"Bearer {API_KEY}", "Content-Type": "application/json"}
BASE = "https://api.senseaudio.cn"

# 第一步:生成歌词
resp = requests.post(f"{BASE}/v1/song/lyrics/create",
    headers=HEADERS,
    json={"prompt": "一首关于夏天的流行歌曲", "provider": "sensesong"})
lyrics_text = resp.json()["data"][0]["text"]

# 第二步:生成歌曲
resp = requests.post(f"{BASE}/v1/song/music/create",
    headers=HEADERS,
    json={"model": "sensesong", "lyrics": lyrics_text, "style": "pop", "vocal_gender": "f"})
task_id = resp.json()["task_id"]

# 第三步:轮询结果
while True:
    resp = requests.get(f"{BASE}/v1/song/music/pending/{task_id}", headers=HEADERS)
    result = resp.json()
    if result["status"] == "SUCCESS":
        print("音频地址:", result["response"]["data"][0]["audio_url"])
        break
    elif result["status"] == "FAILED":
        print("生成失败")
        break
    time.sleep(5)

Source Transparency

This detail page is rendered from real SKILL.md content. Trust labels are metadata-based hints, not a safety guarantee.

Related Skills

Related by shared tags or category signals.

General

Leads

Leads - command-line tool for everyday use

Registry SourceRecently Updated
General

Bmi Calculator

BMI计算器。BMI计算、理想体重、健康计划、体重追踪、儿童BMI、结果解读。BMI calculator with ideal weight, health plan. BMI、体重、健康。

Registry SourceRecently Updated
General

Blood

Blood — a fast health & wellness tool. Log anything, find it later, export when needed.

Registry SourceRecently Updated
General

Better Genshin Impact

📦BetterGI · 更好的原神 - 自动拾取 | 自动剧情 | 全自动钓鱼(AI) | 全自动七圣召唤 | 自动伐木 | 自动刷本 | 自动采集/挖矿/锄地 | 一条龙 | 全连音游 - UI A better genshin impact, c#, auto-play-game, automatic, g...

Registry SourceRecently Updated