Upload audio to AIOZ Stream

Polar Sponsor
爱发电 赞助
.NET 9.0

快速上传音频至 AIOZ Stream API。支持默认或自定义编码配置创建音频对象,上传文件并完成处理后返回音频链接。

AIOZ Stream Audio上传

功能概述

AIOZ Stream Audio上传是一项面向实际任务的技能,主要用于用 API 密钥认证快速将音频上传到 AIOZ Stream API;完整上传流程需要 3 API 呼叫: 创建 → 上传 Part → 完成;

核心要点

  • 当使用此技能时。
  • 它将相关步骤、工具调用和结果整理方式集中到统一流程中,帮助使用者更快完成目标并减少重复操作。
  • 使用时应结合输入条件选择合适的执行方式,核对必要参数、依赖环境与输出内容,并按原始要求处理异常情况。

使用与执行

该技能适合需要稳定复用相关能力的场景,可作为自动化工作流的一部分,也便于后续检查、调整和扩展。从功能定位来看,该技能强调把分散的操作要求整理成清晰、可复用的处理流程,使用户能够围绕既定目标快速准备输入、选择执行方式并获得结构化结果。实际使用前应先确认任务范围、数据来源、运行环境、必要权限和关键参数,再依据技能说明逐步执行;

结果检查与注意事项

若输入条件不完整,应先补齐信息或采用保守配置,避免因错误假设导致结果偏离需求。执行过程中需要关注工具调用是否成功、接口或依赖是否可用、输出格式是否符合预期,并对异常提示、缺失字段和边界情况进行处理;涉及批量任务时,还应保存进度,避免中断后重复操作。

AIOZ Stream 音频上传

使用 API 密钥认证,快速将音频上传至 AIOZ Stream API。完整上传流程需调用 3 个 API:创建 → 上传分片 → 完成。

适用场景

  • 用户希望在 AIOZ Stream 上上传或创建音频
  • 用户提及“上传音频”、“创建音频”、“aioz stream 音频”等关键词
  • 用户希望获取其音频的 HLS 流媒体链接

认证方式

本技能采用 API 密钥认证。用户必须提供以下两项:

  • stream-public-key:用户的 AIOZ Stream 公钥
  • stream-secret-key:用户的 AIOZ Stream 密钥

若用户未提供上述密钥,请主动向其索取。这些密钥将在所有 API 请求中作为 HTTP Header 发送。

使用选项

当用户希望上传音频时,请引导其选择以下任一方式:

选项 1:默认上传(快捷)

以最小化配置创建音频对象——仅需指定标题,随后上传文件。

示例用户输入:

“上传音频文件 /path/to/audio.mp3,标题为 My Podcast”

选项 2:自定义上传(高级)

以完整编码配置创建音频对象,支持质量预设、码率、采样率、标签、元数据等参数,随后上传文件。

示例用户输入:

“上传音频并应用自定义配置:标题 My Podcast,最高质量 HLS,320kbps,48000Hz,标签 podcast,tech”

完整上传流程(三步)

步骤 1:创建音频对象

默认配置:

curl -s -X POST 'https://api-w3stream.attoaioz.cyou/api/videos/create' 
  -H 'stream-public-key: PUBLIC_KEY' 
  -H 'stream-secret-key: SECRET_KEY' 
  -H 'Content-Type: application/json' 
  -d '{
    "title": "AUDIO_TITLE",
    "type": "audio"
  }'

自定义配置(含编码参数):

curl -s -X POST 'https://api-w3stream.attoaioz.cyou/api/videos/create' 
  -H 'stream-public-key: PUBLIC_KEY' 
  -H 'stream-secret-key: SECRET_KEY' 
  -H 'Content-Type: application/json' 
  -d '{
    "title": "AUDIO_TITLE",
    "type": "audio",
    "description": "DESCRIPTION",
    "is_public": true,
    "tags": ["tag1", "tag2"],
    "metadata": [
      {"key": "KEY", "value": "VALUE"}
    ],
    "qualities": [
      {
        "resolution": "highest",
        "type": "hls",
        "container_type": "mpegts",
        "audio_config": {
          "codec": "aac",
          "bitrate": 320000,
          "channels": "2",
          "sample_rate": 48000,
          "language": "en",
          "index": 0
        }
      },
      {
        "resolution": "standard",
        "type": "hls",
        "container_type": "mpegts",
        "audio_config": {
          "codec": "aac",
          "bitrate": 128000,
          "channels": "2",
          "sample_rate": 44100,
          "language": "en",
          "index": 0
        }
      }
    ]
  }'

响应处理:提取 data.id 字段值——该值即为后续步骤中使用的 AUDIO_ID

步骤 2:上传文件分片

将实际音频文件的二进制内容上传至已创建的音频对象。

首先,获取文件大小并计算 MD5 哈希值:

# 获取文件大小(跨平台兼容)
FILE_SIZE=$(stat -f%z /path/to/audio.mp3 2>/dev/null || stat -c%s /path/to/audio.mp3)
END_POS=$((FILE_SIZE - 1))

# 计算 MD5 哈希值
HASH=$(md5sum /path/to/audio.mp3 | awk '{print $1}')

然后通过 multipart form-data 方式上传,并携带 Content-Range Header:

curl -s -X POST "https://api-w3stream.attoaioz.cyou/api/videos/AUDIO_ID/part" 
  -H 'stream-public-key: PUBLIC_KEY' 
  -H 'stream-secret-key: SECRET_KEY' 
  -H "Content-Range: bytes 0-$END_POS/$FILE_SIZE" 
  -F "file=@/path/to/audio.mp3" 
  -F "index=0" 
  -F "hash=$HASH"

重要说明:Content-Range Header 是上传成功的必要条件。格式为:bytes {start}-{end}/{total_size},其中:

  • 单分片上传时:start=0end=file_size-1total_size=file_size
  • 多分片上传时:需为每个分片分别设置对应的 startend

form-data 字段说明:

  • file:音频文件二进制内容(使用 @/path/to/file 语法)
  • index:0(单分片上传时固定为 0;多分片上传时按顺序递增)
  • hash:该分片文件的 MD5 哈希值

步骤 3:完成上传

文件分片上传成功后,调用完成接口以最终确认上传:

curl -s -X GET "https://api-w3stream.attoaioz.cyou/api/videos/AUDIO_ID/complete" 
  -H 'accept: application/json' 
  -H 'stream-public-key: PUBLIC_KEY' 
  -H 'stream-secret-key: SECRET_KEY'

此操作将触发转码任务。此时上传流程即视为成功。

上传完成后 — 获取音频链接

完成上传后,调用详情接口获取流媒体 URL:

curl -s 'https://api-w3stream.attoaioz.cyou/api/videos/AUDIO_ID' 
  -H 'stream-public-key: PUBLIC_KEY' 
  -H 'stream-secret-key: SECRET_KEY'

解析响应体,在 assetshls 字段中提取 HLS URL 并返回给用户。

重要说明:音频输出不包含 mp4_url 字段,仅提供 HLS/DASH 流媒体链接。

自定义上传配置参考

质量预设(resolution 字段):

  • standard — 标准质量
  • good — 良好质量
  • highest — 最高质量
  • lossless — 无损质量

流媒体格式(type 字段):

  • hls — HTTP Live Streaming(容器格式:mpegtsmp4
  • dash — Dynamic Adaptive Streaming(容器格式:fmp4

音频编码配置:

  • codecaac(唯一支持的编码器)
  • bitrate:整型数值,单位为 bit/sec(例如:128000、256000、320000)
  • channels:"2"(立体声)
  • sample_rate:8000、11025、16000、22050、32000、44100、48000、88200、96000
  • language:BCP 47 语言代码(例如:envi
  • index:0

推荐码率:

  • 播客/人声:64000 – 128000 bps
  • 音乐标准:128000 – 192000 bps
  • 音乐高质:192000 – 256000 bps
  • 音乐最高:256000 – 320000 bps

推荐采样率:

  • 人声:22050 或 32000
  • 音乐:44100 或 48000

响应处理流程

  1. 解析创建接口的 JSON 响应 → 提取 data.id
  2. 计算音频文件的 MD5 哈希值
  3. 携带哈希值上传文件分片
  4. 调用完成接口
  5. 获取音频详情 → 提取流媒体 URL
  6. 将音频链接返回给用户
  7. 若音频仍处于转码中(status: transcoding),提示用户当前状态,并建议稍后重试查询

错误处理

  • 401:API 密钥无效 — 提示用户检查公钥与密钥是否正确
  • 400:请求格式错误 — 检查请求体结构是否符合要求
  • 500:服务端错误 — 建议用户稍后重试

示例交互流程

  1. 用户:“将我的音频上传到 AIOZ Stream”
  2. 若尚未获知 API 密钥,则向用户索取(公钥 + 密钥)
  3. 向用户索取音频文件路径
  4. 询问:“请选择上传方式:默认上传(快捷)还是自定义配置?”
    • 若选默认:仅需用户提供标题
    • 若选自定义:进一步收集标题、质量预设、码率、采样率、标签等参数
  5. 步骤 1: 创建音频对象 → 获取 AUDIO_ID
  6. 步骤 2: 计算文件哈希值,上传文件分片
  7. 步骤 3: 调用完成接口
  8. 获取音频详情 → 向用户返回流媒体 URL

相关专题

更多
Aionclaw智能助手介绍
Aionclaw智能助手介绍

本专题汇总了AionClaw(AI龙虾助手)的功能介绍与在线使用入口。AionClaw是杭州趣猿人工智能有限公司推出的桌面级AI智能体,能直接在电脑上读写文件、运行脚本、操作浏览器,自动交付Word、PPT、Excel等成品。

2026.09.20

0

13

AionClaw AI智能体与电脑自动化任务执行功能使用教程
AionClaw AI智能体与电脑自动化任务执行功能使用教程

AionClaw专题整理AI智能体与电脑自动化相关功能使用教程,涵盖安装部署、AI任务执行、Skills技能、文件处理、浏览器控制、电脑操作、持久记忆、聊天工具连接以及办公、编程和内容创作等功能,帮助用户快速掌握AionClaw的实际使用方法。

2026.09.20

0

15

AI视频生成软件推荐
AI视频生成软件推荐

本专题汇总了当前主流的AI视频生成软件推荐与排行榜单,涵盖seko、AniShort、剧云、Lovart、LiblibAI及立刻mv等热门工具。同时整理了各软件在文生视频、图生视频、时长限制、画质表现及免费额度等方面的差异对比,助您快速选对适合创作需求的AI视频生成工具。

2026.09.16

0

9

ai生成视频的工具免费版合集
ai生成视频的工具免费版合集

本专题汇总了当前免费AI生成视频工具的排行榜与推荐清单,涵盖seko、讯飞智作、AniShort及剧云、Lovart等多模型集成平台。同时整理了各工具的免费额度、输出时长、水印政策及适用场景差异,助您快速选择合适工具开启AI视频创作。

2026.09.16

0

10

Pandas时间序列分析与可视化报表
Pandas时间序列分析与可视化报表

本专题整理Pandas日期转换、时间索引、重采样、滚动窗口、时区处理、plot绘图、Styler表格样式和报表输出方法。

2026.09.16

0

23

Pandas数据筛选索引与清洗处理
Pandas数据筛选索引与清洗处理

本专题整理Pandas中的loc、iloc、条件筛选、query查询、缺失值处理、重复值删除、类型转换和字符串列清洗方法。

2026.09.16

0

25

Pandas数据读取导入与文件导出处理
Pandas数据读取导入与文件导出处理

本专题整理Pandas读取CSV、Excel、JSON、SQL、Parquet等文件的方法,以及to_csv、to_excel、to_sql和to_parquet等常用数据导出流程。

2026.09.16

0

27

GDB怎么设置断点
GDB怎么设置断点

本专题介绍GDB按照函数名、源代码行号和文件位置设置断点的方法,详细说明run、continue、next、step等命令的配合使用,帮助定位程序崩溃、逻辑异常及代码未按预期执行的问题。

2026.09.11

0

28

GDB怎么查看变量值
GDB怎么查看变量值

本专题介绍GDB调试过程中查看变量值的具体方法,涵盖局部变量、函数参数、数组、结构体和指针内容查询,同时整理变量持续显示、格式化输出及无法读取变量时的排查思路。

2026.09.11

0

22

热门下载

更多
网站特效
/
网站源码
/
网站素材
/
前端模板

精品课程

更多
相关推荐
/
热门推荐
/
最新课程
CentOS 官方文档
CentOS 官方文档

共0课时 | 0人学习

极客学院Java8新特性视频教程
极客学院Java8新特性视频教程

共17课时 | 4.2万人学习