diff --git a/fern/generators.yml b/fern/generators.yml index 1dec1df..c4f57a7 100644 --- a/fern/generators.yml +++ b/fern/generators.yml @@ -3,9 +3,6 @@ api: overrides: ./openapi/openapi-overrides.yml settings: use-title: false - - path: ./openapi/clip-streaming-asyncapi.yml - settings: - use-title: false - - path: ./openapi/sse-streaming-asyncapi.yml + - path: ./openapi/asyncapi.yml settings: use-title: false \ No newline at end of file diff --git a/fern/openapi/asyncapi.yml b/fern/openapi/asyncapi.yml new file mode 100644 index 0000000..e9505b3 --- /dev/null +++ b/fern/openapi/asyncapi.yml @@ -0,0 +1,173 @@ +--- +info: + title: Hume AI Empathic Voice Interface (EVI) + version: 0.1.313 + description: Chat with Empathic Voice Interface (EVI). +x-topics: [] +servers: + prod: + url: wss://api.hume.ai/v0/evi + protocol: wss +channels: + /tts/websocket: + description: Generate audio from a transcript using a given voice and model. The audio is returned as a binary clip, i.e. this endpoint streams out raw bytes. + bindings: + ws: + query: + required: + - cartesia_version + - api_key + properties: + api_key: + type: string + description: Your API key. + cartesia_version: + type: string + description: The version of the Cartesia model to use. + example: "1.0.0" + publish: + message: + oneOf: + - "$ref": "#/components/messages/TTSRequest" + - "$ref": "#/components/messages/StreamInputRequest" + subscribe: + message: + oneOf: + - $ref: "#/components/messages/VoiceEmbeddingResponse" + - $ref: "#/components/messages/Error" +components: + messages: + TTSRequest: + name: TTSRequest + payload: + "$ref": "#/components/schemas/TTSRequest" + StreamInputRequest: + name: SessionSettings + payload: + "$ref": "#/components/schemas/StreamInputRequest" + VoiceEmbeddingResponse: + name: UserInput + payload: + "$ref": "#/components/schemas/VoiceEmbeddingResponse" + Error: + name: Error + payload: + "$ref": "#/components/schemas/Error" + schemas: + TTSRequest: + type: object + additionalProperties: false + properties: + context_id: + type: string + example: "happy-monkeys-fly" + model_id: + title: Model ID + type: string + example: upbeat-moon + transcript: + title: Transcript + type: string + example: "Hello, world! I'm generating audio on Cartesia." + duration: + title: Duration + description: The maximum duration of the audio in seconds. + type: integer + voice: + title: Voice + description: The voice to use for the speech. Can be either an ID or an embedding, specified by the `mode` field. + oneOf: + - type: object + properties: + mode: + type: string + enum: [id] + id: + type: string + - type: object + properties: + mode: + type: string + enum: [embedding] + embedding: + type: array + items: + type: number + output_format: + title: Output Format + type: object + required: [container, encoding, sample_rate] + properties: + container: + type: string + enum: ["raw"] + encoding: + type: string + enum: ["pcm_s16le", "pcm_f32le", "pcm_mulaw", "pcm_alaw"] + sample_rate: + type: integer + enum: [8000, 16000, 22050, 24000, 44100] + + StreamInputRequest: + type: object + required: + - transcript + - continue + - context_id + properties: + transcript: + type: string + example: "Hello, Sonic!" + continue: + type: boolean + example: true + context_id: + type: string + example: "happy-monkeys-fly" + + Error: + name: Error Description + type: string + example: error in voice + + VoiceEmbeddingResponse: + name: Voice Embedding + properties: + embedding: + type: array + items: + type: number + type: object + required: + - embedding + + Voice: + type: object + properties: + id: + type: string + user_id: + type: string + is_public: + type: boolean + name: + type: string + description: + type: string + created_at: + type: string + embedding: + type: array + items: + type: number + + required: + - id + - user_id + - is_public + - name + - description + - created_at + - embedding + +asyncapi: 2.6.0 diff --git a/fern/openapi/clip-streaming-asyncapi.yml b/fern/openapi/clip-streaming-asyncapi.yml deleted file mode 100644 index a8d594e..0000000 --- a/fern/openapi/clip-streaming-asyncapi.yml +++ /dev/null @@ -1,242 +0,0 @@ -asyncapi: 2.2.0 -info: - title: Cartesia AI Streaming API - version: "0.3.0" - description: > - The streaming API provides access to Cartesia models through secure WebSocket connections. You can build real-time applications by running continuous inference on streams of audio, video, and text data. -servers: - prod: - url: "wss://api.cartesia.ai" - protocol: wss -channels: - /tts/clip: - summary: Stream Speech (Clip) - description: Generate audio from a transcript using a given voice and model. The audio is returned as a binary clip, i.e. this endpoint streams out raw bytes. - bindings: - ws: - headers: - required: - - cartesia_version - properties: - cartesia_version: - type: string - description: The version of the Cartesia model to use. - example: "1.0.0" - publish: - message: - oneOf: - - $ref: "#/components/messages/TTSRequest" - subscribe: - message: - oneOf: - - $ref: "#/components/messages/VoiceEmbeddingResponse" - - $ref: "#/components/messages/Error" -components: - messages: - TTSRequest: - name: TTS Request - payload: - type: object - additionalProperties: false - properties: - model_id: - title: Model ID - type: string - example: upbeat-moon - transcript: - title: Transcript - type: string - example: "Hello, world! I'm generating audio on Cartesia." - duration: - title: Duration - description: The maximum duration of the audio in seconds. - type: integer - voice: - title: Voice - description: The voice to use for the speech. Can be either an ID or an embedding, specified by the `mode` field. - oneOf: - - type: object - properties: - mode: - type: string - enum: [id] - id: - "$ref": "#/components/schemas/VoiceId" - - type: object - properties: - mode: - type: string - enum: [embedding] - embedding: - "$ref": "#/components/schemas/VoiceEmbedding" - discriminator: - propertyName: mode - output_format: - title: Output Format - type: object - required: [container, encoding, sample_rate] - properties: - container: - type: string - enum: ["raw"] - encoding: - type: string - enum: ["pcm_s16le", "pcm_f32le", "pcm_mulaw", "pcm_alaw"] - sample_rate: - type: integer - enum: [8000, 16000, 22050, 24000, 44100] - - Error: - name: Error Description - payload: - type: string - example: error in voice - - VoiceEmbeddingResponse: - name: Voice Embedding - payload: - properties: - embedding: - "$ref": "#/components/schemas/VoiceEmbedding" - type: object - required: - - embedding - - JSONBaseResponse: - title: JSON Base Response - type: object - properties: - status_code: &statusCode - title: Status Code - type: integer - description: HTTP status code to allow for error handling. This is for errors encountered while streaming the response. - done: &done - title: Done - type: boolean - description: Whether the model has finished generating audio. - - schemas: - Timestamp: - title: Timestamp - type: string - - Voice: - type: object - properties: - id: - "$ref": "#/components/schemas/VoiceId" - user_id: - type: string - is_public: - type: boolean - name: - "$ref": "#/components/schemas/VoiceName" - description: - "$ref": "#/components/schemas/VoiceDescription" - created_at: - "$ref": "#/components/schemas/Timestamp" - embedding: - "$ref": "#/components/schemas/VoiceEmbedding" - required: - - id - - user_id - - is_public - - name - - description - - created_at - - embedding - - VoiceDescription: - title: Voice Description - type: string - example: "A deep, rich, male voice with an Indian accent." - - VoiceEmbedding: - title: Voice Embedding - items: - type: number - type: array - - VoiceId: - title: Voice ID - type: string - example: "a0e99841-438c-4a64-b679-ae501e7d6091" - - VoiceName: - title: VoiceName - type: string - example: "Barbershop Man" - - Clip: - title: Clip - type: string - format: binary - - JSONBaseResponse: - title: JSON Base Response - type: object - properties: - status_code: &statusCode - title: Status Code - type: integer - description: HTTP status code to allow for error handling. This is for errors encountered while streaming the response. - done: &done - title: Done - type: boolean - description: Whether the model has finished generating audio. - - JSONChunkResponse: - title: JSON Chunk Response - type: object - allOf: - - "$ref": "#/components/schemas/JSONBaseResponse" - - type: object - properties: - status_code: - <<: *statusCode - enum: [206] - done: - <<: *done - enum: [false] - data: - title: Data - type: string - format: byte - description: Binary audio data encoded as base64. The underlying bytes will be in the requested output format. - step_time: - title: Step Time - type: integer - description: The time in milliseconds that the model took to generate this chunk of audio. - - JSONDoneResponse: - title: JSON Done Response - type: object - allOf: - - "$ref": "#/components/schemas/JSONBaseResponse" - - type: object - properties: - status_code: - <<: *statusCode - enum: [200] - done: - <<: *done - enum: [true] - - JSONErrorResponse: - title: JSON Error Response - type: object - allOf: - - "$ref": "#/components/schemas/JSONBaseResponse" - - type: object - properties: - status_code: - <<: *statusCode - minimum: 400 - maximum: 599 - done: - <<: *done - enum: [true] - error: - title: Error - type: string - description: A human-readable error message. diff --git a/fern/openapi/openapi-overrides.yml b/fern/openapi/openapi-overrides.yml index 7598339..075c0eb 100644 --- a/fern/openapi/openapi-overrides.yml +++ b/fern/openapi/openapi-overrides.yml @@ -7,7 +7,7 @@ paths: x-fern-ignore: true /tts/sse: post: - x-fern-ignore: true + x-fern-ignore: true /: get: x-fern-ignore: true diff --git a/fern/openapi/sse-streaming-asyncapi.yml b/fern/openapi/sse-streaming-asyncapi.yml deleted file mode 100644 index 034934d..0000000 --- a/fern/openapi/sse-streaming-asyncapi.yml +++ /dev/null @@ -1,238 +0,0 @@ -asyncapi: 2.2.0 -info: - title: Cartesia AI Streaming API - version: "0.3.0" - description: > - The streaming API provides access to Cartesia models through secure WebSocket connections. You can build real-time applications by running continuous inference on streams of audio, video, and text data. -servers: - prod: - url: "wss://api.cartesia.ai" - protocol: wss -channels: - /tts/sse: - summary: Stream Speech (Server-Sent Events) - bindings: - ws: - headers: - required: - - cartesia_version - properties: - cartesia_version: - type: string - description: The version of the Cartesia model to use. - example: "1.0.0" - publish: - message: - oneOf: - - $ref: "#/components/messages/TTSRequest" - subscribe: - message: - oneOf: - - $ref: "#/components/messages/JSONChunkResponse" - - $ref: "#/components/messages/JSONDoneResponse" - - $ref: "#/components/messages/JSONErrorResponse" - discriminator: - propertyName: status_code -components: - messages: - TTSRequest: - name: TTS Request - payload: - type: object - additionalProperties: false - properties: - model_id: - title: Model ID - type: string - example: upbeat-moon - transcript: - title: Transcript - type: string - example: "Hello, world! I'm generating audio on Cartesia." - duration: - title: Duration - description: The maximum duration of the audio in seconds. - type: integer - voice: - title: Voice - description: The voice to use for the speech. Can be either an ID or an embedding, specified by the `mode` field. - oneOf: - - type: object - properties: - mode: - type: string - enum: [id] - id: - "$ref": "#/components/schemas/VoiceId" - - type: object - properties: - mode: - type: string - enum: [embedding] - embedding: - "$ref": "#/components/schemas/VoiceEmbedding" - discriminator: - propertyName: mode - output_format: - title: Output Format - type: object - required: [container, encoding, sample_rate] - properties: - container: - type: string - enum: ["raw"] - encoding: - type: string - enum: ["pcm_s16le", "pcm_f32le", "pcm_mulaw", "pcm_alaw"] - sample_rate: - type: integer - enum: [8000, 16000, 22050, 24000, 44100] - - Error: - name: Error Description - payload: - type: string - example: error in voice - - VoiceEmbeddingResponse: - name: Voice Embedding - payload: - properties: - embedding: - "$ref": "#/components/schemas/VoiceEmbedding" - type: object - required: - - embedding - - JSONChunkResponse: - name: JSON Chunk Response - payload: - properties: - status_code: - title: Status Code - type: integer - description: HTTP status code to allow for error handling. This is for errors encountered while streaming the response. - enum: [206] - done: - title: Done - type: boolean - description: Whether the model has finished generating audio. - enum: [false] - data: - title: Data - type: string - format: byte - description: Binary audio data encoded as base64. The underlying bytes will be in the requested output format. - step_time: - title: Step Time - type: integer - description: The time in milliseconds that the model took to generate this chunk of audio. - - - JSONDoneResponse: - name: JSON Done Response - payload: - properties: - status_code: - title: Status Code - type: integer - description: HTTP status code to allow for error handling. This is for errors encountered while streaming the response. - enum: [200] - done: - title: Done - type: boolean - description: Whether the model has finished generating audio. - enum: [true] - - JSONErrorResponse: - name: JSON Error Response - payload: - properties: - status_code: - title: Status Code - type: integer - description: HTTP status code to allow for error handling. This is for errors encountered while streaming the response. - minimum: 400 - maximum: 599 - done: - title: Done - type: boolean - description: Whether the model has finished generating audio. - enum: [true] - error: - title: Error - type: string - description: A human-readable error message. - - - schemas: - Timestamp: - title: Timestamp - type: string - - Voice: - type: object - properties: - id: - "$ref": "#/components/schemas/VoiceId" - user_id: - type: string - is_public: - type: boolean - name: - "$ref": "#/components/schemas/VoiceName" - description: - "$ref": "#/components/schemas/VoiceDescription" - created_at: - "$ref": "#/components/schemas/Timestamp" - embedding: - "$ref": "#/components/schemas/VoiceEmbedding" - required: - - id - - user_id - - is_public - - name - - description - - created_at - - embedding - - VoiceDescription: - title: Voice Description - type: string - example: "A deep, rich, male voice with an Indian accent." - - VoiceEmbedding: - title: Voice Embedding - items: - type: number - type: array - - VoiceId: - title: Voice ID - type: string - example: "a0e99841-438c-4a64-b679-ae501e7d6091" - - VoiceName: - title: VoiceName - type: string - example: "Barbershop Man" - - Clip: - title: Clip - type: string - format: binary - - JSONBaseResponse: - title: JSON Base Response - type: object - properties: - status_code: &statusCode - title: Status Code - type: integer - description: HTTP status code to allow for error handling. This is for errors encountered while streaming the response. - done: &done - title: Done - type: boolean - description: Whether the model has finished generating audio. - - \ No newline at end of file