{"id":"dea28e9b-f70a-46be-8b84-7cd3520e3867","entityType":"agent","slug":"clawhub-runapi-ai-runapi-suno","name":"suno","canonicalUrl":"https://www.xpersona.co/agent/clawhub-runapi-ai-runapi-suno","canonicalPath":"/agent/clawhub-runapi-ai-runapi-suno","generatedAt":"2026-10-10T17:33:31.231Z","source":"CLAWHUB","claimStatus":"UNCLAIMED","verificationTier":"NONE","summary":{"evidence":{"source":"editorial-content","verified":true,"confidence":"high","updatedAt":"2026-10-10T15:24:00.620Z","emptyReason":null},"description":"Generate and transform music or compose lyrics with Suno through RunAPI. Use when the user asks an agent to create, extend, transform music/audio, generate or blend lyrics, prepare voice validation phrases, or create reusable custom voices with Suno. Default to the RunAPI CLI for one-off generation; use SDKs only when the user is integrating RunAPI into an app or backend. Skill: suno Owner: runapi-ai Summary: Generate and transform music or compose lyrics with Suno through RunAPI. Use when the user asks an agent to create, extend, transform music/audio, generate or blend lyrics, prepare voice validation phrases, or create reusable custom voices with Suno. Default to the RunAPI CLI for one-off generation; use SDKs only when the user is integrating RunAPI into an app or backend. Tags: l","descriptionLabel":"Technical summary","evidenceSummary":"Capability contract not published. No trust telemetry is available yet. 1.4K downloads reported by the source. Last updated 10/10/2026.","installCommand":"clawhub skill install s1771k6pjxksnjws51x2htfjvd876syh:runapi-suno","sourceUrl":"https://clawhub.ai/runapi-ai/runapi-suno","homepage":"https://clawhub.ai/runapi-ai/skills/runapi-suno","primaryLinks":[{"label":"View on ClawHub","url":"https://clawhub.ai/runapi-ai/runapi-suno","kind":"source"},{"label":"Homepage","url":"https://clawhub.ai/runapi-ai/skills/runapi-suno","kind":"homepage"}],"safetyScore":84,"overallRank":62,"popularityScore":63,"trustScore":null,"claimedByName":null,"isOwner":false,"seoDescription":"Generate and transform music or compose lyrics with Suno through RunAPI. Use when the user asks an agent to create, extend, transform music/audio, generate or b"},"coverage":{"evidence":{"source":"public-profile","verified":false,"confidence":"medium","updatedAt":"2026-10-10T15:24:00.620Z","emptyReason":null},"protocols":[{"protocol":"OPENCLEW","label":"OpenClaw","status":"self-declared","notes":"Declared in the public agent profile."}],"capabilities":[],"verifiedCount":0,"selfDeclaredCount":1,"capabilityMatrix":{"rows":[{"key":"OPENCLEW","type":"protocol","support":"unknown","confidenceSource":"profile","notes":"Listed on profile"}],"flattenedTokens":"protocol:OPENCLEW|unknown|profile"}},"adoption":{"evidence":{"source":"CLAWHUB","verified":false,"confidence":"medium","updatedAt":"2026-10-10T15:24:00.620Z","emptyReason":null},"stars":null,"forks":null,"downloads":1362,"packageName":null,"latestVersion":"0.4.3","tractionLabel":"1.4K downloads"},"release":{"evidence":{"source":"CLAWHUB","verified":false,"confidence":"medium","updatedAt":"2026-10-10T15:24:00.620Z","emptyReason":null},"lastUpdatedAt":"2026-10-10T15:24:00.620Z","lastCrawledAt":"2026-10-10T15:24:00.620Z","lastIndexedAt":null,"nextCrawlAt":"2026-10-11T15:24:00.620Z","lastVerifiedAt":null,"highlights":[{"version":"0.4.3","createdAt":"2026-09-16T10:10:11.527Z","changelog":"## Added - Document Suno V6 model variants and their supported operations. ## Changed - Recommend canonical Voice handles for same-channel Suno v5.5 music generation while retaining legacy workflow compatibility.","fileCount":3,"zipByteSize":4773},{"version":"0.4.2","createdAt":"2026-08-12T06:23:37.608Z","changelog":"## Changed - Generate the suno skill from the shared RunAPI recipe with contract-discovered request rules and task behavior, direct local media inputs, complete result verification, and bounded recovery.","fileCount":3,"zipByteSize":4718},{"version":"0.4.1","createdAt":"2026-08-10T14:11:34.821Z","changelog":"## Changed - Complete marketplace distribution for the RunAPI Suno skill.","fileCount":3,"zipByteSize":3792},{"version":"0.4.0","createdAt":"2026-08-10T09:40:21.477Z","changelog":"## Added - Add CLI guidance for creating new music from reference audio URLs.","fileCount":3,"zipByteSize":3792},{"version":"0.3.0","createdAt":"2026-07-21T07:20:20.776Z","changelog":"## Added - Add lyrics generation query and lyric blending guidance, examples, and pricing links.","fileCount":3,"zipByteSize":3724},{"version":"0.2.9","createdAt":"2026-07-20T11:42:52.759Z","changelog":"## Added - Document advanced stem separation mode, supported stem names, and typed response handling.","fileCount":3,"zipByteSize":3664},{"version":"0.2.4","createdAt":"2026-05-23T17:33:01.823Z","changelog":"Agent-facing CLI-first redesign","fileCount":3,"zipByteSize":2864}]},"execution":{"evidence":{"source":"CLAWHUB","verified":false,"confidence":"low","updatedAt":null,"emptyReason":"No published capability contract is available yet."},"installCommand":"clawhub skill install s1771k6pjxksnjws51x2htfjvd876syh:runapi-suno","setupComplexity":"low","setupSteps":["Setup complexity is classified as HIGH. You must provision dedicated cloud infrastructure or an isolated VM. Do not run this directly on your local workstation.","Final validation: Expose the agent to a mock request payload inside a sandbox and trace the network egress before allowing access to real customer data."],"contract":{"contractStatus":"missing","authModes":[],"requires":[],"forbidden":[],"supportsMcp":false,"supportsA2a":false,"supportsStreaming":false,"inputSchemaRef":null,"outputSchemaRef":null,"dataRegion":null,"contractUpdatedAt":null,"sourceUpdatedAt":null,"freshnessSeconds":null},"invocationGuide":{"preferredApi":{"snapshotUrl":"https://www.xpersona.co/api/v1/agents/clawhub-runapi-ai-runapi-suno/snapshot","contractUrl":"https://www.xpersona.co/api/v1/agents/clawhub-runapi-ai-runapi-suno/contract","trustUrl":"https://www.xpersona.co/api/v1/agents/clawhub-runapi-ai-runapi-suno/trust"},"curlExamples":["curl -s \"https://www.xpersona.co/api/v1/agents/clawhub-runapi-ai-runapi-suno/snapshot\"","curl -s \"https://www.xpersona.co/api/v1/agents/clawhub-runapi-ai-runapi-suno/contract\"","curl -s \"https://www.xpersona.co/api/v1/agents/clawhub-runapi-ai-runapi-suno/trust\""],"jsonRequestTemplate":{"query":"summarize this repo","constraints":{"maxLatencyMs":2000,"protocolPreference":["OPENCLEW"]}},"jsonResponseTemplate":{"ok":true,"result":{"summary":"...","confidence":0.9},"meta":{"source":"CLAWHUB","generatedAt":"2026-10-10T17:33:31.230Z"}},"retryPolicy":{"maxAttempts":3,"backoffMs":[500,1500,3500],"retryableConditions":["HTTP_429","HTTP_503","NETWORK_TIMEOUT"]}},"endpoints":{"dossierUrl":"https://www.xpersona.co/api/v1/agents/clawhub-runapi-ai-runapi-suno/dossier","snapshotUrl":"https://www.xpersona.co/api/v1/agents/clawhub-runapi-ai-runapi-suno/snapshot","contractUrl":"https://www.xpersona.co/api/v1/agents/clawhub-runapi-ai-runapi-suno/contract","trustUrl":"https://www.xpersona.co/api/v1/agents/clawhub-runapi-ai-runapi-suno/trust"}},"reliability":{"evidence":{"source":"runtime-metrics","verified":false,"confidence":"low","updatedAt":null,"emptyReason":"No trust, reliability, or runtime telemetry is available."},"trust":{"status":"unavailable","handshakeStatus":"UNKNOWN","verificationFreshnessHours":null,"reputationScore":null,"p95LatencyMs":null,"successRate30d":null,"fallbackRate":null,"attempts30d":null,"trustUpdatedAt":null,"trustConfidence":"unknown","sourceUpdatedAt":null,"freshnessSeconds":null},"decisionGuardrails":{"doNotUseIf":["Contract metadata is missing or unavailable for deterministic execution."],"safeUseWhen":[],"riskFlags":["missing_or_unavailable_contract","trust_data_unavailable","schema_references_missing"],"operationalConfidence":"low"},"executionMetrics":{"observedLatencyMsP50":null,"observedLatencyMsP95":null,"estimatedCostUsd":null,"uptime30d":null,"rateLimitRpm":null,"rateLimitBurst":null,"lastVerifiedAt":null,"verificationSource":null},"runtimeMetrics":{"successRate":null,"avgLatencyMs":null,"avgCostUsd":null,"hallucinationRate":null,"retryRate":null,"disputeRate":null,"p50Latency":null,"p95Latency":null,"lastUpdated":null}},"benchmarks":{"evidence":{"source":"no-benchmark-data","verified":false,"confidence":"low","updatedAt":null,"emptyReason":"No benchmark suites or observed failure patterns are available."},"suites":[],"failurePatterns":[]},"artifacts":{"evidence":{"source":"CLAWHUB","verified":false,"confidence":"high","updatedAt":"2026-10-10T15:24:00.620Z","emptyReason":null},"readme":"Skill: suno\n\nOwner: runapi-ai\n\nSummary: Generate and transform music or compose lyrics with Suno through RunAPI. Use when the user asks an agent to create, extend, transform music/audio, generate or blend lyrics, prepare voice validation phrases, or create reusable custom voices with Suno. Default to the RunAPI CLI for one-off generation; use SDKs only when the user is integrating RunAPI into an app or backend.\n\nTags: latest:0.4.3\n\nVersion history:\n\nv0.4.3 | 2026-09-16T10:10:11.527Z | user\n\n## Added\n- Document Suno V6 model variants and their supported operations.\n\n## Changed\n- Recommend canonical Voice handles for same-channel Suno v5.5 music generation while retaining legacy workflow compatibility.\n\nv0.4.2 | 2026-08-12T06:23:37.608Z | user\n\n## Changed\n- Generate the suno skill from the shared RunAPI recipe with contract-discovered request rules and task behavior, direct local media inputs, complete result verification, and bounded recovery.\n\nv0.4.1 | 2026-08-10T14:11:34.821Z | user\n\n## Changed\n- Complete marketplace distribution for the RunAPI Suno skill.\n\nv0.4.0 | 2026-08-10T09:40:21.477Z | user\n\n## Added\n- Add CLI guidance for creating new music from reference audio URLs.\n\nv0.3.0 | 2026-07-21T07:20:20.776Z | user\n\n## Added\n- Add lyrics generation query and lyric blending guidance, examples, and pricing links.\n\nv0.2.9 | 2026-07-20T11:42:52.759Z | user\n\n## Added\n- Document advanced stem separation mode, supported stem names, and typed response handling.\n\nv0.2.4 | 2026-05-23T17:33:01.823Z | user\n\nAgent-facing CLI-first redesign\n\nArchive index:\n\nArchive v0.4.3: 3 files, 4773 bytes\n\nFiles: skill-card.md (2255b), SKILL.md (7941b), _meta.json (130b)\n\nFile v0.4.3:SKILL.md\n\n---\nname: suno\ndescription: \"Generate and transform music or compose lyrics with Suno through RunAPI. Use when the user asks an agent to create, extend, transform music/audio, generate or blend lyrics, prepare voice validation phrases, or create reusable custom voices with Suno. Default to the RunAPI CLI for one-off generation; use SDKs only when the user is integrating RunAPI into an app or backend.\"\ndocumentation: https://runapi.ai/models/suno.md\nprovider_page: https://runapi.ai/providers/suno.md\ncatalog: https://runapi.ai/models.md\nmetadata:\n  openclaw:\n    homepage: https://runapi.ai/models/suno\n    requires:\n      bins:\n      - runapi\n    install:\n    - kind: brew\n      formula: runapi-ai/tap/runapi\n      bins:\n      - runapi\n    envVars:\n    - name: RUNAPI_API_KEY\n      required: false\n      description: Optional RunAPI API key; agents should prefer environment auth or saved CLI config. Browser login is interactive fallback only.\n---\n\n# Suno on RunAPI\n\n## Choose route\n\n- For a one-off artifact or result, use the registered `suno` service in the `runapi` CLI. If the installed command catalog does not list it, stop and report the missing service instead of inventing a command.\n- For an app, backend, worker, library, webhook pipeline, or production codebase, go directly to **Integrate with SDK**. Never shell out to the CLI as the production runtime.\n\n## Discover contract\n\nAuthenticate, then inspect the installed command catalog and the selected operation's current contract:\n\n```shell\nrunapi auth status > auth.json\njq -e '.authenticated == true' auth.json\nrunapi suno --help\nrunapi suno <operation> --help\ncurl --fail --location https://runapi.ai/docs/api/suno/<operation>.md --output contract.md\n```\n\nIf authentication is false, stop before submitting. Ask the user to provide a valid `RUNAPI_API_KEY`, or import a user-provided key from stdin with `runapi auth import-token --token -`; use interactive browser login only when the user explicitly requests it. Choose `<operation>` only from service help. Treat command help as authoritative for the installed operation, model, and top-level field roster. Treat its API Reference as authoritative for the complete request schema, nested fields, conditional rules, task behavior, and response variants. If the two surfaces disagree, stop and report the contract mismatch instead of guessing.\n\nTemporary Contract Bridges:\n- For a custom voice workflow, complete a validation-phrase operation, create and verify the custom voice, then pass its completed `voice_id` as `persona_id` with `persona_type: \"voice\"` to a supported music-generation operation. Remove when: The installed command catalog exposes the complete custom-voice operation sequence and the `voice_id` to `persona_id` handoff.\n\n## Build request\n\nCreate `request.json` as valid JSON using only fields accepted by the discovered operation contract. For the chosen model and values, evaluate every applicable conditional rule as a set: satisfy every required field, omit every forbidden field, and stop on unresolved contradictions.\n\nTraverse nested objects and arrays before execution. Close every relationship stated by the discovered contract, including uniqueness constraints and cross-references between nested values.\n\nFor a discovered local media input, including file-typed fields and top-level media URL fields, put an agent-readable local file path directly in `request.json`. The CLI consumes file fields as declared and uploads local paths in top-level media URL fields. Use `runapi files create` only when the user needs a reusable URL, provides Base64, or the discovered contract explicitly requires a separate upload.\n\nValidate the file before sending it:\n\n```shell\njq empty request.json\n```\n\n## Execute\n\nUse the branch matching the selected operation's discovered task behavior. Submit exactly once.\n\nFor an asynchronous operation:\n\n```shell\nrunapi suno <operation> --async --input-file request.json > task.json\ntask_id=\"$(jq -er '.id' task.json)\"\nrunapi wait \"$task_id\" --service suno --action <operation> > result.json\n```\n\nFor a synchronous operation:\n\n```shell\nrunapi suno <operation> --input-file request.json > result.out\n```\n\nDo not use `--async` or `runapi wait` for a synchronous operation. For an asynchronous operation, stop after validating `task.json` only when the user explicitly asks for background execution, polling, or webhook integration; report the task id without claiming the deliverable is complete.\n\n## Verify\n\nA success status is not the deliverable. Read and validate the complete response according to the discovered result contract. Preserve the complete non-media result in the exact requested format, including JSON, text, SRT, or VTT.\n\nFor every requested media deliverable listed anywhere in the response, download all of them rather than returning only the first URL. Before downloading, derive its expected MIME type or family from response metadata when present, then the selected output format, then an unambiguous result field such as `videos`, `images`, or `audios` in the API Reference. The Catalog-declared fallback families for this skill are `audio/*`. Stop only when no single expected type or family can be established from those sources.\n\nFor every downloaded file, require both a non-empty file and the expected MIME type or family:\n\n```shell\ncurl --fail --location <deliverable-url> --output <downloaded-file>\nfor file in <downloaded-files>; do\n  expected_mime=<expected-MIME-or-family-pattern-for-this-file>\n  test -s \"$file\"\n  [[ \"$(file --brief --mime-type \"$file\")\" == $expected_mime ]]\ndone\n```\n\nDo not report completion when any requested deliverable is missing, empty, or has an unexpected MIME type. Record `Skill Conformance` separately from `Task Outcome` so a service failure does not hide whether this recipe was followed.\n\n## Recover or stop\n\n- Correct a request shape at most once, and only when the discovered contract or returned validation error identifies the correction.\n- Retry a transient transport failure at most once, and only when evidence confirms that no task was created, no billing occurred, and retrying is safe.\n- If waiting times out or loses transport after `task.json` exists, preserve the error and rerun `runapi wait` for that same task at most once. Never submit a replacement task.\n- On a terminal RunAPI or service failure, preserve the task/error evidence and stop. Keep the selected model and capability, and do not submit another paid request without user authorization.\n- If the contract is missing a fact required to build or verify the request, stop and report the contract gap. Do not turn a product defect into a permanent skill workaround.\n\n## Integrate with SDK\n\nUse this route only for application or production-code integration. Open the current RunAPI SDK reference below, select the package for the target language and `Suno`, and confirm its install command, client methods, request types, response types, and error classes before coding. Build the request from the same discovered product contract and apply the same deliverable verification and stop rules. Do not invoke `runapi` as a subprocess from production code.\n\n## References\n\n- Model overview, pricing, and rate limits: https://runapi.ai/models/suno.md\n- Provider overview: https://runapi.ai/providers/suno.md\n- Full model catalog: https://runapi.ai/models.md\n- SDK integration: https://github.com/runapi-ai/suno-sdk\n\n## Variants\n- `suno-v4`: https://runapi.ai/models/suno/v4.md\n- `suno-v4.5`: https://runapi.ai/models/suno/v4.5.md\n- `suno-v4.5-all`: https://runapi.ai/models/suno/v4.5-all.md\n- `suno-v4.5-plus`: https://runapi.ai/models/suno/v4.5-plus.md\n- `suno-v5`: https://runapi.ai/models/suno/v5.md\n- `suno-v5.5`: https://runapi.ai/models/suno/v5.5.md\n- `suno-v6`: https://runapi.ai/models/suno/v6.md\n- `suno-v6-mini`: https://runapi.ai/models/suno/v6-mini.md\n- `suno-v6-wild`: https://runapi.ai/models/suno/v6-wild.md\n\nFile v0.4.3:_meta.json\n\n{\n  \"ownerId\": \"kn70me4rk7jqjt92evshjeb5z18768g7\",\n  \"slug\": \"runapi-suno\",\n  \"version\": \"0.4.3\",\n  \"publishedAt\": 1789553411527\n}\n\nFile v0.4.3:skill-card.md\n\n## Description:\n\nGenerate and transform music, compose or blend lyrics, prepare voice validation phrases, and create reusable custom voices with Suno through RunAPI.\n\nThis skill is ready for commercial/non-commercial use.\n\n## Publisher:\n\n[runapi-ai](https://clawhub.ai/user/runapi-ai)\n\n### License/Terms of Use:\n\nMIT-0\n\n## Use Case:\n\nDevelopers and external users use this skill to drive Suno music, audio transformation, lyric, and custom voice workflows through RunAPI while checking current operation contracts before submission.\n\n### Deployment Geography for Use:\n\nGlobal\n\n## Known Risks and Mitigations:\n\nRisk: RunAPI credentials and local media paths may expose sensitive account or content data if included in requests unintentionally.\n\nMitigation: Review request.json before execution, prefer RUNAPI_API_KEY or saved CLI authentication, and use browser login only when explicitly requested.\n\nRisk: Submitted Suno generation jobs may consume paid API credits or upload media to RunAPI/Suno.\n\nMitigation: Submit each request once, retry only when evidence shows no task or billing was created, and require user authorization before replacing failed paid tasks.\n\n## Reference(s):\n\n- [RunAPI Suno model homepage](https://runapi.ai/models/suno)\n- [Suno model documentation](https://runapi.ai/models/suno.md)\n- [Suno provider overview](https://runapi.ai/providers/suno.md)\n- [RunAPI model catalog](https://runapi.ai/models.md)\n- [RunAPI Suno SDK](https://github.com/runapi-ai/suno-sdk)\n\n## Skill Output:\n\n**Output Type(s):** [guidance, shell commands, configuration, code, files]\n\n**Output Format:** [Markdown guidance with JSON request files, shell command blocks, and downloaded media file outputs]\n\n**Output Parameters:** [1D]\n\n**Other Properties Related to Output:** [Outputs can include non-media result files in JSON, text, SRT, or VTT plus verified audio downloads when the selected RunAPI operation returns media.]\n\n## Skill Version(s):\n\n0.4.3 (source: server release metadata)\n\n## Ethical Considerations:\n\nUsers should evaluate whether this skill is appropriate for their environment, review any generated or modified files before relying on them, and apply their organization's safety, security, and compliance requirements before deployment.\n\nArchive v0.4.2: 3 files, 4718 bytes\n\nFiles: skill-card.md (2357b), SKILL.md (7774b), _meta.json (130b)\n\nFile v0.4.2:SKILL.md\n\n---\nname: suno\ndescription: \"Generate and transform music or compose lyrics with Suno through RunAPI. Use when the user asks an agent to create, extend, transform music/audio, generate or blend lyrics, prepare voice validation phrases, or create reusable custom voices with Suno. Default to the RunAPI CLI for one-off generation; use SDKs only when the user is integrating RunAPI into an app or backend.\"\ndocumentation: https://runapi.ai/models/suno.md\nprovider_page: https://runapi.ai/providers/suno.md\ncatalog: https://runapi.ai/models.md\nmetadata:\n  openclaw:\n    homepage: https://runapi.ai/models/suno\n    requires:\n      bins:\n      - runapi\n    install:\n    - kind: brew\n      formula: runapi-ai/tap/runapi\n      bins:\n      - runapi\n    envVars:\n    - name: RUNAPI_API_KEY\n      required: false\n      description: Optional RunAPI API key; agents should prefer environment auth or saved CLI config. Browser login is interactive fallback only.\n---\n\n# Suno on RunAPI\n\n## Choose route\n\n- For a one-off artifact or result, use the registered `suno` service in the `runapi` CLI. If the installed command catalog does not list it, stop and report the missing service instead of inventing a command.\n- For an app, backend, worker, library, webhook pipeline, or production codebase, go directly to **Integrate with SDK**. Never shell out to the CLI as the production runtime.\n\n## Discover contract\n\nAuthenticate, then inspect the installed command catalog and the selected operation's current contract:\n\n```shell\nrunapi auth status > auth.json\njq -e '.authenticated == true' auth.json\nrunapi suno --help\nrunapi suno <operation> --help\ncurl --fail --location https://runapi.ai/docs/api/suno/<operation>.md --output contract.md\n```\n\nIf authentication is false, stop before submitting. Ask the user to provide a valid `RUNAPI_API_KEY`, or import a user-provided key from stdin with `runapi auth import-token --token -`; use interactive browser login only when the user explicitly requests it. Choose `<operation>` only from service help. Treat command help as authoritative for the installed operation, model, and top-level field roster. Treat its API Reference as authoritative for the complete request schema, nested fields, conditional rules, task behavior, and response variants. If the two surfaces disagree, stop and report the contract mismatch instead of guessing.\n\nTemporary Contract Bridges:\n- For a custom voice workflow, complete a validation-phrase operation, create and verify the custom voice, then pass its completed `voice_id` as `persona_id` with `persona_type: \"voice\"` to a supported music-generation operation. Remove when: The installed command catalog exposes the complete custom-voice operation sequence and the `voice_id` to `persona_id` handoff.\n\n## Build request\n\nCreate `request.json` as valid JSON using only fields accepted by the discovered operation contract. For the chosen model and values, evaluate every applicable conditional rule as a set: satisfy every required field, omit every forbidden field, and stop on unresolved contradictions.\n\nTraverse nested objects and arrays before execution. Close every relationship stated by the discovered contract, including uniqueness constraints and cross-references between nested values.\n\nFor a discovered local media input, including file-typed fields and top-level media URL fields, put an agent-readable local file path directly in `request.json`. The CLI consumes file fields as declared and uploads local paths in top-level media URL fields. Use `runapi files create` only when the user needs a reusable URL, provides Base64, or the discovered contract explicitly requires a separate upload.\n\nValidate the file before sending it:\n\n```shell\njq empty request.json\n```\n\n## Execute\n\nUse the branch matching the selected operation's discovered task behavior. Submit exactly once.\n\nFor an asynchronous operation:\n\n```shell\nrunapi suno <operation> --async --input-file request.json > task.json\ntask_id=\"$(jq -er '.id' task.json)\"\nrunapi wait \"$task_id\" --service suno --action <operation> > result.json\n```\n\nFor a synchronous operation:\n\n```shell\nrunapi suno <operation> --input-file request.json > result.out\n```\n\nDo not use `--async` or `runapi wait` for a synchronous operation. For an asynchronous operation, stop after validating `task.json` only when the user explicitly asks for background execution, polling, or webhook integration; report the task id without claiming the deliverable is complete.\n\n## Verify\n\nA success status is not the deliverable. Read and validate the complete response according to the discovered result contract. Preserve the complete non-media result in the exact requested format, including JSON, text, SRT, or VTT.\n\nFor every requested media deliverable listed anywhere in the response, download all of them rather than returning only the first URL. Before downloading, derive its expected MIME type or family from response metadata when present, then the selected output format, then an unambiguous result field such as `videos`, `images`, or `audios` in the API Reference. The Catalog-declared fallback families for this skill are `audio/*`. Stop only when no single expected type or family can be established from those sources.\n\nFor every downloaded file, require both a non-empty file and the expected MIME type or family:\n\n```shell\ncurl --fail --location <deliverable-url> --output <downloaded-file>\nfor file in <downloaded-files>; do\n  expected_mime=<expected-MIME-or-family-pattern-for-this-file>\n  test -s \"$file\"\n  [[ \"$(file --brief --mime-type \"$file\")\" == $expected_mime ]]\ndone\n```\n\nDo not report completion when any requested deliverable is missing, empty, or has an unexpected MIME type. Record `Skill Conformance` separately from `Task Outcome` so a service failure does not hide whether this recipe was followed.\n\n## Recover or stop\n\n- Correct a request shape at most once, and only when the discovered contract or returned validation error identifies the correction.\n- Retry a transient transport failure at most once, and only when evidence confirms that no task was created, no billing occurred, and retrying is safe.\n- If waiting times out or loses transport after `task.json` exists, preserve the error and rerun `runapi wait` for that same task at most once. Never submit a replacement task.\n- On a terminal RunAPI or service failure, preserve the task/error evidence and stop. Keep the selected model and capability, and do not submit another paid request without user authorization.\n- If the contract is missing a fact required to build or verify the request, stop and report the contract gap. Do not turn a product defect into a permanent skill workaround.\n\n## Integrate with SDK\n\nUse this route only for application or production-code integration. Open the current RunAPI SDK reference below, select the package for the target language and `Suno`, and confirm its install command, client methods, request types, response types, and error classes before coding. Build the request from the same discovered product contract and apply the same deliverable verification and stop rules. Do not invoke `runapi` as a subprocess from production code.\n\n## References\n\n- Model overview, pricing, and rate limits: https://runapi.ai/models/suno.md\n- Provider overview: https://runapi.ai/providers/suno.md\n- Full model catalog: https://runapi.ai/models.md\n- SDK integration: https://github.com/runapi-ai/suno-sdk\n\n## Variants\n- `suno-v4`: https://runapi.ai/models/suno/v4.md\n- `suno-v4.5`: https://runapi.ai/models/suno/v4.5.md\n- `suno-v4.5-all`: https://runapi.ai/models/suno/v4.5-all.md\n- `suno-v4.5-plus`: https://runapi.ai/models/suno/v4.5-plus.md\n- `suno-v5`: https://runapi.ai/models/suno/v5.md\n- `suno-v5.5`: https://runapi.ai/models/suno/v5.5.md\n\nFile v0.4.2:_meta.json\n\n{\n  \"ownerId\": \"kn70me4rk7jqjt92evshjeb5z18768g7\",\n  \"slug\": \"runapi-suno\",\n  \"version\": \"0.4.2\",\n  \"publishedAt\": 1786515817608\n}\n\nFile v0.4.2:skill-card.md\n\n## Description:\n\nHelps agents generate and transform music, compose or blend lyrics, prepare voice validation phrases, and create reusable custom voices with Suno through RunAPI.\n\nThis skill is ready for commercial/non-commercial use.\n\n## Publisher:\n\n[runapi-ai](https://clawhub.ai/user/runapi-ai)\n\n### License/Terms of Use:\n\nMIT-0\n\n## Use Case:\n\nDevelopers and external users use this skill to guide agents through Suno music, lyrics, audio transformation, custom voice, and SDK integration workflows via RunAPI.\n\n### Deployment Geography for Use:\n\nGlobal\n\n## Known Risks and Mitigations:\n\nRisk: Prompts and selected local audio or media files may be uploaded to RunAPI/Suno.\n\nMitigation: Use only content the user is authorized and willing to send to the service, and confirm local media paths before submission.\n\nRisk: The skill may use RunAPI credentials during authenticated operations.\n\nMitigation: Prefer environment or saved CLI authentication, avoid exposing tokens in prompts or logs, and stop when authentication is missing.\n\nRisk: The workflow can create local request, task, result, and downloaded media files.\n\nMitigation: Store artifacts in an appropriate working directory and review generated files before sharing or reusing them.\n\n## Reference(s):\n\n- [RunAPI Suno model overview](https://runapi.ai/models/suno.md)\n- [RunAPI Suno provider overview](https://runapi.ai/providers/suno.md)\n- [RunAPI model catalog](https://runapi.ai/models.md)\n- [RunAPI Suno homepage](https://runapi.ai/models/suno)\n- [RunAPI Suno SDK](https://github.com/runapi-ai/suno-sdk)\n- [ClawHub skill page](https://clawhub.ai/runapi-ai/skills/runapi-suno)\n\n## Skill Output:\n\n**Output Type(s):** [text, markdown, code, shell commands, configuration, guidance]\n\n**Output Format:** [Markdown guidance with JSON request examples and shell command blocks]\n\n**Output Parameters:** [1D]\n\n**Other Properties Related to Output:** [May direct agents to create request, task, result, and downloaded media files when a Suno operation requires them.]\n\n## Skill Version(s):\n\n0.4.2 (source: evidence.release.version)\n\n## Ethical Considerations:\n\nUsers should evaluate whether this skill is appropriate for their environment, review any generated or modified files before relying on them, and apply their organization's safety, security, and compliance requirements before deployment.\n\nArchive v0.4.1: 3 files, 3792 bytes\n\nFiles: skill-card.md (2577b), SKILL.md (5506b), _meta.json (130b)\n\nFile v0.4.1:SKILL.md\n\n---\nname: suno\ndescription: Generate and transform music or compose lyrics with Suno through RunAPI. Use when the user asks an agent to create, extend, transform music/audio, generate or blend lyrics, prepare voice validation phrases, or create reusable custom voices with Suno. Default to the RunAPI CLI for one-off generation; use SDKs only when the user is integrating RunAPI into an app or backend.\ndocumentation: https://runapi.ai/models/suno.md\nprovider_page: https://runapi.ai/providers/suno.md\ncatalog: https://runapi.ai/models.md\nmetadata:\n  openclaw:\n    homepage: https://runapi.ai/models/suno\n    requires:\n      bins:\n      - runapi\n    install:\n    - kind: brew\n      formula: runapi-ai/tap/runapi\n      bins:\n      - runapi\n    envVars:\n    - name: RUNAPI_API_KEY\n      required: false\n      description: Optional RunAPI API key; agents should prefer environment auth or saved CLI config. Browser login is interactive fallback only.\n---\n\n# Suno on RunAPI\n\nGenerate and transform music or compose lyrics with Suno through RunAPI, including lyric blending, voice validation phrase, and custom voice workflows. The default path for one-off agent tasks is the `runapi` CLI; SDKs are for application integration.\n\n## Critical: Integration Runtime\n\n- Integration work (app, backend, worker, library, Rails service, Node service, Go service, webhook pipeline, or production codebase) uses the **SDK integration path** for the target language.\n- One-off generation, editing, transformation, manual smoke tests, debugging, or user-requested CLI runs use the **CLI path** with the `runapi` binary. For full CLI-specific agent guidance, see https://github.com/runapi-ai/cli-skill.\n- Never shell out to the `runapi` CLI as the production runtime integration layer.\n\n## SDK integration path\n\nWhen integrating Suno into an app, backend, worker, library, Rails service, Node service, Go service, webhook pipeline, or production workflow, start by checking the current SDK package and official usage. Confirm install commands, client methods (`create`, `get`, `run`), request fields, response shape, and error classes before using CLI help or raw HTTP examples. Use a RunAPI SDK package:\n\n- JavaScript / TypeScript: `@runapi.ai/suno`\n- PHP: `runapi-ai/suno`\n- Ruby: `runapi-suno`\n- Go: `github.com/runapi-ai/suno-sdk/go`\n\n## CLI path\n\nThe `runapi` binary is the one-off and manual testing runtime dependency. For full CLI-specific agent guidance, see https://github.com/runapi-ai/cli-skill. Run `runapi auth status` first. For agents and headless runs, prefer `RUNAPI_API_KEY` or import it into saved config with `printf '%s' \"$RUNAPI_API_KEY\" | runapi auth import-token --token -`. Use `runapi login` only when the user explicitly wants interactive browser auth.\n\nInspect the available commands and request fields with CLI help:\n\n```shell\nrunapi suno --help\nrunapi suno text-to-music --help\nrunapi suno blend-lyrics --help\nrunapi suno inspire-music --help\nrunapi suno separate-audio-stems --help\nrunapi suno voice-to-validation-phrase --help\nrunapi suno regenerate-validation-phrase --help\nrunapi suno generate-voice --help\nrunapi suno check-voice --help\n```\n\nRun a one-off task (synchronous — polls until the task completes):\n\n```shell\nrunapi suno text-to-music --input-file request.json\nrunapi suno blend-lyrics --input-file lyrics.json\nrunapi suno inspire-music --input-file inspiration.json\nrunapi suno voice-to-validation-phrase --input-file voice-phrase.json\nrunapi suno generate-voice --input-file generate-voice.json\nrunapi suno check-voice --input-file check-voice.json\n```\n\nFor advanced stem separation, set `type` to `split_stem_advanced` and include a target `stem_name`. The result contains the extracted stem and the remaining audio under `separated_audios.pairs`.\n\nSubmit asynchronously and poll separately:\n\n```shell\nrunapi suno text-to-music --async --input-file request.json\nrunapi wait <task-id> --service suno --action text-to-music\n```\n\nAvailable commands: `text-to-music`, `inspire-music`, `extend-music`, `generate-artwork`, `cover-audio`, `add-instrumental`, `add-vocals`, `separate-audio-stems`, `generate-midi`, `convert-audio`, `visualize-music`, `generate-lyrics`, `blend-lyrics`, `get-timestamped-lyrics`, `replace-section`, `create-mashup`, `text-to-sound`, `voice-to-validation-phrase`, `regenerate-validation-phrase`, `generate-voice`, `check-voice`, `generate-persona`, `boost-style`.\n\nFor custom voice workflows: generate or regenerate a validation phrase, create a custom voice with `generate-voice`, then use the completed `voice_id` as `persona_id` with `persona_type: \"voice\"` on supported Suno v5 music generation endpoints. Use `check-voice` to confirm availability before depending on that voice in a generation request.\n\n## Generated file storage\n\nRunAPI-generated file URLs are temporary. Download and store generated images, videos, audio, or other files in your own durable storage within 7 days; do not treat returned URLs as long-term assets.\n\n## References\n\n- Model overview, pricing, and rate limits: https://runapi.ai/models/suno.md\n- Provider comparison: https://runapi.ai/providers/suno.md\n- Full model catalog: https://runapi.ai/models.md\n\n## Variants\n\n- [v4](https://runapi.ai/models/suno/v4.md)\n- [v4.5](https://runapi.ai/models/suno/v4.5.md)\n- [v4.5 all](https://runapi.ai/models/suno/v4.5-all.md)\n- [v4.5 plus](https://runapi.ai/models/suno/v4.5-plus.md)\n- [v5](https://runapi.ai/models/suno/v5.md)\n- [v5.5](https://runapi.ai/models/suno/v5.5.md)\n\nFile v0.4.1:_meta.json\n\n{\n  \"ownerId\": \"kn70me4rk7jqjt92evshjeb5z18768g7\",\n  \"slug\": \"runapi-suno\",\n  \"version\": \"0.4.1\",\n  \"publishedAt\": 1786371094821\n}\n\nFile v0.4.1:skill-card.md\n\n## Description:\n\nGenerate and transform music or compose lyrics with Suno through RunAPI.\n\nThis skill is ready for commercial/non-commercial use.\n\n## Publisher:\n\n[runapi-ai](https://clawhub.ai/user/runapi-ai)\n\n### License/Terms of Use:\n\nMIT-0\n\n## Use Case:\n\nDevelopers and external users use this skill to guide agents through Suno music, lyric, audio transformation, and custom voice workflows via RunAPI. It distinguishes one-off CLI tasks from SDK-based application integration.\n\n### Deployment Geography for Use:\n\nGlobal\n\n## Known Risks and Mitigations:\n\nRisk: Prompts, uploaded audio, lyrics, and voice samples may be sent to external RunAPI/Suno services.\n\nMitigation: Use the skill only in environments where sending that data to RunAPI/Suno is approved.\n\nRisk: API keys or CLI authentication may grant access to RunAPI-backed generation workflows.\n\nMitigation: Prefer RUNAPI_API_KEY or saved CLI config in controlled environments, and use browser login only when interactive authentication is explicitly acceptable.\n\nRisk: Generated file URLs are temporary and may not remain available as durable assets.\n\nMitigation: Download and store generated audio, image, video, or related files in durable storage within 7 days.\n\nRisk: Using the CLI as a production integration layer can make application behavior harder to control.\n\nMitigation: Use the appropriate RunAPI SDK for app, backend, worker, library, webhook, or production integration work.\n\n## Reference(s):\n\n- [RunAPI Suno homepage](https://runapi.ai/models/suno)\n- [RunAPI Suno model overview, pricing, and rate limits](https://runapi.ai/models/suno.md)\n- [RunAPI Suno provider comparison](https://runapi.ai/providers/suno.md)\n- [RunAPI model catalog](https://runapi.ai/models.md)\n- [ClawHub skill page](https://clawhub.ai/runapi-ai/skills/runapi-suno)\n- [RunAPI publisher profile](https://clawhub.ai/user/runapi-ai)\n\n## Skill Output:\n\n**Output Type(s):** [text, markdown, code, shell commands, configuration, guidance]\n\n**Output Format:** [Markdown guidance with shell command and JSON request examples]\n\n**Output Parameters:** [1D]\n\n**Other Properties Related to Output:** [May reference RunAPI CLI commands, SDK packages, environment authentication, and generated asset handling.]\n\n## Skill Version(s):\n\n0.4.1 (source: server release evidence)\n\n## Ethical Considerations:\n\nUsers should evaluate whether this skill is appropriate for their environment, review any generated or modified files before relying on them, and apply their organization's safety, security, and compliance requirements before deployment.\n\nArchive v0.4.0: 3 files, 3792 bytes\n\nFiles: skill-card.md (2559b), SKILL.md (5506b), _meta.json (130b)\n\nFile v0.4.0:SKILL.md\n\n---\nname: suno\ndescription: Generate and transform music or compose lyrics with Suno through RunAPI. Use when the user asks an agent to create, extend, transform music/audio, generate or blend lyrics, prepare voice validation phrases, or create reusable custom voices with Suno. Default to the RunAPI CLI for one-off generation; use SDKs only when the user is integrating RunAPI into an app or backend.\ndocumentation: https://runapi.ai/models/suno.md\nprovider_page: https://runapi.ai/providers/suno.md\ncatalog: https://runapi.ai/models.md\nmetadata:\n  openclaw:\n    homepage: https://runapi.ai/models/suno\n    requires:\n      bins:\n      - runapi\n    install:\n    - kind: brew\n      formula: runapi-ai/tap/runapi\n      bins:\n      - runapi\n    envVars:\n    - name: RUNAPI_API_KEY\n      required: false\n      description: Optional RunAPI API key; agents should prefer environment auth or saved CLI config. Browser login is interactive fallback only.\n---\n\n# Suno on RunAPI\n\nGenerate and transform music or compose lyrics with Suno through RunAPI, including lyric blending, voice validation phrase, and custom voice workflows. The default path for one-off agent tasks is the `runapi` CLI; SDKs are for application integration.\n\n## Critical: Integration Runtime\n\n- Integration work (app, backend, worker, library, Rails service, Node service, Go service, webhook pipeline, or production codebase) uses the **SDK integration path** for the target language.\n- One-off generation, editing, transformation, manual smoke tests, debugging, or user-requested CLI runs use the **CLI path** with the `runapi` binary. For full CLI-specific agent guidance, see https://github.com/runapi-ai/cli-skill.\n- Never shell out to the `runapi` CLI as the production runtime integration layer.\n\n## SDK integration path\n\nWhen integrating Suno into an app, backend, worker, library, Rails service, Node service, Go service, webhook pipeline, or production workflow, start by checking the current SDK package and official usage. Confirm install commands, client methods (`create`, `get`, `run`), request fields, response shape, and error classes before using CLI help or raw HTTP examples. Use a RunAPI SDK package:\n\n- JavaScript / TypeScript: `@runapi.ai/suno`\n- PHP: `runapi-ai/suno`\n- Ruby: `runapi-suno`\n- Go: `github.com/runapi-ai/suno-sdk/go`\n\n## CLI path\n\nThe `runapi` binary is the one-off and manual testing runtime dependency. For full CLI-specific agent guidance, see https://github.com/runapi-ai/cli-skill. Run `runapi auth status` first. For agents and headless runs, prefer `RUNAPI_API_KEY` or import it into saved config with `printf '%s' \"$RUNAPI_API_KEY\" | runapi auth import-token --token -`. Use `runapi login` only when the user explicitly wants interactive browser auth.\n\nInspect the available commands and request fields with CLI help:\n\n```shell\nrunapi suno --help\nrunapi suno text-to-music --help\nrunapi suno blend-lyrics --help\nrunapi suno inspire-music --help\nrunapi suno separate-audio-stems --help\nrunapi suno voice-to-validation-phrase --help\nrunapi suno regenerate-validation-phrase --help\nrunapi suno generate-voice --help\nrunapi suno check-voice --help\n```\n\nRun a one-off task (synchronous — polls until the task completes):\n\n```shell\nrunapi suno text-to-music --input-file request.json\nrunapi suno blend-lyrics --input-file lyrics.json\nrunapi suno inspire-music --input-file inspiration.json\nrunapi suno voice-to-validation-phrase --input-file voice-phrase.json\nrunapi suno generate-voice --input-file generate-voice.json\nrunapi suno check-voice --input-file check-voice.json\n```\n\nFor advanced stem separation, set `type` to `split_stem_advanced` and include a target `stem_name`. The result contains the extracted stem and the remaining audio under `separated_audios.pairs`.\n\nSubmit asynchronously and poll separately:\n\n```shell\nrunapi suno text-to-music --async --input-file request.json\nrunapi wait <task-id> --service suno --action text-to-music\n```\n\nAvailable commands: `text-to-music`, `inspire-music`, `extend-music`, `generate-artwork`, `cover-audio`, `add-instrumental`, `add-vocals`, `separate-audio-stems`, `generate-midi`, `convert-audio`, `visualize-music`, `generate-lyrics`, `blend-lyrics`, `get-timestamped-lyrics`, `replace-section`, `create-mashup`, `text-to-sound`, `voice-to-validation-phrase`, `regenerate-validation-phrase`, `generate-voice`, `check-voice`, `generate-persona`, `boost-style`.\n\nFor custom voice workflows: generate or regenerate a validation phrase, create a custom voice with `generate-voice`, then use the completed `voice_id` as `persona_id` with `persona_type: \"voice\"` on supported Suno v5 music generation endpoints. Use `check-voice` to confirm availability before depending on that voice in a generation request.\n\n## Generated file storage\n\nRunAPI-generated file URLs are temporary. Download and store generated images, videos, audio, or other files in your own durable storage within 7 days; do not treat returned URLs as long-term assets.\n\n## References\n\n- Model overview, pricing, and rate limits: https://runapi.ai/models/suno.md\n- Provider comparison: https://runapi.ai/providers/suno.md\n- Full model catalog: https://runapi.ai/models.md\n\n## Variants\n\n- [v4](https://runapi.ai/models/suno/v4.md)\n- [v4.5](https://runapi.ai/models/suno/v4.5.md)\n- [v4.5 all](https://runapi.ai/models/suno/v4.5-all.md)\n- [v4.5 plus](https://runapi.ai/models/suno/v4.5-plus.md)\n- [v5](https://runapi.ai/models/suno/v5.md)\n- [v5.5](https://runapi.ai/models/suno/v5.5.md)\n\nFile v0.4.0:_meta.json\n\n{\n  \"ownerId\": \"kn70me4rk7jqjt92evshjeb5z18768g7\",\n  \"slug\": \"runapi-suno\",\n  \"version\": \"0.4.0\",\n  \"publishedAt\": 1786354821477\n}\n\nFile v0.4.0:skill-card.md\n\n## Description:\n\nGenerate and transform music or compose lyrics with Suno through RunAPI. Use when the user asks an agent to create, extend, transform music/audio, generate or blend lyrics, prepare voice validation phrases, or create reusable custom voices with Suno. Default to the RunAPI CLI for one-off generation; use SDKs only when the user is integrating RunAPI into an app or backend.\n\nThis skill is ready for commercial/non-commercial use.\n\n## Publisher:\n\n[runapi-ai](https://clawhub.ai/user/runapi-ai)\n\n### License/Terms of Use:\n\nMIT-0\n\n## Use Case:\n\nDevelopers, operators, and agent users use this skill to create, transform, inspect, or integrate Suno music and audio workflows through RunAPI. It supports one-off CLI generation as well as SDK-oriented guidance for application and backend integration.\n\n### Deployment Geography for Use:\n\nGlobal\n\n## Known Risks and Mitigations:\n\nRisk: Prompts, lyrics, audio, and voice-related inputs are sent to the external RunAPI/Suno service.\n\nMitigation: Use the skill only when that service is intended for the task and the user is comfortable providing those inputs.\n\nRisk: Authentication can expose service credentials if handled carelessly.\n\nMitigation: Prefer RUNAPI_API_KEY or explicit RunAPI CLI login and avoid embedding credentials in generated code or command history.\n\nRisk: Generated media URLs returned by the service are temporary.\n\nMitigation: Download and store generated outputs in durable user-controlled storage within the documented retention window.\n\n## Reference(s):\n\n- [RunAPI Suno model overview](https://runapi.ai/models/suno.md)\n- [RunAPI Suno homepage](https://runapi.ai/models/suno)\n- [RunAPI Suno provider page](https://runapi.ai/providers/suno.md)\n- [RunAPI model catalog](https://runapi.ai/models.md)\n\n## Skill Output:\n\n**Output Type(s):** [Text, Markdown, Code, Shell commands, Configuration, Guidance]\n\n**Output Format:** [Markdown with inline shell commands, SDK package names, request guidance, and configuration notes]\n\n**Output Parameters:** [1D]\n\n**Other Properties Related to Output:** [May reference generated audio, image, video, or related media URLs that should be downloaded and stored by the user because service URLs are temporary.]\n\n## Skill Version(s):\n\n0.4.0 (source: server release metadata)\n\n## Ethical Considerations:\n\nUsers should evaluate whether this skill is appropriate for their environment, review any generated or modified files before relying on them, and apply their organization's safety, security, and compliance requirements before deployment.\n\nArchive v0.3.0: 3 files, 3724 bytes\n\nFiles: skill-card.md (2607b), SKILL.md (5400b), _meta.json (130b)\n\nFile v0.3.0:SKILL.md\n\n---\nname: suno\ndescription: Generate and transform music or compose lyrics with Suno through RunAPI. Use when the user asks an agent to create, extend, transform music/audio, generate or blend lyrics, prepare voice validation phrases, or create reusable custom voices with Suno. Default to the RunAPI CLI for one-off generation; use SDKs only when the user is integrating RunAPI into an app or backend.\ndocumentation: https://runapi.ai/models/suno.md\nprovider_page: https://runapi.ai/providers/suno.md\ncatalog: https://runapi.ai/models.md\nmetadata:\n  openclaw:\n    homepage: https://runapi.ai/models/suno\n    requires:\n      bins:\n      - runapi\n    install:\n    - kind: brew\n      formula: runapi-ai/tap/runapi\n      bins:\n      - runapi\n    envVars:\n    - name: RUNAPI_API_KEY\n      required: false\n      description: Optional RunAPI API key; agents should prefer environment auth or saved CLI config. Browser login is interactive fallback only.\n---\n\n# Suno on RunAPI\n\nGenerate and transform music or compose lyrics with Suno through RunAPI, including lyric blending, voice validation phrase, and custom voice workflows. The default path for one-off agent tasks is the `runapi` CLI; SDKs are for application integration.\n\n## Critical: Integration Runtime\n\n- Integration work (app, backend, worker, library, Rails service, Node service, Go service, webhook pipeline, or production codebase) uses the **SDK integration path** for the target language.\n- One-off generation, editing, transformation, manual smoke tests, debugging, or user-requested CLI runs use the **CLI path** with the `runapi` binary. For full CLI-specific agent guidance, see https://github.com/runapi-ai/cli-skill.\n- Never shell out to the `runapi` CLI as the production runtime integration layer.\n\n## SDK integration path\n\nWhen integrating Suno into an app, backend, worker, library, Rails service, Node service, Go service, webhook pipeline, or production workflow, start by checking the current SDK package and official usage. Confirm install commands, client methods (`create`, `get`, `run`), request fields, response shape, and error classes before using CLI help or raw HTTP examples. Use a RunAPI SDK package:\n\n- JavaScript / TypeScript: `@runapi.ai/suno`\n- PHP: `runapi-ai/suno`\n- Ruby: `runapi-suno`\n- Go: `github.com/runapi-ai/suno-sdk/go`\n\n## CLI path\n\nThe `runapi` binary is the one-off and manual testing runtime dependency. For full CLI-specific agent guidance, see https://github.com/runapi-ai/cli-skill. Run `runapi auth status` first. For agents and headless runs, prefer `RUNAPI_API_KEY` or import it into saved config with `printf '%s' \"$RUNAPI_API_KEY\" | runapi auth import-token --token -`. Use `runapi login` only when the user explicitly wants interactive browser auth.\n\nInspect the available commands and request fields with CLI help:\n\n```shell\nrunapi suno --help\nrunapi suno text-to-music --help\nrunapi suno blend-lyrics --help\nrunapi suno separate-audio-stems --help\nrunapi suno voice-to-validation-phrase --help\nrunapi suno regenerate-validation-phrase --help\nrunapi suno generate-voice --help\nrunapi suno check-voice --help\n```\n\nRun a one-off task (synchronous — polls until the task completes):\n\n```shell\nrunapi suno text-to-music --input-file request.json\nrunapi suno blend-lyrics --input-file lyrics.json\nrunapi suno voice-to-validation-phrase --input-file voice-phrase.json\nrunapi suno generate-voice --input-file generate-voice.json\nrunapi suno check-voice --input-file check-voice.json\n```\n\nFor advanced stem separation, set `type` to `split_stem_advanced` and include a target `stem_name`. The result contains the extracted stem and the remaining audio under `separated_audios.pairs`.\n\nSubmit asynchronously and poll separately:\n\n```shell\nrunapi suno text-to-music --async --input-file request.json\nrunapi wait <task-id> --service suno --action text-to-music\n```\n\nAvailable commands: `text-to-music`, `extend-music`, `generate-artwork`, `cover-audio`, `add-instrumental`, `add-vocals`, `separate-audio-stems`, `generate-midi`, `convert-audio`, `visualize-music`, `generate-lyrics`, `blend-lyrics`, `get-timestamped-lyrics`, `replace-section`, `create-mashup`, `text-to-sound`, `voice-to-validation-phrase`, `regenerate-validation-phrase`, `generate-voice`, `check-voice`, `generate-persona`, `boost-style`.\n\nFor custom voice workflows: generate or regenerate a validation phrase, create a custom voice with `generate-voice`, then use the completed `voice_id` as `persona_id` with `persona_type: \"voice\"` on supported Suno v5 music generation endpoints. Use `check-voice` to confirm availability before depending on that voice in a generation request.\n\n## Generated file storage\n\nRunAPI-generated file URLs are temporary. Download and store generated images, videos, audio, or other files in your own durable storage within 7 days; do not treat returned URLs as long-term assets.\n\n## References\n\n- Model overview, pricing, and rate limits: https://runapi.ai/models/suno.md\n- Provider comparison: https://runapi.ai/providers/suno.md\n- Full model catalog: https://runapi.ai/models.md\n\n## Variants\n\n- [v4](https://runapi.ai/models/suno/v4.md)\n- [v4.5](https://runapi.ai/models/suno/v4.5.md)\n- [v4.5 all](https://runapi.ai/models/suno/v4.5-all.md)\n- [v4.5 plus](https://runapi.ai/models/suno/v4.5-plus.md)\n- [v5](https://runapi.ai/models/suno/v5.md)\n- [v5.5](https://runapi.ai/models/suno/v5.5.md)\n\nFile v0.3.0:_meta.json\n\n{\n  \"ownerId\": \"kn70me4rk7jqjt92evshjeb5z18768g7\",\n  \"slug\": \"runapi-suno\",\n  \"version\": \"0.3.0\",\n  \"publishedAt\": 1784618420776\n}\n\nFile v0.3.0:skill-card.md\n\n## Description: <br>\nGenerate and transform music, audio, lyrics, and custom voice workflows with Suno through RunAPI. <br>\n\nThis skill is ready for commercial/non-commercial use. <br>\n\n## Publisher: <br>\n[runapi-ai](https://clawhub.ai/user/runapi-ai) <br>\n\n### License/Terms of Use: <br>\nMIT-0 <br>\n\n\n## Use Case: <br>\nDevelopers and agents use this skill to create or transform music and audio, compose or blend lyrics, and prepare Suno custom voice workflows through RunAPI. It guides one-off CLI generation and SDK-based application integrations. <br>\n\n### Deployment Geography for Use: <br>\nGlobal <br>\n\n## Known Risks and Mitigations: <br>\nRisk: Music prompts, lyrics, audio, or voice samples may be sent to RunAPI or Suno and may involve provider account costs. <br>\nMitigation: Confirm the user is comfortable with the provider transfer and expected costs before installing or using the skill, and avoid submitting sensitive content unless approved. <br>\nRisk: Interactive browser login is not suitable for every agent or headless environment. <br>\nMitigation: Prefer environment-based API keys or saved CLI configuration for agent and headless use; use browser login only when interactive authentication is explicitly intended. <br>\nRisk: RunAPI-generated file URLs are temporary and should not be treated as durable storage. <br>\nMitigation: Download and store generated audio, image, video, or related files in durable storage within the documented seven-day window. <br>\n\n\n## Reference(s): <br>\n- [ClawHub skill page](https://clawhub.ai/runapi-ai/skills/runapi-suno) <br>\n- [RunAPI Suno model page](https://runapi.ai/models/suno) <br>\n- [RunAPI Suno model documentation](https://runapi.ai/models/suno.md) <br>\n- [RunAPI Suno provider comparison](https://runapi.ai/providers/suno.md) <br>\n- [RunAPI model catalog](https://runapi.ai/models.md) <br>\n\n\n## Skill Output: <br>\n**Output Type(s):** [guidance, shell commands, configuration] <br>\n**Output Format:** [Markdown guidance with shell command examples] <br>\n**Output Parameters:** [1D] <br>\n**Other Properties Related to Output:** [Requires the runapi CLI for one-off tasks, supports SDK guidance for application integrations, and may use the optional RUNAPI_API_KEY environment variable.] <br>\n\n## Skill Version(s): <br>\n0.3.0 (source: server release evidence) <br>\n\n## Ethical Considerations: <br>\nUsers should evaluate whether this skill is appropriate for their environment, review any generated or modified files before relying on them, and apply their organization's safety, security, and compliance requirements before deployment. <br>\n\nArchive v0.2.9: 3 files, 3664 bytes\n\nFiles: skill-card.md (2555b), SKILL.md (5223b), _meta.json (130b)\n\nFile v0.2.9:SKILL.md\n\n---\nname: suno\ndescription: Generate and transform music with Suno through RunAPI. Use when the user asks an agent to create, extend, transform music/audio, prepare voice validation phrases, or create reusable custom voices with Suno. Default to the RunAPI CLI for one-off generation; use SDKs only when the user is integrating RunAPI into an app or backend.\ndocumentation: https://runapi.ai/models/suno.md\nprovider_page: https://runapi.ai/providers/suno.md\ncatalog: https://runapi.ai/models.md\nmetadata:\n  openclaw:\n    homepage: https://runapi.ai/models/suno\n    requires:\n      bins:\n      - runapi\n    install:\n    - kind: brew\n      formula: runapi-ai/tap/runapi\n      bins:\n      - runapi\n    envVars:\n    - name: RUNAPI_API_KEY\n      required: false\n      description: Optional RunAPI API key; agents should prefer environment auth or saved CLI config. Browser login is interactive fallback only.\n---\n\n# Suno on RunAPI\n\nGenerate and transform music with Suno through RunAPI, including voice validation phrase and custom voice workflows. The default path for one-off agent tasks is the `runapi` CLI; SDKs are for application integration.\n\n## Critical: Integration Runtime\n\n- Integration work (app, backend, worker, library, Rails service, Node service, Go service, webhook pipeline, or production codebase) uses the **SDK integration path** for the target language.\n- One-off generation, editing, transformation, manual smoke tests, debugging, or user-requested CLI runs use the **CLI path** with the `runapi` binary. For full CLI-specific agent guidance, see https://github.com/runapi-ai/cli-skill.\n- Never shell out to the `runapi` CLI as the production runtime integration layer.\n\n## SDK integration path\n\nWhen integrating Suno into an app, backend, worker, library, Rails service, Node service, Go service, webhook pipeline, or production workflow, start by checking the current SDK package and official usage. Confirm install commands, client methods (`create`, `get`, `run`), request fields, response shape, and error classes before using CLI help or raw HTTP examples. Use a RunAPI SDK package:\n\n- JavaScript / TypeScript: `@runapi.ai/suno`\n- PHP: `runapi-ai/suno`\n- Ruby: `runapi-suno`\n- Go: `github.com/runapi-ai/suno-sdk/go`\n\n## CLI path\n\nThe `runapi` binary is the one-off and manual testing runtime dependency. For full CLI-specific agent guidance, see https://github.com/runapi-ai/cli-skill. Run `runapi auth status` first. For agents and headless runs, prefer `RUNAPI_API_KEY` or import it into saved config with `printf '%s' \"$RUNAPI_API_KEY\" | runapi auth import-token --token -`. Use `runapi login` only when the user explicitly wants interactive browser auth.\n\nInspect the available commands and request fields with CLI help:\n\n```shell\nrunapi suno --help\nrunapi suno text-to-music --help\nrunapi suno separate-audio-stems --help\nrunapi suno voice-to-validation-phrase --help\nrunapi suno regenerate-validation-phrase --help\nrunapi suno generate-voice --help\nrunapi suno check-voice --help\n```\n\nRun a one-off task (synchronous — polls until the task completes):\n\n```shell\nrunapi suno text-to-music --input-file request.json\nrunapi suno voice-to-validation-phrase --input-file voice-phrase.json\nrunapi suno generate-voice --input-file generate-voice.json\nrunapi suno check-voice --input-file check-voice.json\n```\n\nFor advanced stem separation, set `type` to `split_stem_advanced` and include a target `stem_name`. The result contains the extracted stem and the remaining audio under `separated_audios.pairs`.\n\nSubmit asynchronously and poll separately:\n\n```shell\nrunapi suno text-to-music --async --input-file request.json\nrunapi wait <task-id> --service suno --action text-to-music\n```\n\nAvailable commands: `text-to-music`, `extend-music`, `generate-artwork`, `cover-audio`, `add-instrumental`, `add-vocals`, `separate-audio-stems`, `generate-midi`, `convert-audio`, `visualize-music`, `generate-lyrics`, `get-timestamped-lyrics`, `replace-section`, `create-mashup`, `text-to-sound`, `voice-to-validation-phrase`, `regenerate-validation-phrase`, `generate-voice`, `check-voice`, `generate-persona`, `boost-style`.\n\nFor custom voice workflows: generate or regenerate a validation phrase, create a custom voice with `generate-voice`, then use the completed `voice_id` as `persona_id` with `persona_type: \"voice\"` on supported Suno v5 music generation endpoints. Use `check-voice` to confirm availability before depending on that voice in a generation request.\n\n## Generated file storage\n\nRunAPI-generated file URLs are temporary. Download and store generated images, videos, audio, or other files in your own durable storage within 7 days; do not treat returned URLs as long-term assets.\n\n## References\n\n- Model overview, pricing, and rate limits: https://runapi.ai/models/suno.md\n- Provider comparison: https://runapi.ai/providers/suno.md\n- Full model catalog: https://runapi.ai/models.md\n\n## Variants\n\n- [v4](https://runapi.ai/models/suno/v4.md)\n- [v4.5](https://runapi.ai/models/suno/v4.5.md)\n- [v4.5 all](https://runapi.ai/models/suno/v4.5-all.md)\n- [v4.5 plus](https://runapi.ai/models/suno/v4.5-plus.md)\n- [v5](https://runapi.ai/models/suno/v5.md)\n- [v5.5](https://runapi.ai/models/suno/v5.5.md)\n\nFile v0.2.9:_meta.json\n\n{\n  \"ownerId\": \"kn70me4rk7jqjt92evshjeb5z18768g7\",\n  \"slug\": \"runapi-suno\",\n  \"version\": \"0.2.9\",\n  \"publishedAt\": 1784547772759\n}\n\nFile v0.2.9:skill-card.md\n\n## Description: <br>\nGenerate and transform music with Suno through RunAPI, including music/audio creation, extension, transformation, voice validation phrases, and reusable custom voices. <br>\n\nThis skill is ready for commercial/non-commercial use. <br>\n\n## Publisher: <br>\n[runapi-ai](https://clawhub.ai/user/runapi-ai) <br>\n\n### License/Terms of Use: <br>\nMIT-0 <br>\n\n\n## Use Case: <br>\nExternal users, developers, and agents use this skill to generate or transform Suno music and audio through RunAPI. It guides agents toward the RunAPI CLI for one-off work and SDK packages for app or backend integrations. <br>\n\n### Deployment Geography for Use: <br>\nGlobal <br>\n\n## Known Risks and Mitigations: <br>\nRisk: RunAPI/Suno generation tasks may require a RunAPI API key or saved CLI login. <br>\nMitigation: Confirm the user is comfortable using RunAPI/Suno and prefer RUNAPI_API_KEY or saved CLI config; use browser login only when explicitly requested. <br>\nRisk: Generated media URLs returned by RunAPI are temporary. <br>\nMitigation: Download and store generated audio or other files in durable storage within 7 days when the user wants to keep them. <br>\nRisk: Using the CLI as a production runtime integration layer can create brittle app or backend integrations. <br>\nMitigation: Use the RunAPI SDK integration path for apps, services, workers, and production codebases. <br>\n\n\n## Reference(s): <br>\n- [RunAPI Suno homepage](https://runapi.ai/models/suno) <br>\n- [RunAPI Suno model documentation](https://runapi.ai/models/suno.md) <br>\n- [RunAPI Suno provider comparison](https://runapi.ai/providers/suno.md) <br>\n- [RunAPI model catalog](https://runapi.ai/models.md) <br>\n- [RunAPI CLI skill](https://github.com/runapi-ai/cli-skill) <br>\n\n\n## Skill Output: <br>\n**Output Type(s):** [guidance, shell commands, code, configuration] <br>\n**Output Format:** [Markdown with inline shell commands, SDK package names, and JSON request guidance] <br>\n**Output Parameters:** [1D] <br>\n**Other Properties Related to Output:** [Requires the runapi CLI for one-off generation and may use RUNAPI_API_KEY or saved CLI authentication; SDK integration guidance is provided for production app and backend use.] <br>\n\n## Skill Version(s): <br>\n0.2.9 (source: server release evidence) <br>\n\n## Ethical Considerations: <br>\nUsers should evaluate whether this skill is appropriate for their environment, review any generated or modified files before relying on them, and apply their organization's safety, security, and compliance requirements before deployment. <br>\n\nArchive v0.2.4: 3 files, 2864 bytes\n\nFiles: skill-card.md (2599b), SKILL.md (3024b), _meta.json (130b)\n\nFile v0.2.4:SKILL.md\n\n---\nname: suno\ndescription: Generate and transform music with Suno through RunAPI. Use when the user asks an agent to create, extend, or transform music and audio with Suno. Default to the RunAPI CLI for one-off generation; use SDKs only when the user is integrating RunAPI into an app or backend.\ndocumentation: https://runapi.ai/models/suno.md\nprovider_page: https://runapi.ai/providers/suno.md\ncatalog: https://runapi.ai/models.md\nmetadata:\n  openclaw:\n    homepage: https://runapi.ai/models/suno\n    requires:\n      bins:\n      - runapi\n    install:\n    - kind: brew\n      formula: runapi-ai/tap/runapi\n      bins:\n      - runapi\n    envVars:\n    - name: RUNAPI_API_KEY\n      required: false\n      description: Optional RunAPI API key; runapi login or saved CLI config can also authenticate the runapi binary.\n---\n\n# Suno on RunAPI\n\nGenerate and transform music with Suno through RunAPI. The default path for one-off agent tasks is the `runapi` CLI; SDKs are for application integration.\n\n## Routing decision\n\n- One-off generation, editing, or transformation for the user → use the **CLI path** with the `runapi` binary.\n- Building an app, backend, worker, library, or production codebase → use the **SDK integration path**.\n\n## CLI path\n\nThe `runapi` binary is the runtime dependency. Authenticate with `runapi login` (browser) or set `RUNAPI_API_KEY`; a saved CLI config also works — no required environment variable.\n\nInspect the available actions and request fields with CLI help:\n\n```shell\nrunapi suno --help\nrunapi suno text-to-music --help\n```\n\nRun a one-off task (synchronous — polls until the task completes):\n\n```shell\nrunapi suno text-to-music --input-file request.json\n```\n\nSubmit asynchronously and poll separately:\n\n```shell\nrunapi suno text-to-music --async --input-file request.json\nrunapi wait <task-id> --service suno --action text-to-music\n```\n\nAvailable actions: `text-to-music`, `extend-music`, `generate-artwork`, `cover-audio`, `add-instrumental`, `add-vocals`, `separate-audio-stems`, `generate-midi`, `convert-audio`, `visualize-music`, `generate-lyrics`, `get-timestamped-lyrics`, `replace-section`, `create-mashup`, `text-to-sound`, `generate-persona`, `boost-style`.\n\n## SDK integration path\n\nWhen integrating Suno into an app, backend, worker, or library — not for one-off tasks — use a RunAPI SDK package:\n\n- JavaScript / TypeScript: `@runapi.ai/suno`\n- Ruby: `runapi-suno`\n- Go: `github.com/runapi-ai/suno-sdk/go`\n\n## References\n\n- Model overview, pricing, and rate limits: https://runapi.ai/models/suno.md\n- Provider comparison: https://runapi.ai/providers/suno.md\n- Full model catalog: https://runapi.ai/models.md\n\n## Variants\n\n- [v3.5](https://runapi.ai/models/suno/v3.5.md)\n- [v4](https://runapi.ai/models/suno/v4.md)\n- [v4.5](https://runapi.ai/models/suno/v4.5.md)\n- [v4.5 all](https://runapi.ai/models/suno/v4.5-all.md)\n- [v4.5 plus](https://runapi.ai/models/suno/v4.5-plus.md)\n- [v5](https://runapi.ai/models/suno/v5.md)\n- [v5.5](https://runapi.ai/models/suno/v5.5.md)\n\nFile v0.2.4:_meta.json\n\n{\n  \"ownerId\": \"kn70me4rk7jqjt92evshjeb5z18768g7\",\n  \"slug\": \"runapi-suno\",\n  \"version\": \"0.2.4\",\n  \"publishedAt\": 1779557581823\n}\n\nFile v0.2.4:skill-card.md\n\n## Description: <br>\nGenerate and transform music with Suno through RunAPI, using the RunAPI CLI for one-off agent tasks and SDKs for application integrations. <br>\n\nThis skill is ready for commercial/non-commercial use. <br>\n\n## Publisher: <br>\n[runapi-ai](https://clawhub.ai/user/runapi-ai) <br>\n\n### License/Terms of Use: <br>\nMIT-0 <br>\n\n\n## Use Case: <br>\nDevelopers and agent users use this skill to create, extend, transform, and inspect music or audio through RunAPI's Suno service. It helps agents choose CLI commands for one-off work and SDK packages for app, backend, worker, or library integration. <br>\n\n### Deployment Geography for Use: <br>\nGlobal <br>\n\n## Known Risks and Mitigations: <br>\nRisk: Prompts, generated audio, and authentication are handled by RunAPI/Suno, a third-party service. <br>\nMitigation: Avoid submitting private, regulated, proprietary, or copyrighted material unless authorized and comfortable with the provider's data handling and terms. <br>\nRisk: The skill can use sensitive RunAPI credentials through login state or RUNAPI_API_KEY. <br>\nMitigation: Store credentials securely, avoid placing keys in prompts or committed files, and rotate credentials if exposure is suspected. <br>\nRisk: Music generation may involve provider billing, rate limits, and rights obligations. <br>\nMitigation: Review RunAPI/Suno pricing, rate limits, and usage terms before running production or high-volume requests. <br>\n\n\n## Reference(s): <br>\n- [RunAPI Suno model homepage](https://runapi.ai/models/suno) <br>\n- [RunAPI Suno model overview, pricing, and rate limits](https://runapi.ai/models/suno.md) <br>\n- [RunAPI Suno provider comparison](https://runapi.ai/providers/suno.md) <br>\n- [RunAPI model catalog](https://runapi.ai/models.md) <br>\n- [ClawHub skill page](https://clawhub.ai/runapi-ai/runapi-suno) <br>\n\n\n## Skill Output: <br>\n**Output Type(s):** [Text, Markdown, Shell commands, Code, Configuration, Guidance] <br>\n**Output Format:** [Markdown with inline shell commands, package names, and configuration guidance] <br>\n**Output Parameters:** [1D] <br>\n**Other Properties Related to Output:** [May reference the runapi CLI, RunAPI SDK packages, optional RUNAPI_API_KEY authentication, and request JSON files.] <br>\n\n## Skill Version(s): <br>\n0.2.4 (source: server release metadata) <br>\n\n## Ethical Considerations: <br>\nUsers should evaluate whether this skill is appropriate for their environment, review any generated or modified files before relying on them, and apply their organization's safety, security, and compliance requirements before deployment. <br>","readmeExcerpt":"Skill: suno Owner: runapi-ai Summary: Generate and transform music or compose lyrics with Suno through RunAPI. Use when the user asks an agent to create, extend, transform music/audio, generate or blend lyrics, prepare voice validation phrases, or create reusable custom voices with Suno. Default to the RunAPI CLI for one-off generation; use SDKs only when the user is integrating RunAPI into an app or backend. Tags: l","codeSnippets":[],"executableExamples":[{"language":"shell","snippet":"curl --fail --location https://runapi.ai/docs/api/suno/<operation>.md --output contract.md"},{"language":"shell","snippet":"runapi auth status > auth.json\njq -e '.authenticated == true' auth.json\nrunapi suno --help\nrunapi suno <operation> --help\ncurl --fail --location https://runapi.ai/docs/api/suno/<operation>.md --output contract.md"},{"language":"shell","snippet":"jq empty request.json"},{"language":"shell","snippet":"runapi suno <operation> --async --input-file request.json > task.json\ntask_id=\"$(jq -er '.id' task.json)\"\nrunapi wait \"$task_id\" --service suno --action <operation> > result.json"},{"language":"shell","snippet":"runapi suno <operation> --input-file request.json > result.out"},{"language":"shell","snippet":"curl --fail --location <deliverable-url> --output <downloaded-file>"}],"parameters":null,"dependencies":[],"permissions":[],"extractedFiles":[{"path":"SKILL.md","content":"---\nname: suno\ndescription: \"Generate and transform music or compose lyrics with Suno through RunAPI. Use when the user asks an agent to create, extend, transform music/audio, generate or blend lyrics, prepare voice validation phrases, or create reusable custom voices with Suno. Default to the RunAPI CLI for one-off generation; use SDKs only when the user is integrating RunAPI into an app or backend.\"\ndocumentation: https://runapi.ai/models/suno.md\nprovider_page: https://runapi.ai/providers/suno.md\ncatalog: https://runapi.ai/models.md\nmetadata:\n  openclaw:\n    homepage: https://runapi.ai/models/suno\n    requires:\n      bins:\n      - runapi\n    install:\n    - kind: brew\n      formula: runapi-ai/tap/runapi\n      bins:\n      - runapi\n    envVars:\n    - name: RUNAPI_API_KEY\n      required: false\n      description: Optional RunAPI API key; agents should prefer environment auth or saved CLI config. Browser login is interactive fallback only.\n---\n\n# Suno on RunAPI\n\n## Choose route\n\n- For a one-off artifact or result, use the registered `suno` service in the `runapi` CLI. If the installed command catalog does not list it, stop and report the missing service instead of inventing a command.\n- For an app, backend, worker, library, webhook pipeline, or production codebase, go directly to **Integrate with SDK**. Never shell out to the CLI as the production runtime.\n\n## Discover contract\n\nAuthenticate, then inspect the installed command catalog and the selected operation's current contract:\n\n```shell\nrunapi auth status > auth.json\njq -e '.authenticated == true' auth.json\nrunapi suno --help\nrunapi suno <operation> --help\ncurl --fail --location https://runapi.ai/docs/api/suno/<operation>.md --output contract.md\n```\n\nIf authentication is false, stop before submitting. Ask the user to provide a valid `RUNAPI_API_KEY`, or import a user-provided key from stdin with `runapi auth import-token --token -`; use interactive browser login only when the user explicitly requests it. Choose `<operation>` only from service help. Treat command help as authoritative for the installed operation, model, and top-level field roster. Treat its API Reference as authoritative for the complete request schema, nested fields, conditional rules, task behavior, and response variants. If the two surfaces disagree, stop and report the contract mismatch instead of guessing.\n\nTemporary Contract Bridges:\n- For a custom voice workflow, complete a validation-phrase operation, create and verify the custom voice, then pass its completed `voice_id` as `persona_id` with `persona_type: \"voice\"` to a supported music-generation operation. Remove when: The installed command catalog exposes the complete custom-voice operation sequence and the `voice_id` to `persona_id` handoff.\n\n## Build request\n\nCreate `request.json` as valid JSON using only fields accepted by the discovered operation contract. For the chosen model and values, evaluate every applicable conditional rule as a set: satisfy every required fie"},{"path":"_meta.json","content":"{\n  \"ownerId\": \"kn70me4rk7jqjt92evshjeb5z18768g7\",\n  \"slug\": \"runapi-suno\",\n  \"version\": \"0.4.3\",\n  \"publishedAt\": 1789553411527\n}"},{"path":"skill-card.md","content":"## Description:\n\nGenerate and transform music, compose or blend lyrics, prepare voice validation phrases, and create reusable custom voices with Suno through RunAPI.\n\nThis skill is ready for commercial/non-commercial use.\n\n## Publisher:\n\n[runapi-ai](https://clawhub.ai/user/runapi-ai)\n\n### License/Terms of Use:\n\nMIT-0\n\n## Use Case:\n\nDevelopers and external users use this skill to drive Suno music, audio transformation, lyric, and custom voice workflows through RunAPI while checking current operation contracts before submission.\n\n### Deployment Geography for Use:\n\nGlobal\n\n## Known Risks and Mitigations:\n\nRisk: RunAPI credentials and local media paths may expose sensitive account or content data if included in requests unintentionally.\n\nMitigation: Review request.json before execution, prefer RUNAPI_API_KEY or saved CLI authentication, and use browser login only when explicitly requested.\n\nRisk: Submitted Suno generation jobs may consume paid API credits or upload media to RunAPI/Suno.\n\nMitigation: Submit each request once, retry only when evidence shows no task or billing was created, and require user authorization before replacing failed paid tasks.\n\n## Reference(s):\n\n- [RunAPI Suno model homepage](https://runapi.ai/models/suno)\n- [Suno model documentation](https://runapi.ai/models/suno.md)\n- [Suno provider overview](https://runapi.ai/providers/suno.md)\n- [RunAPI model catalog](https://runapi.ai/models.md)\n- [RunAPI Suno SDK](https://github.com/runapi-ai/suno-sdk)\n\n## Skill Output:\n\n**Output Type(s):** [guidance, shell commands, configuration, code, files]\n\n**Output Format:** [Markdown guidance with JSON request files, shell command blocks, and downloaded media file outputs]\n\n**Output Parameters:** [1D]\n\n**Other Properties Related to Output:** [Outputs can include non-media result files in JSON, text, SRT, or VTT plus verified audio downloads when the selected RunAPI operation returns media.]\n\n## Skill Version(s):\n\n0.4.3 (source: server release metadata)\n\n## Ethical Considerations:\n\nUsers should evaluate whether this skill is appropriate for their environment, review any generated or modified files before relying on them, and apply their organization's safety, security, and compliance requirements before deployment."}],"languages":[],"docsSourceLabel":"CLAWHUB","editorialOverview":"Generate and transform music or compose lyrics with Suno through RunAPI. Use when the user asks an agent to create, extend, transform music/audio, generate or blend lyrics, prepare voice validation phrases, or create reusable custom voices with Suno. Default to the RunAPI CLI for one-off generation; use SDKs only when the user is integrating RunAPI into an app or backend. Skill: suno Owner: runapi-ai Summary: Generate and transform music or compose lyrics with Suno through RunAPI. Use when the user asks an agent to create, extend, transform music/audio, generate or blend lyrics, prepare voice validation phrases, or create reusable custom voices with Suno. Default to the RunAPI CLI for one-off generation; use SDKs only when the user is integrating RunAPI into an app or backend. Tags: l","editorialQuality":{"score":100,"threshold":65,"status":"ready","wordCount":1221,"uniquenessScore":47,"reasons":[]}},"media":{"evidence":{"source":"no-media","verified":false,"confidence":"low","updatedAt":"2026-10-10T15:24:00.620Z","emptyReason":"No screenshots, media assets, or demo links are available."},"primaryImageUrl":null,"mediaAssetCount":0,"assets":[],"demoUrl":null},"ownerResources":{"evidence":{"source":"unclaimed","verified":false,"confidence":"low","updatedAt":"2026-10-10T15:24:00.620Z","emptyReason":"This page has not been claimed by the agent owner."},"hasCustomPage":false,"customPageUpdatedAt":null,"customLinks":[],"structuredLinks":{"docsUrl":null,"demoUrl":null,"supportUrl":null,"pricingUrl":null,"statusUrl":null},"customPage":null},"relatedAgents":{"evidence":{"source":"protocol-neighbors","verified":false,"confidence":"medium","updatedAt":"2026-10-10T17:33:31.231Z","emptyReason":null},"items":[{"id":"8ebccd8e-3863-4187-8355-c3f14e1f9edf","entityType":"agent","canonicalPath":"/agent/iofficeai-aionui","slug":"iofficeai-aionui","name":"AionUi","description":"Free, local, open-source 24/7 Cowork app and OpenClaw for Gemini CLI, Claude Code, Codex, OpenCode, Qwen Code, Goose CLI, Auggie, and more | 🌟 Star if you like it!","url":"https://github.com/iOfficeAI/AionUi","homepage":"https://www.aionui.com","source":"GITHUB_REPOS","protocols":["MCP","OPENCLAW"],"capabilities":[],"safetyScore":100,"overallRank":70,"updatedAt":"2026-10-09T19:11:12.944Z","createdAt":"2026-02-25T03:38:16.584Z","downloads":null},{"id":"b917f68a-ebff-438e-84f8-3f4b2494c0bc","entityType":"agent","canonicalPath":"/agent/activepieces-activepieces","slug":"activepieces-activepieces","name":"activepieces","description":"AI Agents & MCPs & AI Workflow Automation • (~400 MCP servers for AI agents) • AI Automation / AI Agent with MCPs • AI Workflows & AI Agents • MCPs for AI Agents","url":"https://github.com/activepieces/activepieces","homepage":"https://www.activepieces.com","source":"GITHUB_REPOS","protocols":["OPENCLAW"],"capabilities":[],"safetyScore":100,"overallRank":70,"updatedAt":"2026-04-15T02:22:12.426Z","createdAt":"2026-02-25T03:38:12.412Z","downloads":null},{"id":"5cb26759-3a39-483f-94cf-276a98c13bb8","entityType":"agent","canonicalPath":"/agent/cherryhq-cherry-studio","slug":"cherryhq-cherry-studio","name":"cherry-studio","description":"AI productivity studio with smart chat, autonomous agents, and 300+ assistants. Unified access to frontier LLMs","url":"https://github.com/CherryHQ/cherry-studio","homepage":"https://cherry-ai.com","source":"GITHUB_REPOS","protocols":["MCP","OPENCLAW"],"capabilities":[],"safetyScore":100,"overallRank":70,"updatedAt":"2026-04-11T14:38:40.986Z","createdAt":"2026-02-25T03:38:19.379Z","downloads":null},{"id":"6f6582d0-5d76-4f0f-b81d-86520247950b","entityType":"agent","canonicalPath":"/agent/copilotkit-copilotkit","slug":"copilotkit-copilotkit","name":"CopilotKit","description":"The Frontend for Agents & Generative UI. React + Angular","url":"https://github.com/CopilotKit/CopilotKit","homepage":"https://docs.copilotkit.ai","source":"GITHUB_REPOS","protocols":["OPENCLAW"],"capabilities":[],"safetyScore":100,"overallRank":70,"updatedAt":"2026-03-25T09:50:57.846Z","createdAt":"2026-02-25T03:39:14.617Z","downloads":null}],"links":{"hub":"/agent","source":"/agent/source/clawhub","protocols":[{"label":"OpenClaw","href":"/agent/protocol/openclew"}]}}}