diff --git a/core/http/routes/openai.go b/core/http/routes/openai.go index cf7241228..8dc56709f 100644 --- a/core/http/routes/openai.go +++ b/core/http/routes/openai.go @@ -76,25 +76,37 @@ func RegisterOpenAIRoutes(app *fiber.App, app.Post("/embeddings", embeddingChain...) app.Post("/v1/engines/:model/embeddings", embeddingChain...) - // audio - app.Post("/v1/audio/transcriptions", + audioChain := []fiber.Handler{ re.BuildFilteredFirstAvailableDefaultModel(config.BuildUsecaseFilterFn(config.FLAG_TRANSCRIPT)), re.SetModelAndConfig(func() schema.LocalAIRequest { return new(schema.OpenAIRequest) }), re.SetOpenAIRequest, openai.TranscriptEndpoint(application.ModelConfigLoader(), application.ModelLoader(), application.ApplicationConfig()), - ) + } + // audio + app.Post("/v1/audio/transcriptions", audioChain...) + app.Post("/audio/transcriptions", audioChain...) - app.Post("/v1/audio/speech", + audioSpeechChain := []fiber.Handler{ re.BuildFilteredFirstAvailableDefaultModel(config.BuildUsecaseFilterFn(config.FLAG_TTS)), re.SetModelAndConfig(func() schema.LocalAIRequest { return new(schema.TTSRequest) }), - localai.TTSEndpoint(application.ModelConfigLoader(), application.ModelLoader(), application.ApplicationConfig())) + localai.TTSEndpoint(application.ModelConfigLoader(), application.ModelLoader(), application.ApplicationConfig()), + } + + app.Post("/v1/audio/speech", + audioSpeechChain...) + app.Post("/audio/speech", audioSpeechChain...) // images - app.Post("/v1/images/generations", + imageChain := []fiber.Handler{ re.BuildConstantDefaultModelNameMiddleware("stablediffusion"), re.SetModelAndConfig(func() schema.LocalAIRequest { return new(schema.OpenAIRequest) }), re.SetOpenAIRequest, - openai.ImageEndpoint(application.ModelConfigLoader(), application.ModelLoader(), application.ApplicationConfig())) + openai.ImageEndpoint(application.ModelConfigLoader(), application.ModelLoader(), application.ApplicationConfig()), + } + + app.Post("/v1/images/generations", + imageChain...) + app.Post("/images/generations", imageChain...) // List models app.Get("/v1/models", openai.ListModelsEndpoint(application.ModelConfigLoader(), application.ModelLoader(), application.ApplicationConfig()))