---
title: "代理并实时转码外部音频"
method: GET
path: "/proxy/transcode"
tags: ["资源代理"]
---

# 代理并实时转码外部音频

`GET /proxy/transcode`

服务端拉取远程音频 URL，经 ffmpeg 实时转码为 mp3（CBR 320k）后流式返回。用于「不入库直接播放」场景下，外部搜索源返回 webm/opus 等音箱无法解码的直链：客户端把该端点 URL 推给音箱即可播放。复用 /settings/proxy-private-allowlist 做 SSRF 防护；不落盘、不入库、不缓存。ffmpeg 直拉远程 URL，低首字节延迟；并发与 seek/均衡流共享 cap=4，满则 503。ffmpeg 缺失或上游不可解码时返回 503。

## Query parameters

- `url` string, required
- `format` 'mp3'
- `bitrate` integer
- `duration` number
- `user_agent` string
- `referer` string

## Response `200`

转码后的 mp3 音频流

## Other responses

- `400` — 缺少 url 或 URL 无效
- `403` — 域名不在白名单
- `503` — 转码服务未配置 / 并发已满 / ffmpeg 缺失或上游不可解码

---

[API](https://skmtc.net/songloft-org/apis/songloft-api.md) · [All operations](https://skmtc.net/songloft-org/apis/songloft-api/llms.txt) · [OpenAPI document](https://skmtc-service-staging.skmtc.workers.dev/v1/apis/songloft-org/songloft-api/revisions/897812b0796a/schema)
