{"id":"7364e5ed-86ae-4747-9615-8b0a6f1bbd86","entityType":"agent","slug":"clawhub-runapi-ai-runapi-elevenlabs","name":"elevenlabs","canonicalUrl":"https://www.xpersona.co/agent/clawhub-runapi-ai-runapi-elevenlabs","canonicalPath":"/agent/clawhub-runapi-ai-runapi-elevenlabs","generatedAt":"2026-10-11T17:41:50.854Z","source":"CLAWHUB","claimStatus":"UNCLAIMED","verificationTier":"NONE","summary":{"evidence":{"source":"editorial-content","verified":true,"confidence":"high","updatedAt":"2026-10-11T15:39:36.106Z","emptyReason":null},"description":"Generate speech, dialogue, and sound with ElevenLabs through RunAPI. Use when the user asks an agent to create speech, dialogue, or sound effects, or transcribe audio with ElevenLabs. Default to the RunAPI CLI for one-off generation; use SDKs only when the user is integrating RunAPI into an app or backend. Skill: elevenlabs Owner: runapi-ai Summary: Generate speech, dialogue, and sound with ElevenLabs through RunAPI. Use when the user asks an agent to create speech, dialogue, or sound effects, or transcribe audio with ElevenLabs. Default to the RunAPI CLI for one-off generation; use SDKs only when the user is integrating RunAPI into an app or backend. Tags: latest:0.2.9 Version history: v0.2.9 | 2026-08-12T06:04:07.289","descriptionLabel":"Technical summary","evidenceSummary":"Capability contract not published. No trust telemetry is available yet. 1K downloads reported by the source. Last updated 10/11/2026.","installCommand":"clawhub skill install s1771k6pjxksnjws51x2htfjvd876syh:runapi-elevenlabs","sourceUrl":"https://clawhub.ai/runapi-ai/runapi-elevenlabs","homepage":"https://clawhub.ai/runapi-ai/skills/runapi-elevenlabs","primaryLinks":[{"label":"View on ClawHub","url":"https://clawhub.ai/runapi-ai/runapi-elevenlabs","kind":"source"},{"label":"Homepage","url":"https://clawhub.ai/runapi-ai/skills/runapi-elevenlabs","kind":"homepage"}],"safetyScore":84,"overallRank":62,"popularityScore":60,"trustScore":null,"claimedByName":null,"isOwner":false,"seoDescription":"Generate speech, dialogue, and sound with ElevenLabs through RunAPI. Use when the user asks an agent to create speech, dialogue, or sound effects, or transcribe"},"coverage":{"evidence":{"source":"public-profile","verified":false,"confidence":"medium","updatedAt":"2026-10-11T15:39:36.106Z","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-11T15:39:36.106Z","emptyReason":null},"stars":null,"forks":null,"downloads":1037,"packageName":null,"latestVersion":"0.2.9","tractionLabel":"1K downloads"},"release":{"evidence":{"source":"CLAWHUB","verified":false,"confidence":"medium","updatedAt":"2026-10-11T15:39:36.100Z","emptyReason":null},"lastUpdatedAt":"2026-10-11T15:39:36.106Z","lastCrawledAt":"2026-10-11T15:39:36.100Z","lastIndexedAt":null,"nextCrawlAt":"2026-10-12T15:39:36.101Z","lastVerifiedAt":null,"highlights":[{"version":"0.2.9","createdAt":"2026-08-12T06:04:07.289Z","changelog":"## Changed - Generate the elevenlabs 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":4694},{"version":"0.2.8","createdAt":"2026-08-10T14:02:50.921Z","changelog":"## Changed - Complete marketplace distribution for the RunAPI ElevenLabs skill.","fileCount":3,"zipByteSize":3245},{"version":"0.2.4","createdAt":"2026-05-22T09:13:49.995Z","changelog":"Agent-facing CLI-first redesign","fileCount":3,"zipByteSize":2745},{"version":"0.2.3","createdAt":"2026-05-22T07:06:17.620Z","changelog":"Publish RunAPI skill README install prompt updates.","fileCount":2,"zipByteSize":3792}]},"execution":{"evidence":{"source":"CLAWHUB","verified":false,"confidence":"low","updatedAt":null,"emptyReason":"No published capability contract is available yet."},"installCommand":"clawhub skill install s1771k6pjxksnjws51x2htfjvd876syh:runapi-elevenlabs","setupComplexity":"low","setupSteps":["Setup complexity is LOW. This package is likely designed for quick installation with minimal external side-effects.","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-elevenlabs/snapshot","contractUrl":"https://www.xpersona.co/api/v1/agents/clawhub-runapi-ai-runapi-elevenlabs/contract","trustUrl":"https://www.xpersona.co/api/v1/agents/clawhub-runapi-ai-runapi-elevenlabs/trust"},"curlExamples":["curl -s \"https://www.xpersona.co/api/v1/agents/clawhub-runapi-ai-runapi-elevenlabs/snapshot\"","curl -s \"https://www.xpersona.co/api/v1/agents/clawhub-runapi-ai-runapi-elevenlabs/contract\"","curl -s \"https://www.xpersona.co/api/v1/agents/clawhub-runapi-ai-runapi-elevenlabs/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-11T17:41:50.853Z"}},"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-elevenlabs/dossier","snapshotUrl":"https://www.xpersona.co/api/v1/agents/clawhub-runapi-ai-runapi-elevenlabs/snapshot","contractUrl":"https://www.xpersona.co/api/v1/agents/clawhub-runapi-ai-runapi-elevenlabs/contract","trustUrl":"https://www.xpersona.co/api/v1/agents/clawhub-runapi-ai-runapi-elevenlabs/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-11T15:39:36.106Z","emptyReason":null},"readme":"Skill: elevenlabs\n\nOwner: runapi-ai\n\nSummary: Generate speech, dialogue, and sound with ElevenLabs through RunAPI. Use when the user asks an agent to create speech, dialogue, or sound effects, or transcribe audio with ElevenLabs. 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.2.9\n\nVersion history:\n\nv0.2.9 | 2026-08-12T06:04:07.289Z | user\n\n## Changed\n- Generate the elevenlabs 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.2.8 | 2026-08-10T14:02:50.921Z | user\n\n## Changed\n- Complete marketplace distribution for the RunAPI ElevenLabs skill.\n\nv0.2.4 | 2026-05-22T09:13:49.995Z | user\n\nAgent-facing CLI-first redesign\n\nv0.2.3 | 2026-05-22T07:06:17.620Z | user\n\nPublish RunAPI skill README install prompt updates.\n\nArchive index:\n\nArchive v0.2.9: 3 files, 4694 bytes\n\nFiles: skill-card.md (2699b), SKILL.md (7473b), _meta.json (136b)\n\nFile v0.2.9:SKILL.md\n\n---\nname: elevenlabs\ndescription: \"Generate speech, dialogue, and sound with ElevenLabs through RunAPI. Use when the user asks an agent to create speech, dialogue, or sound effects, or transcribe audio with ElevenLabs. 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/elevenlabs.md\nprovider_page: https://runapi.ai/providers/elevenlabs.md\ncatalog: https://runapi.ai/models.md\nmetadata:\n  openclaw:\n    homepage: https://runapi.ai/models/elevenlabs\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# ElevenLabs on RunAPI\n\n## Choose route\n\n- For a one-off artifact or result, use the registered `elevenlabs` 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 elevenlabs --help\nrunapi elevenlabs <operation> --help\ncurl --fail --location https://runapi.ai/docs/api/elevenlabs/<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\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\nSubmit exactly once and persist the task response before waiting:\n\n```shell\nrunapi elevenlabs <operation> --async --input-file request.json > task.json\ntask_id=\"$(jq -er '.id' task.json)\"\n```\n\nFor a one-off result, immediately wait for that same task and save the complete JSON response. This blocking wait is the default:\n\n```shell\nrunapi wait \"$task_id\" --service elevenlabs --action <operation> > result.json\n```\n\nOnly when the user explicitly asks for background execution, polling, or webhook integration may you stop after validating `task.json`. Report the task id and do not claim that 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 `ElevenLabs`, 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/elevenlabs.md\n- Provider overview: https://runapi.ai/providers/elevenlabs.md\n- Full model catalog: https://runapi.ai/models.md\n- SDK integration: https://github.com/runapi-ai/elevenlabs-sdk\n\n## Variants\n- `audio-isolation`: https://runapi.ai/models/elevenlabs/audio-isolation.md\n- `sound-effect-v2`: https://runapi.ai/models/elevenlabs/sound-effect-v2.md\n- `speech-to-text`: https://runapi.ai/models/elevenlabs/speech-to-text.md\n- `text-to-dialogue-v3`: https://runapi.ai/models/elevenlabs/text-to-dialogue-v3.md\n- `text-to-speech-multilingual-v2`: https://runapi.ai/models/elevenlabs/text-to-speech-multilingual-v2.md\n- `text-to-speech-turbo-v2.5`: https://runapi.ai/models/elevenlabs/text-to-speech-turbo-v2.5.md\n\nFile v0.2.9:_meta.json\n\n{\n  \"ownerId\": \"kn70me4rk7jqjt92evshjeb5z18768g7\",\n  \"slug\": \"runapi-elevenlabs\",\n  \"version\": \"0.2.9\",\n  \"publishedAt\": 1786514647289\n}\n\nFile v0.2.9:skill-card.md\n\n## Description:\n\nGenerate speech, dialogue, and sound with ElevenLabs through RunAPI, or transcribe audio with ElevenLabs, using the RunAPI CLI for one-off generation and SDK references for application integration.\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 create ElevenLabs speech, dialogue, sound effects, and transcription outputs through RunAPI. It guides one-off CLI execution and points application integrations toward the RunAPI SDK.\n\n### Deployment Geography for Use:\n\nGlobal\n\n## Known Risks and Mitigations:\n\nRisk: Private prompts or media may be sent to RunAPI and ElevenLabs during generation or transcription.\n\nMitigation: Use the skill only for media intended for those services, and save downloaded outputs to a controlled directory.\n\nRisk: RunAPI credentials may be exposed if API keys are embedded in files or commands.\n\nMitigation: Prefer environment authentication or saved CLI configuration, keep API keys scoped, and avoid writing secrets into request files.\n\nRisk: Asynchronous generation can create paid tasks or incomplete deliverables if results are not verified.\n\nMitigation: Submit each task once, preserve task evidence, wait on the same task, and require non-empty outputs with the expected MIME type before reporting completion.\n\n## Reference(s):\n\n- [ClawHub skill page](https://clawhub.ai/runapi-ai/skills/runapi-elevenlabs)\n- [RunAPI ElevenLabs model overview](https://runapi.ai/models/elevenlabs)\n- [RunAPI ElevenLabs documentation](https://runapi.ai/models/elevenlabs.md)\n- [RunAPI ElevenLabs provider overview](https://runapi.ai/providers/elevenlabs.md)\n- [RunAPI model catalog](https://runapi.ai/models.md)\n- [RunAPI ElevenLabs SDK](https://github.com/runapi-ai/elevenlabs-sdk)\n\n## Skill Output:\n\n**Output Type(s):** [Guidance, Shell commands, Configuration, Code, Text, Files]\n\n**Output Format:** [Markdown guidance with shell commands, JSON request files, SDK references, and generated audio or transcription files as applicable]\n\n**Output Parameters:** [1D]\n\n**Other Properties Related to Output:** [Requires current RunAPI contract discovery, authenticated RunAPI access, and verification of every requested media deliverable before reporting completion.]\n\n## Skill Version(s):\n\n0.2.9 (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.2.8: 3 files, 3245 bytes\n\nFiles: skill-card.md (2486b), SKILL.md (4196b), _meta.json (136b)\n\nFile v0.2.8:SKILL.md\n\n---\nname: elevenlabs\ndescription: Generate speech, dialogue, and sound with ElevenLabs through RunAPI. Use when the user asks an agent to create speech, dialogue, or sound effects, or transcribe audio with ElevenLabs. 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/elevenlabs.md\nprovider_page: https://runapi.ai/providers/elevenlabs.md\ncatalog: https://runapi.ai/models.md\nmetadata:\n  openclaw:\n    homepage: https://runapi.ai/models/elevenlabs\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# ElevenLabs on RunAPI\n\nGenerate speech, dialogue, and sound with ElevenLabs through RunAPI. 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 ElevenLabs 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/elevenlabs`\n- Ruby: `runapi-elevenlabs`\n- Go: `github.com/runapi-ai/elevenlabs-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 elevenlabs --help\nrunapi elevenlabs text-to-speech --help\n```\n\nRun a one-off task (synchronous — polls until the task completes):\n\n```shell\nrunapi elevenlabs text-to-speech --input-file request.json\n```\n\nSubmit asynchronously and poll separately:\n\n```shell\nrunapi elevenlabs text-to-speech --async --input-file request.json\nrunapi wait <task-id> --service elevenlabs --action text-to-speech\n```\n\nAvailable commands: `text-to-speech`, `text-to-dialogue`, `text-to-sound`, `speech-to-text`, `isolate-audio`.\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/elevenlabs.md\n- Provider comparison: https://runapi.ai/providers/elevenlabs.md\n- Full model catalog: https://runapi.ai/models.md\n\n## Variants\n\n- [Turbo v2.5 text to speech](https://runapi.ai/models/elevenlabs/text-to-speech-turbo-v2.5.md)\n- [Multilingual v2 text to speech](https://runapi.ai/models/elevenlabs/text-to-speech-multilingual-v2.md)\n- [Dialogue v3](https://runapi.ai/models/elevenlabs/text-to-dialogue-v3.md)\n- [Sound effects v2](https://runapi.ai/models/elevenlabs/sound-effect-v2.md)\n- [Speech to text](https://runapi.ai/models/elevenlabs/speech-to-text.md)\n- [Audio isolation](https://runapi.ai/models/elevenlabs/audio-isolation.md)\n\nFile v0.2.8:_meta.json\n\n{\n  \"ownerId\": \"kn70me4rk7jqjt92evshjeb5z18768g7\",\n  \"slug\": \"runapi-elevenlabs\",\n  \"version\": \"0.2.8\",\n  \"publishedAt\": 1786370570921\n}\n\nFile v0.2.8:skill-card.md\n\n## Description:\n\nGenerate speech, dialogue, sound effects, and audio transcription with ElevenLabs 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 agents use this skill to create ElevenLabs speech, dialogue, sound effects, transcription, and audio isolation outputs through RunAPI. It supports one-off generation through the RunAPI CLI and application integration through RunAPI SDKs.\n\n### Deployment Geography for Use:\n\nGlobal\n\n## Known Risks and Mitigations:\n\nRisk: The skill can require RunAPI CLI authentication or an optional RunAPI API key for agent or headless execution.\n\nMitigation: Confirm RunAPI account and credential handling before installation, prefer environment or saved CLI auth, and avoid exposing RUNAPI_API_KEY in logs or shell history.\n\nRisk: Generated audio file URLs returned by RunAPI are temporary.\n\nMitigation: Download generated files promptly and move them to durable storage when the output must be retained.\n\nRisk: Using the CLI as a production runtime integration layer can create brittle application behavior.\n\nMitigation: Use the RunAPI SDK path for application, backend, worker, webhook, or production integration work.\n\n## Reference(s):\n\n- [RunAPI ElevenLabs model page](https://runapi.ai/models/elevenlabs)\n- [RunAPI ElevenLabs model documentation](https://runapi.ai/models/elevenlabs.md)\n- [RunAPI ElevenLabs provider comparison](https://runapi.ai/providers/elevenlabs.md)\n- [RunAPI model catalog](https://runapi.ai/models.md)\n- [ClawHub skill page](https://clawhub.ai/runapi-ai/skills/runapi-elevenlabs)\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 inline shell commands, SDK package names, and configuration notes]\n\n**Output Parameters:** [1D]\n\n**Other Properties Related to Output:** [May guide agents to produce or retrieve audio files through RunAPI; returned generated-file URLs are temporary.]\n\n## Skill Version(s):\n\n0.2.8 (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.2.4: 3 files, 2745 bytes\n\nFiles: skill-card.md (2456b), SKILL.md (3113b), _meta.json (136b)\n\nFile v0.2.4:SKILL.md\n\n---\nname: elevenlabs\ndescription: Generate speech, dialogue, and sound with ElevenLabs through RunAPI. Use when the user asks an agent to create speech, dialogue, or sound effects, or transcribe audio with ElevenLabs. 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/elevenlabs.md\nprovider_page: https://runapi.ai/providers/elevenlabs.md\ncatalog: https://runapi.ai/models.md\nmetadata:\n  openclaw:\n    homepage: https://runapi.ai/models/elevenlabs\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# ElevenLabs on RunAPI\n\nGenerate speech, dialogue, and sound with ElevenLabs 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 elevenlabs --help\nrunapi elevenlabs text-to-speech --help\n```\n\nRun a one-off task (synchronous — polls until the task completes):\n\n```shell\nrunapi elevenlabs text-to-speech --input-file request.json\n```\n\nSubmit asynchronously and poll separately:\n\n```shell\nrunapi elevenlabs text-to-speech --async --input-file request.json\nrunapi wait <task-id> --service elevenlabs --action text-to-speech\n```\n\nAvailable actions: `text-to-speech`, `text-to-dialogue`, `text-to-sound`, `speech-to-text`, `isolate-audio`.\n\n## SDK integration path\n\nWhen integrating ElevenLabs into an app, backend, worker, or library — not for one-off tasks — use a RunAPI SDK package:\n\n- JavaScript / TypeScript: `@runapi.ai/elevenlabs`\n- Ruby: `runapi-elevenlabs`\n- Go: `github.com/runapi-ai/elevenlabs-sdk/go`\n\n## References\n\n- Model overview, pricing, and rate limits: https://runapi.ai/models/elevenlabs.md\n- Provider comparison: https://runapi.ai/providers/elevenlabs.md\n- Full model catalog: https://runapi.ai/models.md\n\n## Variants\n\n- [Turbo v2.5 text to speech](https://runapi.ai/models/elevenlabs/text-to-speech-turbo-v2.5.md)\n- [Multilingual v2 text to speech](https://runapi.ai/models/elevenlabs/text-to-speech-multilingual-v2.md)\n- [Dialogue v3](https://runapi.ai/models/elevenlabs/text-to-dialogue-v3.md)\n- [Sound effects v2](https://runapi.ai/models/elevenlabs/sound-effect-v2.md)\n- [Speech to text](https://runapi.ai/models/elevenlabs/speech-to-text.md)\n- [Audio isolation](https://runapi.ai/models/elevenlabs/audio-isolation.md)\n\nFile v0.2.4:_meta.json\n\n{\n  \"ownerId\": \"kn70me4rk7jqjt92evshjeb5z18768g7\",\n  \"slug\": \"runapi-elevenlabs\",\n  \"version\": \"0.2.4\",\n  \"publishedAt\": 1779441229995\n}\n\nFile v0.2.4:skill-card.md\n\n## Description: <br>\nGenerate speech, dialogue, sound effects, transcriptions, and audio isolation with ElevenLabs through RunAPI, using the CLI for one-off tasks and SDKs for app or backend 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>\nExternal users, developers, and agents use this skill to create speech, dialogue, and sound effects, transcribe audio, or isolate audio through ElevenLabs on RunAPI. It supports one-off CLI workflows and SDK-based application integrations. <br>\n\n### Deployment Geography for Use: <br>\nGlobal <br>\n\n## Known Risks and Mitigations: <br>\nRisk: Requests are sent to cloud services through RunAPI and ElevenLabs and may use sensitive RunAPI credentials. <br>\nMitigation: Use this skill only for approved cloud audio tasks, review request files before execution, and protect RUNAPI_API_KEY or saved runapi login state as sensitive credentials. <br>\nRisk: Audio prompts or source files could contain secrets, regulated data, or confidential personal or business information. <br>\nMitigation: Avoid submitting secrets or regulated data unless the use case and provider handling are approved. <br>\n\n\n## Reference(s): <br>\n- [RunAPI ElevenLabs model homepage](https://runapi.ai/models/elevenlabs) <br>\n- [RunAPI ElevenLabs model overview, pricing, and rate limits](https://runapi.ai/models/elevenlabs.md) <br>\n- [RunAPI ElevenLabs provider comparison](https://runapi.ai/providers/elevenlabs.md) <br>\n- [RunAPI model catalog](https://runapi.ai/models.md) <br>\n- [ClawHub skill page](https://clawhub.ai/runapi-ai/runapi-elevenlabs) <br>\n\n\n## Skill Output: <br>\n**Output Type(s):** [guidance, markdown, shell commands, configuration, code] <br>\n**Output Format:** [Markdown with inline shell commands, request-file guidance, and SDK package references] <br>\n**Output Parameters:** [1D] <br>\n**Other Properties Related to Output:** [May reference RUNAPI_API_KEY or saved runapi login state for authentication.] <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>\n\nArchive v0.2.3: 2 files, 3792 bytes\n\nFiles: SKILL.md (7886b), _meta.json (136b)\n\nFile v0.2.3:SKILL.md\n\n---\nname: elevenlabs\ndescription: Generate and process audio (text-to-speech, multi-voice text-to-dialogue, text-to-sound, speech-to-text, isolate audio) through RunAPI.ai using the @runapi.ai/elevenlabs Node/TypeScript SDK. Use when the user asks to add text-to-speech, voice synthesis, speech-to-text, or text-to-sound, or writes against @runapi.ai/elevenlabs. Triggers on \"elevenlabs\", \"text to speech\", \"TTS\", \"语音合成\", \"speech-to-text\", \"转录\", \"text-to-sound\", \"@runapi.ai/elevenlabs\".\ndocumentation: https://runapi.ai/models/elevenlabs\nprovider_page: https://runapi.ai/providers/elevenlabs\ncatalog: https://runapi.ai/models\nmetadata:\n  openclaw:\n    homepage: https://runapi.ai/models/elevenlabs\n    primaryEnv: RUNAPI_API_KEY\n    requires:\n      env:\n      - RUNAPI_API_KEY\n    envVars:\n    - name: RUNAPI_API_KEY\n      required: true\n      description: RunAPI API key from https://runapi.ai/api_keys.\n---\n\n# @runapi.ai/elevenlabs — RunAPI.ai Elevenlabs audio generation\n\nBuild Node / TypeScript integrations that generate speech, text-to-dialogue, text-to-sound, speech-to-text, and isolated audio through RunAPI.ai.\n\n## Setup\n\nRequires **Node 18+** (global `fetch`).\n\n```bash\nnpm install @runapi.ai/elevenlabs\n```\n\nSet your API key in the environment:\n\n```dotenv\n# .env\nRUNAPI_API_KEY=runapi_xxx   # get one at https://runapi.ai/api_keys\n```\n\n```ts\nimport { ElevenlabsClient } from '@runapi.ai/elevenlabs';\n\n// The SDK reads RUNAPI_API_KEY from the environment automatically.\nconst client = new ElevenlabsClient();\n```\n\nPass `{ apiKey }` explicitly if you manage secrets differently. `baseUrl` defaults to `https://runapi.ai`; override only for local development.\n\n## Core recipe — text to speech\n\n```ts\nconst result = await client.textToSpeech.run({\n  model: 'text-to-speech-turbo-2-5',\n  text: 'Hello from RunAPI.',\n  voice: 'Rachel',\n});\n\nconst audioUrl = result.audios[0].url;\n```\n\n`run()` creates the task, auto-polls, and resolves only when the task completes — `audios[0].url` is guaranteed on the resolved value (for speech-to-text, `text` is guaranteed). On failure it throws `TaskFailedError`; on polling timeout it throws `TaskTimeoutError`. Use `run()` for scripts and short-lived processes. For request handlers, split it:\n\n```ts\nconst { id } = await client.textToSpeech.create({ model: 'text-to-speech-turbo-2-5', text: '...', voice: 'Rachel' });\n// return 202 immediately; fetch later:\nconst status = await client.textToSpeech.get(id);\nif (status.status === 'completed') { /* ... */ }\n```\n\nDo not hold a web worker open waiting on `run()`. Split + webhook is the production pattern.\n\n`run()` polls every 2 s for up to 15 min by default. Tune when needed:\n\n```ts\nawait client.textToSpeech.run(params, { maxWaitMs: 2 * 60_000, pollIntervalMs: 1_000 });\n```\n\nIf `TaskTimeoutError` fires, the task is still running server-side — resume with `<resource>.get(id)` or finish via webhook.\n\n## Multi-voice dialogue\n\nSequence lines with per-line `voice`:\n\n```ts\nconst dialogue = await client.textToDialogue.run({\n  dialogue: [\n    { voice: 'Rachel', text: 'So what did you think?' },\n    { voice: 'Adam',   text: 'Honestly, it was incredible.' },\n  ],\n  stability: 0.5,\n  language_code: 'en',\n});\n\nconsole.log(dialogue.audios[0].url);\n```\n\n## Sound effects\n\n```ts\nconst fx = await client.textToSound.run({\n  text: 'Thunderclap followed by rain on a tin roof',\n  duration_seconds: 6,\n  loop: false,\n  output_format: 'mp3_44100_128',\n});\n```\n\n## Speech to Text (audio in → text out)\n\n```ts\nconst t = await client.speechToText.run({\n  audio_url: 'https://cdn.example.com/meeting.mp3',\n  diarize: true,\n  tag_audio_events: true,\n  language_code: 'en',\n});\n\nconsole.log(t.text);\n```\n\n## Audio isolation (remove background noise)\n\n```ts\nconst isolated = await client.isolateAudio.run({\n  audio_url: 'https://cdn.example.com/noisy.mp3',\n});\n\nconsole.log(isolated.audios[0].url);\n```\n\n## Models\n\n| Resource | `model` values |\n|---|---|\n| `textToSpeech` | `text-to-speech-turbo-2-5`, `text-to-speech-multilingual-v2` |\n| `textToDialogue` | — (no `model` field; server picks the engine) |\n| `textToSound` | — |\n| `speechToText` | — |\n| `isolateAudio` | — |\n\nPick the turbo model for the lowest latency; pick multilingual v2 for non-English voices. `voice` accepts Elevenlabs voice IDs or named voices (e.g. `'Rachel'`, `'Adam'`).\n\nExact credit costs are shown at https://runapi.ai/pricing and in the dashboard — do not hardcode prices in application code.\n\n## Callbacks (webhooks)\n\nPass `callback_url` on `create()` (or any `run()` call) and RunAPI will POST the final payload to you:\n\n```ts\nawait client.textToSpeech.create({\n  model: 'text-to-speech-turbo-2-5',\n  text: '...',\n  voice: 'Rachel',\n  callback_url: 'https://your.app/webhooks/runapi/elevenlabs',\n});\n```\n\nPayload shape (audio resources):\n\n```ts\n{ id: string; status: 'completed' | 'failed'; audios?: { url: string }[]; error?: string }\n```\n\nSpeechToText return `text: string` instead of `audios`.\n\n**Always verify the signature before trusting the body.** RunAPI signs every callback with your account's Callback Secret (rotate at `/accounts/callback_secret`). Headers:\n\n- `X-Callback-Id` — UUID, store to make handler idempotent\n- `X-Callback-Timestamp` — unix seconds, reject if `|now - ts| > 300`\n- `X-Callback-Signature` — base64 HMAC-SHA256 over `` `${id}.${ts}.${rawBody}` `` using the base64-decoded secret\n\n```ts\nimport crypto from 'node:crypto';\n\nfunction verify(raw: string, id: string, ts: string, sig: string, secret: string) {\n  const key = Buffer.from(secret, 'base64');\n  const mac = crypto.createHmac('sha256', key)\n    .update(`${id}.${ts}.${raw}`)\n    .digest('base64');\n  return crypto.timingSafeEqual(Buffer.from(mac), Buffer.from(sig));\n}\n```\n\nReply `2xx` within 10s; any non-2xx triggers retries.\n\n## Errors\n\nAll errors are re-exported from `@runapi.ai/core`. Always `instanceof` — never string-match messages.\n\n| Error | Status | Action |\n|---|---|---|\n| `AuthenticationError` | 401 | abort; surface \"reconnect your API key\" |\n| `InsufficientCreditsError` | 402 | prompt user to top up at runapi.ai/billing |\n| `ValidationError` | 400 / 422 | fix params; do not retry |\n| `RateLimitError` | 429 | sleep `err.retryAfterMs`, then retry |\n| `ServiceUnavailableError` | 503 / 455 | retry with backoff; transient service issue |\n| `TaskFailedError` | — | show `err.details` to user; do not auto-retry |\n| `TaskTimeoutError` | — | re-poll with `<resource>.get(id)` |\n\n```ts\nimport { InsufficientCreditsError, TaskFailedError } from '@runapi.ai/elevenlabs';\n\ntry {\n  await client.textToSpeech.run({ model: 'text-to-speech-turbo-2-5', text: '...', voice: 'Rachel' });\n} catch (err) {\n  if (err instanceof InsufficientCreditsError) { /* surface top-up CTA */ }\n  else if (err instanceof TaskFailedError)       { /* show err.details */ }\n  else throw err;\n}\n```\n\n## Gotchas\n\n- `textToSpeech` requires `model`; `textToDialogue`, `textToSound`, `speechToText`, and `isolateAudio` do not take a `model` field.\n- `textToDialogue` is an array of `{ voice, text }` lines — voice is per-line, not per-request.\n- `text-to-dialogue.stability` is a fixed enum: `0`, `0.5`, or `1`.\n- `speechToText.run()` returns `{ text }`, not `{ audios }` — the response shape is different from the other resources.\n- `output_format` on `textToSound` covers a wide codec/bitrate matrix (`mp3_*`, `pcm_*`, `ulaw_8000`, `alaw_8000`, `opus_*`) — pick one from the type union, do not invent strings.\n- `callback_url` must be reachable from the public internet. `localhost` / `127.0.0.1` URLs will never fire — use a tunnel (cloudflared, ngrok, tailscale funnel) when developing locally.\n\n## Dig deeper\n\nPackage README (full API surface, all params): `node_modules/@runapi.ai/elevenlabs/README.md`. Types: `@runapi.ai/elevenlabs/dist/types.d.ts`. Product docs: https://runapi.ai/docs.\n\nFile v0.2.3:_meta.json\n\n{\n  \"ownerId\": \"kn70me4rk7jqjt92evshjeb5z18768g7\",\n  \"slug\": \"runapi-elevenlabs\",\n  \"version\": \"0.2.3\",\n  \"publishedAt\": 1779433577620\n}","readmeExcerpt":"Skill: elevenlabs Owner: runapi-ai Summary: Generate speech, dialogue, and sound with ElevenLabs through RunAPI. Use when the user asks an agent to create speech, dialogue, or sound effects, or transcribe audio with ElevenLabs. Default to the RunAPI CLI for one-off generation; use SDKs only when the user is integrating RunAPI into an app or backend. Tags: latest:0.2.9 Version history: v0.2.9 | 2026-08-12T06:04:07.289","codeSnippets":[],"executableExamples":[{"language":"shell","snippet":"curl --fail --location https://runapi.ai/docs/api/elevenlabs/<operation>.md --output contract.md"},{"language":"shell","snippet":"runapi auth status > auth.json\njq -e '.authenticated == true' auth.json\nrunapi elevenlabs --help\nrunapi elevenlabs <operation> --help\ncurl --fail --location https://runapi.ai/docs/api/elevenlabs/<operation>.md --output contract.md"},{"language":"shell","snippet":"jq empty request.json"},{"language":"shell","snippet":"runapi elevenlabs <operation> --async --input-file request.json > task.json\ntask_id=\"$(jq -er '.id' task.json)\""},{"language":"shell","snippet":"runapi wait \"$task_id\" --service elevenlabs --action <operation> > result.json"},{"language":"shell","snippet":"curl --fail --location <deliverable-url> --output <downloaded-file>"}],"parameters":null,"dependencies":[],"permissions":[],"extractedFiles":[{"path":"SKILL.md","content":"---\nname: elevenlabs\ndescription: \"Generate speech, dialogue, and sound with ElevenLabs through RunAPI. Use when the user asks an agent to create speech, dialogue, or sound effects, or transcribe audio with ElevenLabs. 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/elevenlabs.md\nprovider_page: https://runapi.ai/providers/elevenlabs.md\ncatalog: https://runapi.ai/models.md\nmetadata:\n  openclaw:\n    homepage: https://runapi.ai/models/elevenlabs\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# ElevenLabs on RunAPI\n\n## Choose route\n\n- For a one-off artifact or result, use the registered `elevenlabs` 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 elevenlabs --help\nrunapi elevenlabs <operation> --help\ncurl --fail --location https://runapi.ai/docs/api/elevenlabs/<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\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 `re"},{"path":"_meta.json","content":"{\n  \"ownerId\": \"kn70me4rk7jqjt92evshjeb5z18768g7\",\n  \"slug\": \"runapi-elevenlabs\",\n  \"version\": \"0.2.9\",\n  \"publishedAt\": 1786514647289\n}"},{"path":"skill-card.md","content":"## Description:\n\nGenerate speech, dialogue, and sound with ElevenLabs through RunAPI, or transcribe audio with ElevenLabs, using the RunAPI CLI for one-off generation and SDK references for application integration.\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 create ElevenLabs speech, dialogue, sound effects, and transcription outputs through RunAPI. It guides one-off CLI execution and points application integrations toward the RunAPI SDK.\n\n### Deployment Geography for Use:\n\nGlobal\n\n## Known Risks and Mitigations:\n\nRisk: Private prompts or media may be sent to RunAPI and ElevenLabs during generation or transcription.\n\nMitigation: Use the skill only for media intended for those services, and save downloaded outputs to a controlled directory.\n\nRisk: RunAPI credentials may be exposed if API keys are embedded in files or commands.\n\nMitigation: Prefer environment authentication or saved CLI configuration, keep API keys scoped, and avoid writing secrets into request files.\n\nRisk: Asynchronous generation can create paid tasks or incomplete deliverables if results are not verified.\n\nMitigation: Submit each task once, preserve task evidence, wait on the same task, and require non-empty outputs with the expected MIME type before reporting completion.\n\n## Reference(s):\n\n- [ClawHub skill page](https://clawhub.ai/runapi-ai/skills/runapi-elevenlabs)\n- [RunAPI ElevenLabs model overview](https://runapi.ai/models/elevenlabs)\n- [RunAPI ElevenLabs documentation](https://runapi.ai/models/elevenlabs.md)\n- [RunAPI ElevenLabs provider overview](https://runapi.ai/providers/elevenlabs.md)\n- [RunAPI model catalog](https://runapi.ai/models.md)\n- [RunAPI ElevenLabs SDK](https://github.com/runapi-ai/elevenlabs-sdk)\n\n## Skill Output:\n\n**Output Type(s):** [Guidance, Shell commands, Configuration, Code, Text, Files]\n\n**Output Format:** [Markdown guidance with shell commands, JSON request files, SDK references, and generated audio or transcription files as applicable]\n\n**Output Parameters:** [1D]\n\n**Other Properties Related to Output:** [Requires current RunAPI contract discovery, authenticated RunAPI access, and verification of every requested media deliverable before reporting completion.]\n\n## Skill Version(s):\n\n0.2.9 (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."}],"languages":[],"docsSourceLabel":"CLAWHUB","editorialOverview":"Generate speech, dialogue, and sound with ElevenLabs through RunAPI. Use when the user asks an agent to create speech, dialogue, or sound effects, or transcribe audio with ElevenLabs. Default to the RunAPI CLI for one-off generation; use SDKs only when the user is integrating RunAPI into an app or backend. Skill: elevenlabs Owner: runapi-ai Summary: Generate speech, dialogue, and sound with ElevenLabs through RunAPI. Use when the user asks an agent to create speech, dialogue, or sound effects, or transcribe audio with ElevenLabs. Default to the RunAPI CLI for one-off generation; use SDKs only when the user is integrating RunAPI into an app or backend. Tags: latest:0.2.9 Version history: v0.2.9 | 2026-08-12T06:04:07.289","editorialQuality":{"score":100,"threshold":65,"status":"ready","wordCount":1177,"uniquenessScore":48,"reasons":[]}},"media":{"evidence":{"source":"no-media","verified":false,"confidence":"low","updatedAt":"2026-10-11T15:39:36.106Z","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-11T15:39:36.106Z","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-11T17:41:50.854Z","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"}]}}}