开发者 API 目前仍处于 Beta 阶段,接口可能随时调整,现阶段更适合个人测试与体验,暂不建议用于生产环境。
在线测试
使用AI克隆任何声音 - 上传参考音频即可从文本生成自然语音。
POST /api/v1/voice-clone/submit → /queryAPI 仅向订阅用户开放。网站和 API 共用同一订阅积分余额。
查看订阅方案必填请求参数。请遵循表格所示的类型和可接受值。
必填请求参数。请遵循表格所示的类型和可接受值。
#!/usr/bin/env bash
set -euo pipefail
SUBMIT_RESPONSE="$(curl --fail-with-body --silent --show-error -X POST "https://vidmage.ai/api/v1/voice-clone/submit" \
-H "Authorization: Bearer ${VIDMAGE_API_KEY}" \
-H "Content-Type: application/json" \
--data-raw '{
"audioUrl": "https://vidmage.ai/templates/voices/alice.mp3",
"textContent": "Welcome to VidMage."
}')"
TASK_ID="$(printf '%s' "$SUBMIT_RESPONSE" | jq -er '.["taskId"]')"
while true; do
QUERY_RESPONSE="$(curl --fail-with-body --silent --show-error -X POST "https://vidmage.ai/api/v1/voice-clone/query" \
-H "Authorization: Bearer ${VIDMAGE_API_KEY}" \
-H "Content-Type: application/json" \
--data-raw "{\"taskId\":\"${TASK_ID}\"}")"
STATUS="$(printf '%s' "$QUERY_RESPONSE" | jq -r '(.status // .data.status // "") | ascii_downcase')"
case "$STATUS" in
success|succeeded|completed)
printf '%s' "$QUERY_RESPONSE" | jq -r '(.result // .["audioUrl"] // .data["audioUrl"] // empty)'
break
;;
failed|error)
printf '%s' "$QUERY_RESPONSE" | jq -r '(.message // .error // .data.error // "Task failed")' >&2
exit 1
;;
esac
sleep 5
done