senseaudio-jingle-forge

Create a brand jingle (5–15 seconds) from a brand name and tone keywords. Use when users want a brand sound logo, audio identity, jingle, intro music, or short branded audio clip. Triggers on "品牌 jingle", "开机音效", "广告片尾音乐", "品牌声音", "音频 logo", "短视频片头音乐", or any request to create a short branded musical piece.

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-jingle-forge" with this command: npx skills add scikkk/jingle-forge

SenseAudio Jingle Forge

Turn brand information into a ready-to-use audio logo. A jingle is not a song — it's short (5–15s), memorable, and built around the brand name. This skill constrains the music generation API to that specific format.

Step 1: Collect Brand Info

Ask the user for:

FieldExample
品牌名"极光科技"
行业/产品"智能家居"
调性关键词"科技感、温暖、未来"
使用场景开机音效 / 广告片尾 / 短视频片头 / APP 启动
人声偏好有人声(男/女)/ 纯音乐

If the user provides partial info, infer reasonable defaults and proceed.

Step 2: Generate Jingle Lyrics

Jingle lyrics have strict rules — explain this to the user if they ask why the lyrics look short:

  • Total length: ≤ 20 characters
  • Must contain the brand name
  • Last line ends with the brand name
  • Should rhyme or have a strong rhythm
  • No verse/chorus structure — just 1–2 punchy lines

Build the lyrics prompt with these constraints baked in:

为品牌"<品牌名>"创作一段 Jingle 歌词。
要求:
- 总字数不超过20字
- 必须包含品牌名"<品牌名>"
- 最后一句以品牌名结尾
- 押韵,朗朗上口
- 调性:<调性关键词>
- 场景:<使用场景>
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\": \"<PROMPT>\", \"provider\": \"sensesong\"}")

TASK_ID=$(echo $LYRICS_RESP | jq -r '.task_id // empty')

If async (task_id present), poll:

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 sync, read directly: LYRICS=$(echo $LYRICS_RESP | jq -r '.data[0].text')

Show the lyrics to the user and ask for approval or edits before composing.

Step 3: Match Style to Brand Tone

Map tone keywords to music style automatically:

Tone keywordStyle suggestion
科技 / 未来 / 数字electronic, synthesizer, futuristic
温暖 / 家庭 / 亲切acoustic guitar, piano, warm
高端 / 奢华 / 精致strings, jazz, orchestral
活力 / 年轻 / 运动pop, upbeat, energetic
自然 / 健康 / 清新acoustic, folk, light
专业 / 商务 / 信任corporate, clean, minimal
可爱 / 儿童 / 萌playful, xylophone, cheerful

Combine multiple keywords: "科技感、温暖" → "electronic piano, warm synth, modern"

Also add "short jingle, 5-15 seconds, brand audio logo" to the style to constrain length.

Step 4: Generate Two Versions in Parallel

Always produce two versions — users almost always need both:

Version A — 带唱版 (with vocals):

SONG_A=$(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\": \"<LYRICS>\",
    \"title\": \"<品牌名> Jingle\",
    \"vocal_gender\": \"<f|m>\",
    \"style\": \"<STYLE>, short jingle, 5-15 seconds, brand audio logo\",
    \"negative_tags\": \"long intro, extended outro, complex arrangement\"
  }")
TASK_A=$(echo $SONG_A | jq -r '.task_id')

Version B — 纯音乐版 (instrumental):

SONG_B=$(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\",
    \"instrumental\": true,
    \"title\": \"<品牌名> Jingle Instrumental\",
    \"style\": \"<STYLE>, short jingle, 5-15 seconds, brand audio logo\",
    \"negative_tags\": \"vocals, long intro, extended outro\"
  }")
TASK_B=$(echo $SONG_B | jq -r '.task_id')

Poll both tasks (check every 5s, may take 30–120s):

for TASK in $TASK_A $TASK_B; do
  while true; do
    POLL=$(curl -s "https://api.senseaudio.cn/v1/song/music/pending/$TASK" \
      -H "Authorization: Bearer $SENSEAUDIO_API_KEY")
    STATUS=$(echo $POLL | jq -r '.status')
    { [ "$STATUS" = "SUCCESS" ] || [ "$STATUS" = "FAILED" ]; } && break
    sleep 5
  done
done

Step 5: TTS Brand Name Read

Generate a clean spoken version of the brand name — useful for overlaying on the instrumental:

curl -s -X POST https://api.senseaudio.cn/v1/t2a_v2 \
  -H "Authorization: Bearer $SENSEAUDIO_API_KEY" \
  -H "Content-Type: application/json" \
  -d "{
    \"model\": \"SenseAudio-TTS-1.0\",
    \"text\": \"<品牌名>\",
    \"stream\": false,
    \"voice_setting\": {
      \"voice_id\": \"<VOICE_ID_MATCHING_TONE>\",
      \"speed\": 0.9
    },
    \"audio_setting\": { \"format\": \"mp3\" }
  }" -o brand_name.json

jq -r '.data.audio' brand_name.json | xxd -r -p > brand_name.mp3

Pick voice based on tone: 高端/专业 → male_0004_a; 温暖/亲切 → female_0006_a; 活力/年轻 → male_0026_b

Output

Present all three deliverables:

品牌 Jingle 生成完成:

带唱版:  <audio_url_A>  (时长:<duration>秒)
纯音乐版:<audio_url_B>  (时长:<duration>秒)
品牌名朗读:brand_name.mp3(可叠加到纯音乐版)

使用建议:
- 开机音效 / APP 启动:纯音乐版
- 广告片尾:带唱版 或 纯音乐版 + 品牌名朗读叠加
- 短视频片头:带唱版

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

Amazon Push Score

Use when user needs Amazon push score calculation and optimization strategy. Use when generating A9 algorithm optimization plans for Amazon listings. Use whe...

Registry SourceRecently Updated
General

运维助手 v2

运维助手 v2.1 - 支持本地、远程、多服务器集群监控 (安全增强版,密码加密、命令白名单)

Registry SourceRecently Updated
General

三重人格

一个窗口,三种情绪。恋人/损友/死敌随时切换,记忆永不串味。

Registry SourceRecently Updated
00Profile unavailable
General

Sun Tzu Perspective

孙子(孙武)的战略思维视角——以「不战而屈人之兵」为核心的全胜智慧。 适用于:战略规划、竞争分析、决策优化、领导力提升、商业谈判。 触发词:「孙子视角」「孙子兵法」「战略思维」「竞争策略」「知彼知己」。

Registry SourceRecently Updated