GET
/v1/schemas/cartesia/audio/tts/sse?kind=output
Accept:
| field | recorded source |
|---|---|
| schema | Source linked above. upstream-spec Source trace0dd8cdf30227d49ed4a677682f1e04b9740d0e82a016d2239900dedda5c5b483{
"fetchedAt": 1793856043,
"extractorVersion": "1",
"verifiedAt": null
} |
Response body
0 properties · 0 required · 0 $defsThis schema isn’t a plain object with properties — showing the raw JSON instead.
application/json
{
"provider": "cartesia",
"activity": "audio",
"endpointId": "tts/sse",
"kind": "output",
"contentHash": "dd2e63f88554f5575b5f8efabe3ee8386d4843b7b9368524db2dc40aa575a4e0",
"specRevision": "0dd8cdf30227d49ed4a677682f1e04b9740d0e82a016d2239900dedda5c5b483",
"provenance": {
"sourceUrl": "https://docs.cartesia.ai/_llms/en/api.txt",
"sourceHash": "0dd8cdf30227d49ed4a677682f1e04b9740d0e82a016d2239900dedda5c5b483",
"fetchedAt": 1793856043,
"extractorVersion": "1",
"derivation": "upstream-spec",
"verifiedAt": null
},
"createdAt": 1793856043,
"supersededAt": null,
"schema": {
"title": "TTSSSEEvent",
"description": "An event emitted by the TTS SSE stream.",
"oneOf": [
{
"$ref": "#/$defs/TTSSSEChunkEvent"
},
{
"$ref": "#/$defs/TTSSSETimestampsEvent"
},
{
"$ref": "#/$defs/TTSSSEPhonemeTimestampsEvent"
},
{
"$ref": "#/$defs/TTSSSEDoneEvent"
},
{
"$ref": "#/$defs/TTSSSEErrorEvent"
}
],
"discriminator": {
"propertyName": "type",
"mapping": {
"chunk": "#/components/schemas/TTSSSEChunkEvent",
"timestamps": "#/components/schemas/TTSSSETimestampsEvent",
"phoneme_timestamps": "#/components/schemas/TTSSSEPhonemeTimestampsEvent",
"done": "#/components/schemas/TTSSSEDoneEvent",
"error": "#/components/schemas/TTSSSEErrorEvent"
}
},
"$defs": {
"SSEContextID": {
"title": "SSEContextID",
"type": "string",
"nullable": true
},
"TTSSSEChunkEvent": {
"title": "TTSSSEChunkEvent",
"description": "Audio data chunk.",
"type": "object",
"example": {
"type": "chunk",
"done": false,
"status_code": 206,
"step_time": 123,
"context_id": "50dc3b5e-5841-4aa1-9f94-60cfb9aead79",
"data": "aSDinaTvuI8gbWludGxpZnk="
},
"properties": {
"type": {
"type": "string",
"enum": [
"chunk"
],
"description": "Event type identifier."
},
"done": {
"type": "boolean",
"enum": [
false
],
"description": "Whether this is the final event for the request. Always `false` for chunk events."
},
"context_id": {
"$ref": "#/$defs/SSEContextID",
"description": "The context ID echoed back from the request, if one was provided."
},
"data": {
"type": "string",
"description": "Base64-encoded audio data."
},
"step_time": {
"type": "number",
"description": "Server-side processing time for this chunk in milliseconds."
},
"status_code": {
"type": "integer",
"description": "HTTP-style status code."
}
},
"required": [
"type",
"done",
"data",
"step_time",
"status_code"
]
},
"TTSSSEDoneEvent": {
"title": "TTSSSEDoneEvent",
"description": "Generation completion signal. Final event in the stream.",
"type": "object",
"example": {
"type": "done",
"done": true,
"status_code": 206,
"context_id": "50dc3b5e-5841-4aa1-9f94-60cfb9aead79"
},
"properties": {
"type": {
"type": "string",
"enum": [
"done"
],
"description": "Event type identifier."
},
"done": {
"type": "boolean",
"enum": [
true
],
"description": "Whether generation is complete. Always `true` for done events."
},
"context_id": {
"$ref": "#/$defs/SSEContextID",
"description": "The context ID echoed back from the request, if one was provided."
},
"status_code": {
"type": "integer",
"description": "HTTP-style status code."
}
},
"required": [
"type",
"done",
"status_code"
]
},
"TTSSSEErrorEvent": {
"title": "TTSSSEErrorEvent",
"description": "Error information for the TTS SSE request.",
"type": "object",
"example": {
"type": "error",
"done": true,
"title": "Invalid model",
"message": "The model is not valid, make sure it is a valid model ID.",
"error_code": "model_not_found",
"status_code": 400,
"doc_url": "https://docs.cartesia.ai/build-with-cartesia/tts-models/latest",
"request_id": "2ff8af53-4d38-479d-8287-58940f01c701"
},
"properties": {
"type": {
"type": "string",
"enum": [
"error"
],
"description": "Event type identifier."
},
"done": {
"type": "boolean",
"description": "Whether generation is complete."
},
"status_code": {
"type": "integer",
"description": "An HTTP response status code."
},
"title": {
"type": "string",
"description": "Human-readable error title."
},
"message": {
"type": "string",
"description": "Human-readable error message."
},
"error_code": {
"type": "string",
"nullable": true,
"description": "Machine-readable error code."
},
"request_id": {
"type": "string",
"description": "Unique identifier for this request."
},
"doc_url": {
"type": "string",
"nullable": true,
"description": "URL to relevant documentation."
}
},
"required": [
"type",
"done",
"status_code",
"title",
"message",
"request_id"
]
},
"TTSSSEPhonemeTimestampsEvent": {
"title": "TTSSSEPhonemeTimestampsEvent",
"description": "Phoneme-level timing information.",
"type": "object",
"example": {
"type": "phoneme_timestamps",
"done": false,
"status_code": 206,
"context_id": "872ec12d-bc63-4e1e-a241-4f58c879d105",
"phoneme_timestamps": {
"phonemes": [
"h",
"ə",
"l",
"oʊ"
],
"start": [
0.093,
0.174,
0.255,
0.337
],
"end": [
0.174,
0.255,
0.337,
0.418
]
}
},
"properties": {
"type": {
"type": "string",
"enum": [
"phoneme_timestamps"
],
"description": "Event type identifier."
},
"done": {
"type": "boolean",
"enum": [
false
],
"description": "Whether this is the final event for the request. Always `false` for phoneme_timestamps events."
},
"context_id": {
"$ref": "#/$defs/SSEContextID",
"description": "The context ID echoed back from the request, if one was provided."
},
"phoneme_timestamps": {
"type": "object",
"description": "Phoneme-level timing information.",
"properties": {
"phonemes": {
"type": "array",
"items": {
"type": "string"
},
"description": "List of phonemes in order."
},
"start": {
"type": "array",
"items": {
"type": "number"
},
"description": "Start times in seconds for each phoneme."
},
"end": {
"type": "array",
"items": {
"type": "number"
},
"description": "End times in seconds for each phoneme."
}
},
"required": [
"phonemes",
"start",
"end"
]
},
"status_code": {
"type": "integer",
"description": "HTTP-style status code."
}
},
"required": [
"type",
"done",
"phoneme_timestamps",
"status_code"
]
},
"TTSSSETimestampsEvent": {
"title": "TTSSSETimestampsEvent",
"description": "Word-level timing information.",
"type": "object",
"example": {
"type": "timestamps",
"done": false,
"status_code": 206,
"context_id": "872ec12d-bc63-4e1e-a241-4f58c879d105",
"word_timestamps": {
"words": [
"Hello",
"world"
],
"start": [
0,
0.5
],
"end": [
0.4,
0.9
]
}
},
"properties": {
"type": {
"type": "string",
"enum": [
"timestamps"
],
"description": "Event type identifier."
},
"done": {
"type": "boolean",
"enum": [
false
],
"description": "Whether this is the final event for the request. Always `false` for timestamps events."
},
"context_id": {
"$ref": "#/$defs/SSEContextID",
"description": "The context ID echoed back from the request, if one was provided."
},
"word_timestamps": {
"type": "object",
"description": "Word-level timing information.",
"properties": {
"words": {
"type": "array",
"items": {
"type": "string"
},
"description": "List of words in order."
},
"start": {
"type": "array",
"items": {
"type": "number"
},
"description": "Start times in seconds for each word."
},
"end": {
"type": "array",
"items": {
"type": "number"
},
"description": "End times in seconds for each word."
}
},
"required": [
"words",
"start",
"end"
]
},
"status_code": {
"type": "integer",
"description": "HTTP-style status code."
}
},
"required": [
"type",
"done",
"word_timestamps",
"status_code"
]
}
}
}
}Validate a payload
before you spend tokensshell
$ curl -X POST https://modelschemas.com/v1/validate \
-d '{"provider":"cartesia","endpointId":"tts/sse","payload":{…}}'
→ {"valid": false, "errors": [{"path": "#", "keyword": "required", …}]}