stepace-experimental

Generate AI music on your Android phone via the StepAce Experimental app. Use this skill whenever the user asks to generate, create, make, compose, or queue a song, track, beat, melody, or any piece of music — even if phrased casually like "make me a vibe", "create something chill", or "schedule a song for tonight". Handles both immediate generation and scheduled (future) generation, with optional BPM, key, duration, lyrics, and time signature control. Requires a StepAce Experimental pairing token (setup guide included).

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 "stepace-experimental" with this command: npx skills add ckadirt/stepace-experimental

StepAce Experimental — AI Music Generation

Queue or schedule AI-generated songs directly to your Android phone through the StepAce Experimental app.


🚀 Setup (first time only)

Before using this skill, you need to connect it to your StepAce Experimental app:

  1. Open the StepAce Experimental app on your Android phone
  2. Go to Settings (bottom tab)
  3. Tap OpenClaw Bridge
  4. Tap Connect — the app generates a unique pairing token
  5. Copy the pairing token shown on screen
  6. Tell your agent:

    "Set my StepAce token to <paste token here>"

Your agent saves it as STEPACE_TOKEN. You only need to do this once — unless you regenerate your token in the app.


Token management

  • "Set my StepAce token to XYZ" → save as STEPACE_TOKEN
  • "Reset my token" → remind user: StepAce Experimental app → Settings → OpenClaw Bridge → Connect → paste new token
  • "What's my token?" → confirm it's set, show only first 4 + last 4 chars (e.g. T2L_****IP0)
  • If STEPACE_TOKEN is not set when the user asks to generate music → walk them through setup before proceeding

Generation types

Immediate — enqueue_generation

Queues a song to generate right now on the phone. Use this by default.

Scheduled — schedule_generation

Queues a song to generate at a specific future time. Use this when the user gives a time or date ("tonight at 2am", "schedule for tomorrow morning", etc.). Requires scheduledAt as a Unix timestamp in milliseconds.


Parameters exposed to the user

Only caption is required. All others are optional — omit them entirely from the payload if not specified (do not send null or empty values).

ParameterTypeNotes
captionstringRequired. Describe style, mood, genre, instruments. Be descriptive.
lyricsstringSong lyrics. Ignored if instrumental: true.
instrumentalbooleantrue = no vocals. If true, do NOT send lyrics. If user provides lyrics, set false.
bpmintegerTempo, 20–300. Infer from genre if confident (e.g. techno → 132, lo-fi → 85).
durationintegerLength in seconds, 5–300. Defaults to ~30s if omitted.
keyscalestringKey and scale, e.g. "C minor", "F# major", "A dorian".
timesignaturestring"4/4" or "3/4" only.
vocal_languagestringBCP-47 tag for vocals. e.g. "en", "es", "pt", "fr", "ja", "ko". Only relevant when instrumental: false. Defaults to "en".

Instrumental logic

  • User provides lyrics → instrumental: false, include lyrics
  • User says "no vocals" / "instrumental" / "beat" → instrumental: true, omit lyrics
  • User provides neither → omit both instrumental and lyrics (let the app decide)

API call

Endpoint: POST https://openclaw-bridge.torrico-villanueva-cesar-kadir.workers.dev/openclaw/queue Header: Content-Type: application/json

Preferred transport

Use curl from the shell as the default/preferred way to call the bridge. Do not prefer Python urllib/generic HTTP clients when curl is available, because the bridge/CDN may treat those clients differently and reject them even when the same payload works via curl.

Immediate generation

Preferred example using curl:

source /home/deploy/.stepace-env

curl -X POST \
  'https://openclaw-bridge.torrico-villanueva-cesar-kadir.workers.dev/openclaw/queue' \
  -H 'Content-Type: application/json' \
  --data '{
    "pairingToken": "'"$STEPACE_TOKEN"'",
    "type": "enqueue_generation",
    "payload": {
      "requestJson": {
        "caption": "cinematic synthwave with huge drums",
        "instrumental": true,
        "bpm": 120,
        "duration": 30
      }
    }
  }'

Equivalent JSON payload:

{
  "pairingToken": "{STEPACE_TOKEN}",
  "type": "enqueue_generation",
  "payload": {
    "requestJson": {
      "caption": "cinematic synthwave with huge drums",
      "instrumental": true,
      "bpm": 120,
      "duration": 30
    }
  }
}

Scheduled generation

Preferred example using curl:

source /home/deploy/.stepace-env

curl -X POST \
  'https://openclaw-bridge.torrico-villanueva-cesar-kadir.workers.dev/openclaw/queue' \
  -H 'Content-Type: application/json' \
  --data '{
    "pairingToken": "'"$STEPACE_TOKEN"'",
    "type": "schedule_generation",
    "payload": {
      "requestJson": {
        "caption": "dark techno with metallic percussion",
        "instrumental": true
      },
      "scheduledAt": 1775120400000
    }
  }'

Equivalent JSON payload:

{
  "pairingToken": "{STEPACE_TOKEN}",
  "type": "schedule_generation",
  "payload": {
    "requestJson": {
      "caption": "dark techno with metallic percussion",
      "instrumental": true
    },
    "scheduledAt": 1775120400000
  }
}

scheduledAt must be a Unix timestamp in milliseconds (13 digits). Convert from the user's stated time using their local timezone if known, otherwise ask.

With lyrics

{
  "pairingToken": "{STEPACE_TOKEN}",
  "type": "enqueue_generation",
  "payload": {
    "requestJson": {
      "caption": "fast energetic electronic anthem with punchy drums",
      "lyrics": "We light the night, we never slow, hearts on fire, we steal the show.",
      "vocal_language": "en",
      "instrumental": false,
      "duration": 30,
      "bpm": 160
    }
  }
}

Success response

{
  "jobRef": "ref_abc123...",
  "status": "queued",
  "type": "enqueue_generation"
}

Reply to the user with a message like:

🎵 Song queued on StepAce Experimental!
Caption: <caption>
📅 Scheduled for: <human-readable time>   ← only if scheduled
Settings: 160 BPM · C minor · 4/4 · 30s  ← only mention fields that were set
Job ref: ref_abc123...

Your phone will notify you when it's done 🎶

Error handling

ErrorWhat to do
Missing / invalid pairingTokenToken may have expired. Ask user: StepAce Experimental app → Settings → OpenClaw Bridge → Connect to regenerate, then update the token.
Missing captionAsk the user to describe the music they want.
Missing scheduledAt for schedule_generationAsk the user for a specific date/time.
Network errorTell the user the bridge couldn't be reached. Ask them to check their phone is online and the app has been opened at least once.

Natural language examples

  • "Make me a dark synth-wave track at 130 BPM"enqueue_generation, instrumental: true, bpm: 130
  • "Generate a cumbia song with these lyrics: [...]"enqueue_generation, instrumental: false, vocal_language: "es"
  • "Queue a lo-fi beat, 85 BPM, 60 seconds"enqueue_generation, instrumental: true, bpm: 85, duration: 60
  • "Schedule a techno track for 2am tonight"schedule_generation, resolve scheduledAt from current time + user's timezone
  • "Make a waltz in A minor"timesignature: "3/4", keyscale: "A minor"
  • "Something chill in Spanish"vocal_language: "es", infer a relaxed caption
  • "Song about the ocean, no lyrics, key of D minor, 45 seconds"instrumental: true, keyscale: "D minor", duration: 45

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

Baoyu Danger Gemini Web

Generates images and text via reverse-engineered Gemini Web API. Supports text generation, image generation from prompts, reference images for vision input,...

Registry SourceRecently Updated
8310wjctim
General

Easypost

EasyPost — shipping labels, rate comparison, package tracking, address verification, and insurance.

Registry SourceRecently Updated
General

Update Advisor

OpenClaw update check and upgrade assistant. Triggers on phrases like "check for updates", "any new version", "is openclaw updated", "run the update", "confi...

Registry SourceRecently Updated
General

Memory Management

Manage and standardize trading decision records, extract lessons, and support history retrieval and comparison within the PAI trading system.

Registry SourceRecently Updated