Pratinjau API publik Cloud
API pengembang Cloud yang belum dirilis, dengan Artifacts sebagai masukan dan Jobs tahan lama sebagai keluaran.
API Cloud belum dirilis
Ini pratinjau kontrak, bukan tempat mengirim lalu lintas produksi. Dokumen OpenAPI tidak memiliki server dan contoh menggunakan placeholder $VOICESTUDIO_CLOUD_ORIGIN.
| Asal | Nilai |
|---|---|
| Produk | API pengembang publik VoiceStudio Cloud |
| Audiens | Hanya kredensial pengembang publik |
| Versi kontrak | 1.0.0 |
| Versi kontrak yang dihasilkan | 1.0.0 |
| Repositori sumber | debpalash/vssaas |
| Commit sumber | c48c41f8fe5bb4496a9d218c513fd91fe827c0b5 |
| Proyeksi publik mentah | /cloud-openapi.json |
Terdapat 34 operasi pengembang. Operasi dashboard, operator dan internal dikecualikan, termasuk skema yang hanya digunakannya.
Cara kerja proses
Pekerjaan Cloud bukan panggilan langsung. Masukan menjadi Artifacts yang tidak dapat diubah, lalu permintaan terautentikasi menerima Job tahan lama dan segera kembali. Setiap mutasi menggunakan Idempotency-Key buatan pemanggil: kunci dan isi yang sama menghasilkan hasil yang sama; isi yang diubah menimbulkan konflik.
Pratinjau yang tidak dapat dijalankan. Tidak menyebutkan host produksi:
export VOICESTUDIO_CLOUD_ORIGIN="https://unreleased.invalid"
export VOICESTUDIO_API_KEY="vs_preview_only"
# 1. Ask to upload the exact text bytes.
curl "$VOICESTUDIO_CLOUD_ORIGIN/v1/artifacts/upload-authorizations" \
-H "Authorization: Bearer $VOICESTUDIO_API_KEY" \
-H "Idempotency-Key: 018f-example-upload-key" \
-H "Content-Type: application/json" \
-d '{
"project_id": "replace-with-project-id",
"purpose": "tts_text",
"media_type": "text/plain; charset=utf-8",
"size_bytes": 24,
"sha256": "replace-with-64-lowercase-hex-characters"
}'
# 2. PUT the bytes to the returned short-lived URL, then complete the Artifact.
curl "$VOICESTUDIO_CLOUD_ORIGIN/v1/artifacts/ARTIFACT_ID/complete" \
-H "Authorization: Bearer $VOICESTUDIO_API_KEY" \
-H "Idempotency-Key: 018f-example-complete-key" \
-H "Content-Type: application/json" \
-d '{ "size_bytes": 24, "sha256": "replace-with-64-lowercase-hex-characters" }'
# 3. Admit a Job. Success is 202 Accepted, not audio.
curl "$VOICESTUDIO_CLOUD_ORIGIN/v1/jobs" \
-H "Authorization: Bearer $VOICESTUDIO_API_KEY" \
-H "Idempotency-Key: 018f-example-job-key" \
-H "Content-Type: application/json" \
-d '{
"project_id": "replace-with-project-id",
"workflow": "tts",
"model": { "id": "replace-with-model-id", "version": "replace-with-version" },
"input": { "text_artifact_id": "replace-with-artifact-id" },
"configuration": { "voice_id": "replace-with-voice-id", "output_format": "wav" }
}'Isi 202 Accepted memuat identitas dan status Job. Poll GET /v1/jobs/{job_id} atau lanjutkan GET /v1/jobs/{job_id}/events, lalu ambil hasil melalui otorisasi unduh Artifact. Akses selalu berasal dari kredensial dan keanggotaan tenant; ID dalam permintaan tidak pernah memberikan akses.
Skema tepatnya: referensi API Cloud.