← Back to Skills Marketplace
day253

Volcengine TTS to TOS Agent

by day253 · GitHub ↗ · v1.0.0
cross-platform ⚠ suspicious
322
Downloads
0
Stars
0
Active Installs
1
Versions
Install in OpenClaw
/install day253-volcengine-agent-tts-to-tos
Description
Combined agent that synthesizes speech via Volcengine TTS, uploads the audio to TOS, and returns a presigned temporary URL. Use when users need a shareable a...
README (SKILL.md)

Category: agent

TTS → TOS → Presigned URL Agent

一步完成:文本 → 语音合成 → 上传对象存储 → 生成临时访问链接。

Workflow

┌──────────┐     ┌──────────────┐     ┌──────────────┐     ┌──────────────┐
│  输入文本  │ ──▶ │  TTS 语音合成  │ ──▶ │  上传到 TOS   │ ──▶ │ 生成预签名 URL │
└──────────┘     └──────────────┘     └──────────────┘     └──────────────┘
                   audio bytes           tos://bucket/key       https://...
  1. 调用火山引擎 TTS HTTP API 合成音频(mp3/wav)
  2. 将音频上传到指定 TOS 桶
  3. 生成带有效期的预签名 URL
  4. 输出完整结果(本地路径 + TOS 路径 + 临时链接)

Prerequisites

  • pip install requests tos
  • TTS 环境变量:VOLCENGINE_TTS_APP_ID, VOLCENGINE_TTS_TOKEN, VOLCENGINE_TTS_CLUSTER
  • TOS 环境变量:VOLCENGINE_ACCESS_KEY, VOLCENGINE_SECRET_KEY, VOLCENGINE_TOS_ENDPOINT, VOLCENGINE_TOS_REGION

Quick start

# 基本用法:文本 + 目标桶
python agents/tts-to-tos/scripts/tts_to_tos.py \
  --text "你好,这是一段测试语音" \
  --bucket my-bucket

# 完整参数
python agents/tts-to-tos/scripts/tts_to_tos.py \
  --text "欢迎使用火山引擎语音合成服务" \
  --voice-type BV700_streaming \
  --encoding mp3 \
  --bucket my-bucket \
  --key-prefix audio/tts/ \
  --expires 7200 \
  --print-json

Parameters

参数 必填 默认值 说明
--text 要合成的文本
--bucket TOS 目标桶名
--voice-type BV700_streaming 音色
--encoding mp3 音频格式 mp3/wav/pcm
--speed-ratio 1.0 语速 [0.2, 3]
--volume-ratio 1.0 音量 [0.1, 3]
--pitch-ratio 1.0 音高 [0.1, 3]
--language 语言,如 cn
--key-prefix tts/ TOS 对象键前缀
--expires 3600 预签名 URL 有效期(秒)
--keep-local false 保留本地临时音频文件
--print-json false 输出 JSON 格式结果

Output

{
  "text": "你好,这是一段测试语音",
  "voice_type": "BV700_streaming",
  "duration_ms": "2150",
  "tos_bucket": "my-bucket",
  "tos_key": "tts/20260308-143025-a1b2c3d4.mp3",
  "presigned_url": "https://my-bucket.tos-cn-beijing.volces.com/tts/...",
  "expires_seconds": 3600,
  "audio_size": 34560
}

Safety

  • 不执行任何删除操作
  • 本地临时文件默认自动清理(除非 --keep-local
  • 预签名 URL 有效期可控,默认 1 小时

References

  • TTS skill: skills/ai/audio/volcengine-ai-audio-tts/SKILL.md
  • TOS skill: skills/storage/tos/volcengine-storage-tos/SKILL.md
Usage Guidance
This package largely does what it says (synthesize TTS, upload to TOS, return a presigned URL), but there are two practical concerns you should address before installing: (1) metadata inconsistency — the registry says no env vars required but the script needs multiple Volcengine keys/tokens; verify you are comfortable providing those credentials and that the registry/package owner is trusted; (2) the script automatically loads .env files from your working directory and repository root, which can cause it to pick up unrelated secrets. Run it in an isolated environment (ephemeral VM or container), verify or sanitize any .env files, and supply least-privilege credentials (dedicated TOS bucket policy and short presigned expiry). Also review/confirm the source of the 'tos' Python package (where it is installed from) and test with non-production credentials first. If you need higher assurance, ask the publisher to correct the registry metadata to list required env vars and to expose an option to disable automatic .env loading.
Capability Analysis
Type: OpenClaw Skill Name: day253-volcengine-agent-tts-to-tos Version: 1.0.0 The skill provides a legitimate utility for synthesizing speech using Volcengine TTS and uploading the resulting audio to Volcengine Object Storage (TOS). The Python script (scripts/tts_to_tos.py) follows the documented workflow, using official SDKs and API endpoints (openspeech.bytedance.com) with standard environment variable authentication, and contains no evidence of malicious intent, data exfiltration, or unauthorized execution.
Capability Assessment
Purpose & Capability
The code and SKILL.md implement Volcengine TTS → upload to Volcengine Object Storage (TOS) → presigned URL, which matches the name/description. However the registry metadata claims no required environment variables or primary credential, while both SKILL.md and the script require multiple Volcengine TTS and TOS credentials (VOLCENGINE_TTS_APP_ID, VOLCENGINE_TTS_TOKEN, VOLCENGINE_TTS_CLUSTER, VOLCENGINE_ACCESS_KEY, VOLCENGINE_SECRET_KEY, VOLCENGINE_TOS_ENDPOINT, VOLCENGINE_TOS_REGION). This metadata mismatch is an incoherence that users should not ignore.
Instruction Scope
The SKILL.md instructions stay within the stated pipeline, but the included script loads .env files from the current working directory and from the repository root (it walks upward to a .git root). That behavior can cause the tool to read and use unrelated secrets stored in .env files without explicit prompting. The script also issues network calls (TTS HTTP API and TOS SDK) as expected for its purpose; no unexplained external endpoints were found beyond the Volcengine TTS endpoint and the configured TOS endpoint.
Install Mechanism
There is no install spec (instruction-only skill with an included script). Dependencies are standard Python packages (requests and a tos SDK) and SKILL.md documents pip install requests tos. No arbitrary archive downloads or non-standard install locations were present in the files reviewed.
Credentials
The environment variables required by the script are proportional to the stated functionality (TTS and TOS credentials). However, the registry metadata incorrectly lists no required env vars. Additionally, the script's .env loading behavior can import any key/value from .env files found on disk, which increases the chance that unrelated secrets (e.g., other service keys) will be used by the process. The number and naming of variables requested (ACCESS_KEY, SECRET_KEY, TOKEN, etc.) are expected for this integration but should be explicitly declared by the package registry.
Persistence & Privilege
The skill does not request permanent system-wide presence (always:false). It does not modify other skills or system-wide settings. It can be invoked autonomously by the agent (default), which is normal for skills; there is no evidence of privileged persistence or modification of other agents' configurations.
How to Use
  1. Make sure OpenClaw is installed (local or Docker)
  2. Run the install command in chat: /install day253-volcengine-agent-tts-to-tos
  3. After installation, invoke the skill by name or use /day253-volcengine-agent-tts-to-tos
  4. Provide required inputs per the skill's parameter spec and get structured output
Version History
v1.0.0
Initial release: TTS synthesis → TOS upload → presigned URL pipeline
Metadata
Slug day253-volcengine-agent-tts-to-tos
Version 1.0.0
License
All-time Installs 0
Active Installs 0
Total Versions 1
Frequently Asked Questions

What is Volcengine TTS to TOS Agent?

Combined agent that synthesizes speech via Volcengine TTS, uploads the audio to TOS, and returns a presigned temporary URL. Use when users need a shareable a... It is an AI Agent Skill for Claude Code / OpenClaw, with 322 downloads so far.

How do I install Volcengine TTS to TOS Agent?

Run "/install day253-volcengine-agent-tts-to-tos" in the OpenClaw or Claude Code chat to install it in one step — no extra setup required.

Is Volcengine TTS to TOS Agent free?

Yes, Volcengine TTS to TOS Agent is completely free (open-source). You can download, install and use it at no cost.

Which platforms does Volcengine TTS to TOS Agent support?

Volcengine TTS to TOS Agent is cross-platform and runs anywhere OpenClaw / Claude Code is available (cross-platform).

Who created Volcengine TTS to TOS Agent?

It is built and maintained by day253 (@day253); the current version is v1.0.0.

💬 Comments