{
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "$id": "https://artifacts.apis.io/kreatorflow-ai/json-schema/kreatorflow-ai-audio-request-schema.json",
  "title": "AudioRequest",
  "x-generated": "2026-10-30",
  "x-method": "derived",
  "x-generator": "derive-json-schema.py",
  "x-source": "openapi/kreatorflow-ai-openapi.json#/components/schemas/AudioRequest",
  "type": "object",
  "properties": {
    "model": {
      "type": "string",
      "description": "string optional; kreator-speech (text-to-speech, default) or kreator-sound (sound/music)"
    },
    "text": {
      "type": "string",
      "description": "string required for kreator-speech; the words to speak (prompt alias also accepted)"
    },
    "prompt": {
      "type": "string",
      "description": "string required for kreator-sound; describes the sound/music (text alias also accepted)"
    },
    "voice": {
      "type": "string",
      "description": "string required for kreator-speech; a voice id from GET /v1/voices (voice_id/voiceType aliases accepted)"
    },
    "format": {
      "type": "string",
      "description": "string optional; mp3 or wav (provider decides the delivered container; best-effort)"
    },
    "speed": {
      "type": "number",
      "description": "number optional delivery ratio (~0.5-2.0, 1.0 = neutral)"
    },
    "volume": {
      "type": "number",
      "description": "number optional delivery ratio (~0.5-2.0, 1.0 = neutral)"
    },
    "pitch": {
      "type": "number",
      "description": "number optional delivery ratio (~0.5-2.0, 1.0 = neutral); tone alias accepted"
    },
    "emotion": {
      "type": "string",
      "description": "string optional (kreator-speech); applied when the voice supports it"
    },
    "emotion_scale": {
      "type": "number",
      "description": "number optional 1-5 (kreator-speech); emotionScale alias accepted"
    },
    "safety_identifier": {
      "type": "string",
      "description": "string optional, max 64 chars"
    },
    "webhook_url": {
      "type": "string",
      "format": "uri",
      "description": "https url optional; receives terminal job callbacks"
    },
    "callback_url": {
      "type": "string",
      "description": "alias for webhook_url"
    },
    "idempotency_key": {
      "type": "string",
      "description": "string optional body fallback; prefer Idempotency-Key header"
    }
  },
  "additionalProperties": true
}