GET
/v1/schemas/runway/audio/v1/text_to_speech
Accept:
| field | recorded source |
|---|---|
| schema | Source linked above. upstream-spec Source tracecbe9ae85cc6ad0ff714fd5ad664993f943b9d51a6155383212951177e4bc2acb{
"fetchedAt": 1786771313,
"extractorVersion": "1",
"verifiedAt": null
} |
Request body
0 properties · 0 required · 0 $defsThis schema isn’t a plain object with properties — showing the raw JSON instead.
application/json
{
"provider": "runway",
"activity": "audio",
"endpointId": "v1/text_to_speech",
"kind": "input",
"contentHash": "228bcb316b7054ad88f63ff3343ff0e83e60bd53ac399bb2040e981e5af63aeb",
"specRevision": null,
"provenance": {
"sourceUrl": "https://raw.githubusercontent.com/runwayml/openapi/next/openapi.json",
"sourceHash": "cbe9ae85cc6ad0ff714fd5ad664993f943b9d51a6155383212951177e4bc2acb",
"fetchedAt": 1786771313,
"extractorVersion": "1",
"derivation": "upstream-spec",
"verifiedAt": null
},
"createdAt": 1786771313,
"supersededAt": null,
"schema": {
"$schema": "https://json-schema.org/draft/2020-12/schema",
"oneOf": [
{
"title": "seed_audio",
"type": "object",
"properties": {
"promptText": {
"description": "A non-empty text prompt. For text-to-speech, the words to speak. For text-to-audio, a scene description that can include voice direction, dialogue, music, and sound effects.",
"type": "string",
"minLength": 1,
"maxLength": 2048
},
"voice": {
"description": "The voice to use for text-to-speech generation. If omitted, a default voice is used.",
"oneOf": [
{
"title": "SeedReferenceVoice",
"description": "Clone from a single reference audio clip, then speak promptText in that voice.",
"type": "object",
"properties": {
"type": {
"type": "string",
"const": "reference-audio"
},
"audioUri": {
"description": "A HTTPS URL, Runway or data URI containing an encoded audio. See [our docs](/assets/inputs#audio) on audio inputs for more information.",
"example": "https://example.com/audio.mp3",
"anyOf": [
{
"description": "A HTTPS URL, Runway upload URI, or base64 data URI (e.g. `data:audio/mp3;base64,...`, up to 16MB) containing an encoded audio. See [our docs](/assets/inputs#audio) on audio inputs for more information.",
"example": "https://example.com/audio.mp3",
"type": "string",
"minLength": 13,
"maxLength": 2048,
"pattern": "^https:\\/\\/.*"
},
{
"description": "A Runway upload URI. See https://docs.dev.runwayml.com/assets/uploads for more information.",
"example": "runway://<token>",
"type": "string",
"minLength": 13,
"maxLength": 5000,
"pattern": "^runway:\\/\\/.*"
},
{
"description": "A data URI containing encoded media.",
"example": "data:image/jpeg;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAAABCAYAAAAfFcSJAAAADUlEQVR42mNk+M9QDwADhgGAWjR9awAAAABJRU5ErkJggg==",
"type": "string",
"minLength": 13,
"maxLength": 16777216,
"pattern": "^data:audio\\/.*"
}
]
}
},
"required": [
"type",
"audioUri"
]
}
],
"discriminator": {
"propertyName": "type"
}
},
"speechRate": {
"description": "Relative speech speed. Negative is slower, positive is faster; 0 is normal.",
"type": "integer",
"minimum": -50,
"maximum": 100
},
"loudnessRate": {
"description": "Relative output loudness. Negative is quieter, positive is louder; 0 is normal.",
"type": "integer",
"minimum": -50,
"maximum": 100
},
"pitchRate": {
"description": "Pitch shift in semitones. Negative lowers, positive raises; 0 is unchanged.",
"type": "integer",
"minimum": -12,
"maximum": 12
},
"sampleRate": {
"description": "Output sample rate in Hz.",
"type": "number",
"enum": [
8000,
16000,
24000,
32000,
44100,
48000
]
},
"outputFormat": {
"description": "Output audio container/format.",
"type": "string",
"enum": [
"wav",
"mp3",
"ogg_opus"
]
},
"model": {
"type": "string",
"const": "seed_audio"
}
},
"required": [
"promptText",
"model"
],
"additionalProperties": false
},
{
"title": "eleven_multilingual_v2",
"type": "object",
"properties": {
"promptText": {
"description": "A non-empty string up to 1000 characters (measured in UTF-16 code units). This should describe in detail what should appear in the output.",
"type": "string",
"minLength": 1,
"maxLength": 1000
},
"voice": {
"description": "The voice to use for the generated speech.",
"oneOf": [
{
"title": "RunwayPresetVoice",
"description": "A voice preset from the RunwayML API.",
"type": "object",
"properties": {
"type": {
"type": "string",
"const": "runway-preset"
},
"presetId": {
"description": "The preset voice ID to use for the generated speech.",
"type": "string",
"enum": [
"Maya",
"Arjun",
"Serene",
"Bernard",
"Billy",
"Mark",
"Clint",
"Mabel",
"Chad",
"Leslie",
"Eleanor",
"Elias",
"Elliot",
"Grungle",
"Brodie",
"Sandra",
"Kirk",
"Kylie",
"Lara",
"Lisa",
"Malachi",
"Marlene",
"Martin",
"Miriam",
"Monster",
"Paula",
"Pip",
"Rusty",
"Ragnar",
"Xylar",
"Maggie",
"Jack",
"Katie",
"Noah",
"James",
"Rina",
"Ella",
"Mariah",
"Frank",
"Claudia",
"Niki",
"Vincent",
"Kendrick",
"Myrna",
"Tom",
"Wanda",
"Benjamin",
"Kiana",
"Rachel"
]
}
},
"required": [
"type",
"presetId"
]
}
],
"discriminator": {
"propertyName": "type"
}
},
"model": {
"type": "string",
"const": "eleven_multilingual_v2"
}
},
"required": [
"promptText",
"voice",
"model"
]
},
{
"title": "eleven_v3",
"type": "object",
"properties": {
"promptText": {
"description": "The text to convert to speech. You can include expressive audio tags like [laughs] or [whispers] in the script.",
"type": "string",
"minLength": 1,
"maxLength": 5000
},
"voice": {
"description": "The voice to use for the generated speech.",
"oneOf": [
{
"title": "RunwayPresetVoice",
"description": "A voice preset from the RunwayML API.",
"type": "object",
"properties": {
"type": {
"type": "string",
"const": "runway-preset"
},
"presetId": {
"description": "The preset voice ID to use for the generated speech.",
"type": "string",
"enum": [
"Maya",
"Arjun",
"Serene",
"Bernard",
"Billy",
"Mark",
"Clint",
"Mabel",
"Chad",
"Leslie",
"Eleanor",
"Elias",
"Elliot",
"Grungle",
"Brodie",
"Sandra",
"Kirk",
"Kylie",
"Lara",
"Lisa",
"Malachi",
"Marlene",
"Martin",
"Miriam",
"Monster",
"Paula",
"Pip",
"Rusty",
"Ragnar",
"Xylar",
"Maggie",
"Jack",
"Katie",
"Noah",
"James",
"Rina",
"Ella",
"Mariah",
"Frank",
"Claudia",
"Niki",
"Vincent",
"Kendrick",
"Myrna",
"Tom",
"Wanda",
"Benjamin",
"Kiana",
"Rachel"
]
}
},
"required": [
"type",
"presetId"
]
}
],
"discriminator": {
"propertyName": "type"
}
},
"stability": {
"description": "Voice stability (0–1). Lower values allow broader emotional range; higher values are steadier.",
"type": "number",
"minimum": 0,
"maximum": 1
},
"similarityBoost": {
"description": "How closely the output tracks the original speaker (0–1). Maps to ElevenLabs similarity_boost.",
"type": "number",
"minimum": 0,
"maximum": 1
},
"style": {
"description": "Style exaggeration (0–1). Higher values amplify the speaker style.",
"type": "number",
"minimum": 0,
"maximum": 1
},
"speed": {
"description": "Speech speed multiplier (0.7–1.2). 1.0 is default; values below slow down and above speed up.",
"type": "number",
"minimum": 0.7,
"maximum": 1.2
},
"useSpeakerBoost": {
"description": "Boost similarity to the original speaker at a small latency cost.",
"type": "boolean"
},
"languageCode": {
"description": "ISO 639-1 language code to enforce pronunciation and normalization.",
"type": "string",
"minLength": 2,
"maxLength": 5
},
"applyTextNormalization": {
"description": "Text normalization mode: 'auto', 'on', or 'off' (e.g. spelling out numbers).",
"type": "string",
"enum": [
"auto",
"on",
"off"
]
},
"seed": {
"description": "Optional seed for more deterministic output (0–4294967295). Not guaranteed.",
"type": "integer",
"minimum": 0,
"maximum": 4294967295
},
"model": {
"type": "string",
"const": "eleven_v3"
}
},
"required": [
"promptText",
"voice",
"model"
]
}
],
"discriminator": {
"propertyName": "model"
}
}
}Validate a payload
before you spend tokensshell
$ curl -X POST https://modelschemas.com/v1/validate \
-d '{"provider":"runway","endpointId":"v1/text_to_speech","payload":{…}}'
→ {"valid": false, "errors": [{"path": "#", "keyword": "required", …}]}