feat:Update ElevenLabs API documentation in openapi.yaml with new endpoints and models#6
Conversation
WalkthroughThe changes in the pull request involve significant updates to the ElevenLabs API documentation within the Changes
Poem
Thank you for using CodeRabbit. We offer it for free to the OSS community and would appreciate your support in helping us grow. If you find it useful, would you consider giving us a shout-out on your favorite social media? 🪧 TipsChatThere are 3 ways to chat with CodeRabbit:
Note: Be mindful of the bot's finite context window. It's strongly recommended to break down tasks such as reading entire modules into smaller chunks. For a focused discussion, use review comments to chat about specific files and their changes, instead of using the PR comments. CodeRabbit Commands (Invoked using PR comments)
Other keywords and placeholders
CodeRabbit Configuration File (
|
There was a problem hiding this comment.
Actionable comments posted: 0
🧹 Outside diff range and nitpick comments (4)
src/libs/ElevenLabs/openapi.yaml (4)
881-919: New text-to-voice preview endpoints are well-structured but could use more descriptive error responsesThe new
/v1/text-to-voice/create-previewsendpoint is well documented with clear parameters and response models. However, consider adding specific error response cases beyond the generic 422 validation error.Consider adding these common error responses:
responses: '400': description: Bad request - Invalid voice description or text length '429': description: Too many requests - Rate limit exceeded '500': description: Internal server error
Line range hint
5103-5214: Project model updates improve clarity but experimental field needs documentationThe ProjectExtendedResponseModel has been enhanced with new fields like
volume_normalization,access_level, andexperimental. While most fields are well documented, theexperimentalfield lacks description.Add description for the experimental field:
experimental: title: Experimental type: object + description: Contains experimental features and configurations that may change without notice
Line range hint
1-50: API documentation header could be enhancedWhile the basic API information is present, the header section could be enhanced with more details.
Consider adding:
info: title: ElevenLabs API Documentation description: 'This is the documentation for the ElevenLabs API...' + contact: + name: ElevenLabs Support + url: https://help.elevenlabs.io + license: + name: Proprietary + termsOfService: https://elevenlabs.io/terms version: '1.0'
Line range hint
6286-6297: Security scheme could be enhanced with additional optionsThe current security scheme only uses API key authentication. Consider adding rate limiting headers.
Add rate limit headers to the specification:
components: parameters: RateLimitLimit: name: X-RateLimit-Limit in: header description: The number of allowed requests in the current period schema: type: integer RateLimitRemaining: name: X-RateLimit-Remaining in: header description: The number of remaining requests in the current period schema: type: integer
📜 Review details
Configuration used: CodeRabbit UI
Review profile: CHILL
⛔ Files ignored due to path filters (75)
src/libs/ElevenLabs/Generated/ElevenLabs.ElevenLabsClient.g.csis excluded by!**/generated/**src/libs/ElevenLabs/Generated/ElevenLabs.IElevenLabsClient.g.csis excluded by!**/generated/**src/libs/ElevenLabs/Generated/ElevenLabs.ISpeechToSpeechClient.CreateSpeechToSpeechByVoiceId.g.csis excluded by!**/generated/**src/libs/ElevenLabs/Generated/ElevenLabs.ISpeechToSpeechClient.CreateSpeechToSpeechByVoiceIdStream.g.csis excluded by!**/generated/**src/libs/ElevenLabs/Generated/ElevenLabs.ITextToSpeechClient.CreateTextToSpeechByVoiceId.g.csis excluded by!**/generated/**src/libs/ElevenLabs/Generated/ElevenLabs.ITextToSpeechClient.CreateTextToSpeechByVoiceIdStream.g.csis excluded by!**/generated/**src/libs/ElevenLabs/Generated/ElevenLabs.ITextToSpeechClient.CreateTextToSpeechByVoiceIdStreamWithTimestamps.g.csis excluded by!**/generated/**src/libs/ElevenLabs/Generated/ElevenLabs.ITextToSpeechClient.CreateTextToSpeechByVoiceIdWithTimestamps.g.csis excluded by!**/generated/**src/libs/ElevenLabs/Generated/ElevenLabs.ITextToVoiceClient.CreateTextToVoiceCreatePreviews.g.csis excluded by!**/generated/**src/libs/ElevenLabs/Generated/ElevenLabs.ITextToVoiceClient.CreateTextToVoiceCreateVoiceFromPreview.g.csis excluded by!**/generated/**src/libs/ElevenLabs/Generated/ElevenLabs.ITextToVoiceClient.g.csis excluded by!**/generated/**src/libs/ElevenLabs/Generated/ElevenLabs.IUsageClient.GetUsageCharacterStats.g.csis excluded by!**/generated/**src/libs/ElevenLabs/Generated/ElevenLabs.IVoicesClient.CreateVoicesAdd.g.csis excluded by!**/generated/**src/libs/ElevenLabs/Generated/ElevenLabs.IVoicesClient.CreateVoicesByVoiceIdEdit.g.csis excluded by!**/generated/**src/libs/ElevenLabs/Generated/ElevenLabs.Models.AddVoiceIVCResponseModel.g.csis excluded by!**/generated/**src/libs/ElevenLabs/Generated/ElevenLabs.Models.BodyCreateANewVoiceFromVoicePreviewV1TextToVoiceCreateVoiceFromPreviewPost.g.csis excluded by!**/generated/**src/libs/ElevenLabs/Generated/ElevenLabs.Models.BodyCreateANewVoiceFromVoicePreviewV1TextToVoiceCreateVoiceFromPreviewPostLabels.g.csis excluded by!**/generated/**src/libs/ElevenLabs/Generated/ElevenLabs.Models.BodyEditVoiceV1VoicesVoiceIdEditPost.g.csis excluded by!**/generated/**src/libs/ElevenLabs/Generated/ElevenLabs.Models.BodyGenerateAVoicePreviewFromDescriptionV1TextToVoiceCreatePreviewsPost.g.csis excluded by!**/generated/**src/libs/ElevenLabs/Generated/ElevenLabs.Models.BodySpeechToSpeechStreamingV1SpeechToSpeechVoiceIdStreamPost.g.csis excluded by!**/generated/**src/libs/ElevenLabs/Generated/ElevenLabs.Models.BodySpeechToSpeechV1SpeechToSpeechVoiceIdPost.g.csis excluded by!**/generated/**src/libs/ElevenLabs/Generated/ElevenLabs.Models.BodyTextToSpeechStreamingV1TextToSpeechVoiceIdStreamPost.g.csis excluded by!**/generated/**src/libs/ElevenLabs/Generated/ElevenLabs.Models.BodyTextToSpeechStreamingV1TextToSpeechVoiceIdStreamPostApplyTextNormalization.g.csis excluded by!**/generated/**src/libs/ElevenLabs/Generated/ElevenLabs.Models.BodyTextToSpeechStreamingWithTimestampsV1TextToSpeechVoiceIdStreamWithTimestampsPost.g.csis excluded by!**/generated/**src/libs/ElevenLabs/Generated/ElevenLabs.Models.BodyTextToSpeechStreamingWithTimestampsV1TextToSpeechVoiceIdStreamWithTimestampsPostApplyTextNormalization.g.csis excluded by!**/generated/**src/libs/ElevenLabs/Generated/ElevenLabs.Models.BodyTextToSpeechV1TextToSpeechVoiceIdPost.g.csis excluded by!**/generated/**src/libs/ElevenLabs/Generated/ElevenLabs.Models.BodyTextToSpeechV1TextToSpeechVoiceIdPostApplyTextNormalization.g.csis excluded by!**/generated/**src/libs/ElevenLabs/Generated/ElevenLabs.Models.BodyTextToSpeechWithTimestampsV1TextToSpeechVoiceIdWithTimestampsPost.g.csis excluded by!**/generated/**src/libs/ElevenLabs/Generated/ElevenLabs.Models.BodyTextToSpeechWithTimestampsV1TextToSpeechVoiceIdWithTimestampsPostApplyTextNormalization.g.csis excluded by!**/generated/**src/libs/ElevenLabs/Generated/ElevenLabs.Models.BreakdownTypes.g.csis excluded by!**/generated/**src/libs/ElevenLabs/Generated/ElevenLabs.Models.ChapterResponseModel.g.csis excluded by!**/generated/**src/libs/ElevenLabs/Generated/ElevenLabs.Models.FineTuningResponseModel.g.csis excluded by!**/generated/**src/libs/ElevenLabs/Generated/ElevenLabs.Models.GetCharactersUsageMetricsV1UsageCharacterStatsGetBreakdownType.g.csis excluded by!**/generated/**src/libs/ElevenLabs/Generated/ElevenLabs.Models.ProjectExtendedResponseModel.g.csis excluded by!**/generated/**src/libs/ElevenLabs/Generated/ElevenLabs.Models.ProjectExtendedResponseModelAccessLevel.g.csis excluded by!**/generated/**src/libs/ElevenLabs/Generated/ElevenLabs.Models.ProjectExtendedResponseModelExperimental.g.csis excluded by!**/generated/**src/libs/ElevenLabs/Generated/ElevenLabs.Models.ProjectResponseModel.g.csis excluded by!**/generated/**src/libs/ElevenLabs/Generated/ElevenLabs.Models.ProjectResponseModelAccessLevel.g.csis excluded by!**/generated/**src/libs/ElevenLabs/Generated/ElevenLabs.Models.VoicePreviewResponseModel.g.csis excluded by!**/generated/**src/libs/ElevenLabs/Generated/ElevenLabs.Models.VoicePreviewResponseModelMediaType.g.csis excluded by!**/generated/**src/libs/ElevenLabs/Generated/ElevenLabs.Models.VoicePreviewsResponseModel.g.csis excluded by!**/generated/**src/libs/ElevenLabs/Generated/ElevenLabs.Models.VoiceResponseModel.g.csis excluded by!**/generated/**src/libs/ElevenLabs/Generated/ElevenLabs.Models.VoiceResponseModelSafetyControl.g.csis excluded by!**/generated/**src/libs/ElevenLabs/Generated/ElevenLabs.Models.VoiceSharingModerationCheckResponseModel.g.csis excluded by!**/generated/**src/libs/ElevenLabs/Generated/ElevenLabs.Models.VoiceSharingResponseModel.g.csis excluded by!**/generated/**src/libs/ElevenLabs/Generated/ElevenLabs.SpeechToSpeechClient.CreateSpeechToSpeechByVoiceId.g.csis excluded by!**/generated/**src/libs/ElevenLabs/Generated/ElevenLabs.SpeechToSpeechClient.CreateSpeechToSpeechByVoiceIdStream.g.csis excluded by!**/generated/**src/libs/ElevenLabs/Generated/ElevenLabs.TextToSpeechClient.CreateTextToSpeechByVoiceId.g.csis excluded by!**/generated/**src/libs/ElevenLabs/Generated/ElevenLabs.TextToSpeechClient.CreateTextToSpeechByVoiceIdStream.g.csis excluded by!**/generated/**src/libs/ElevenLabs/Generated/ElevenLabs.TextToSpeechClient.CreateTextToSpeechByVoiceIdStreamWithTimestamps.g.csis excluded by!**/generated/**src/libs/ElevenLabs/Generated/ElevenLabs.TextToSpeechClient.CreateTextToSpeechByVoiceIdWithTimestamps.g.csis excluded by!**/generated/**src/libs/ElevenLabs/Generated/ElevenLabs.TextToVoiceClient.CreateTextToVoiceCreatePreviews.g.csis excluded by!**/generated/**src/libs/ElevenLabs/Generated/ElevenLabs.TextToVoiceClient.CreateTextToVoiceCreateVoiceFromPreview.g.csis excluded by!**/generated/**src/libs/ElevenLabs/Generated/ElevenLabs.TextToVoiceClient.g.csis excluded by!**/generated/**src/libs/ElevenLabs/Generated/ElevenLabs.UsageClient.GetUsageCharacterStats.g.csis excluded by!**/generated/**src/libs/ElevenLabs/Generated/ElevenLabs.VoicesClient.CreateVoicesAdd.g.csis excluded by!**/generated/**src/libs/ElevenLabs/Generated/ElevenLabs.VoicesClient.CreateVoicesByVoiceIdEdit.g.csis excluded by!**/generated/**src/libs/ElevenLabs/Generated/JsonConverters.BodyTextToSpeechStreamingV1TextToSpeechVoiceIdStreamPostApplyTextNormalization.g.csis excluded by!**/generated/**src/libs/ElevenLabs/Generated/JsonConverters.BodyTextToSpeechStreamingV1TextToSpeechVoiceIdStreamPostApplyTextNormalizationNullable.g.csis excluded by!**/generated/**src/libs/ElevenLabs/Generated/JsonConverters.BodyTextToSpeechStreamingWithTimestampsV1TextToSpeechVoiceIdStreamWithTimestampsPostApplyTextNormalization.g.csis excluded by!**/generated/**src/libs/ElevenLabs/Generated/JsonConverters.BodyTextToSpeechStreamingWithTimestampsV1TextToSpeechVoiceIdStreamWithTimestampsPostApplyTextNormalizationNullable.g.csis excluded by!**/generated/**src/libs/ElevenLabs/Generated/JsonConverters.BodyTextToSpeechV1TextToSpeechVoiceIdPostApplyTextNormalization.g.csis excluded by!**/generated/**src/libs/ElevenLabs/Generated/JsonConverters.BodyTextToSpeechV1TextToSpeechVoiceIdPostApplyTextNormalizationNullable.g.csis excluded by!**/generated/**src/libs/ElevenLabs/Generated/JsonConverters.BodyTextToSpeechWithTimestampsV1TextToSpeechVoiceIdWithTimestampsPostApplyTextNormalization.g.csis excluded by!**/generated/**src/libs/ElevenLabs/Generated/JsonConverters.BodyTextToSpeechWithTimestampsV1TextToSpeechVoiceIdWithTimestampsPostApplyTextNormalizationNullable.g.csis excluded by!**/generated/**src/libs/ElevenLabs/Generated/JsonConverters.BreakdownTypes.g.csis excluded by!**/generated/**src/libs/ElevenLabs/Generated/JsonConverters.BreakdownTypesNullable.g.csis excluded by!**/generated/**src/libs/ElevenLabs/Generated/JsonConverters.ProjectExtendedResponseModelAccessLevel.g.csis excluded by!**/generated/**src/libs/ElevenLabs/Generated/JsonConverters.ProjectExtendedResponseModelAccessLevelNullable.g.csis excluded by!**/generated/**src/libs/ElevenLabs/Generated/JsonConverters.ProjectResponseModelAccessLevel.g.csis excluded by!**/generated/**src/libs/ElevenLabs/Generated/JsonConverters.ProjectResponseModelAccessLevelNullable.g.csis excluded by!**/generated/**src/libs/ElevenLabs/Generated/JsonConverters.VoicePreviewResponseModelMediaType.g.csis excluded by!**/generated/**src/libs/ElevenLabs/Generated/JsonConverters.VoicePreviewResponseModelMediaTypeNullable.g.csis excluded by!**/generated/**src/libs/ElevenLabs/Generated/JsonSerializerContext.g.csis excluded by!**/generated/**src/libs/ElevenLabs/Generated/JsonSerializerContextTypes.g.csis excluded by!**/generated/**
📒 Files selected for processing (1)
- src/libs/ElevenLabs/openapi.yaml (47 hunks)
🧰 Additional context used
🔇 Additional comments (2)
src/libs/ElevenLabs/openapi.yaml (2)
4037-4045: Consistent text normalization parameter added across TTS endpointsThe
apply_text_normalizationparameter has been consistently added to all text-to-speech endpoints with identical configuration. This is a good practice for API consistency.Also applies to: 4106-4114, 4175-4183, 4244-4252
3925-3929: Background noise removal parameter added to speech-to-speech endpointsThe
remove_background_noiseparameter has been added to speech-to-speech endpoints with clear documentation about its purpose and limitations.Also applies to: 3954-3958
Summary by CodeRabbit
New Features
Improvements