Prévia da API pública Cloud
A API Cloud para desenvolvedores ainda não lançada, com Artifacts de entrada e Jobs duráveis de saída.
A API Cloud não foi lançada
Esta é uma prévia do contrato, não um destino para tráfego de produção. O documento OpenAPI não tem servidor, e os exemplos usam o marcador $VOICESTUDIO_CLOUD_ORIGIN.
| Origem | Valor |
|---|---|
| Produto | API pública de desenvolvedor do VoiceStudio Cloud |
| Público | Somente credenciais públicas de desenvolvedor |
| Versão do contrato | 1.0.0 |
| Versão do contrato gerado | 1.0.0 |
| Repositório de origem | debpalash/vssaas |
| Commit de origem | c48c41f8fe5bb4496a9d218c513fd91fe827c0b5 |
| Projeção pública bruta | /cloud-openapi.json |
Ela contém 34 operações de desenvolvedor. Operações do painel, de operadores e internas são excluídas, assim como os esquemas exclusivos delas.
Como o trabalho é executado
O trabalho no Cloud não é uma chamada direta. As entradas tornam-se Artifacts imutáveis; uma solicitação autenticada admite um Job durável e retorna imediatamente. Cada mutação recebe uma Idempotency-Key criada pelo chamador: a mesma chave e corpo retornam o mesmo resultado; um corpo alterado gera conflito.
Uma prévia não executável. Ela não indica um servidor de produção:
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" }
}'O corpo de 202 Accepted contém a identidade e o estado do Job. Consulte GET /v1/jobs/{job_id} ou retome GET /v1/jobs/{job_id}/events, depois obtenha a saída por uma autorização de download de Artifact. O acesso sempre depende da credencial e da associação ao tenant; um ID na solicitação nunca o concede.
Esquemas exatos: referência da API Cloud.