لا تزال واجهات API للمطورين في المرحلة التجريبية وقد تتغير في أي وقت. في الوقت الحالي، هي أنسب للاختبار والتجربة الشخصية ولا يُنصح بعد باستخدامها في بيئات الإنتاج.
ساحة التجربة
استنسخ أي صوت بالذكاء الاصطناعي - ارفع صوتاً مرجعياً وأنشئ كلاماً طبيعياً من النص.
POST /api/v1/voice-clone/submit → /queryالوصول إلى API متاح للمشتركين فقط. يشترك الموقع و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