Vorschau der öffentlichen Cloud-API
Die noch nicht veröffentlichte Cloud-Entwickler-API mit Artifacts als Eingabe und dauerhaften Jobs als Ausgabe.
Cloud-API ist nicht veröffentlicht
Dies ist eine Vertragsvorschau, kein Ziel für Produktionsverkehr. Das OpenAPI-Dokument enthält keinen Server; Beispiele verwenden den Platzhalter $VOICESTUDIO_CLOUD_ORIGIN.
| Herkunft | Wert |
|---|---|
| Produkt | Öffentliche Entwickler-API von VoiceStudio Cloud |
| Zielgruppe | Nur öffentliche Entwicklerzugänge |
| Vertragsversion | 1.0.0 |
| Generierte Vertragsversion | 1.0.0 |
| Quell-Repository | debpalash/vssaas |
| Quell-Commit | c48c41f8fe5bb4496a9d218c513fd91fe827c0b5 |
| Rohe öffentliche Projektion | /cloud-openapi.json |
Sie enthält 34 Entwickleroperationen. Dashboard-, Operator- und interne Operationen sowie deren exklusive Schemas sind ausgeschlossen.
So läuft die Arbeit
Cloud-Arbeit ist kein direkter Aufruf. Eingaben werden zu unveränderlichen Artifacts, dann nimmt eine authentifizierte Anfrage einen dauerhaften Job an und kehrt sofort zurück. Jede Änderung erhält einen vom Aufrufer erstellten Idempotency-Key: gleicher Schlüssel und Inhalt ergeben dasselbe Ergebnis; ein geänderter Inhalt erzeugt einen Konflikt.
Eine nicht ausführbare Vorschau ohne Produktionshost:
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" }
}'Der Inhalt von 202 Accepted enthält Identität und Status des Jobs. Frage GET /v1/jobs/{job_id} ab oder setze GET /v1/jobs/{job_id}/events fort und rufe die Ausgabe über eine Artifact-Downloadberechtigung ab. Zugriff ergibt sich stets aus Zugangsdaten und Tenant-Mitgliedschaft; eine ID in der Anfrage gewährt ihn nie.
Genaue Schemas: Cloud-API-Referenz.