Merge pull request #17061 from AdamJohnSwan/dev

fix: for forming TTS request URL when there is a slash at the end of the base URL
This commit is contained in:
Tim Jaeryang Baek 2025-09-01 00:01:43 +04:00 committed by GitHub
commit ebfc887869
No known key found for this signature in database
GPG key ID: B5690EEEBB952194

View file

@ -4,7 +4,6 @@ import logging
import os
import uuid
from functools import lru_cache
from pathlib import Path
from pydub import AudioSegment
from pydub.silence import split_on_silence
from concurrent.futures import ThreadPoolExecutor
@ -15,7 +14,7 @@ import aiohttp
import aiofiles
import requests
import mimetypes
from urllib.parse import quote
from urllib.parse import urljoin, quote
from fastapi import (
Depends,
@ -338,7 +337,7 @@ async def speech(request: Request, user=Depends(get_verified_user)):
timeout=timeout, trust_env=True
) as session:
r = await session.post(
url=f"{request.app.state.config.TTS_OPENAI_API_BASE_URL}/audio/speech",
url=urljoin(request.app.state.config.TTS_OPENAI_API_BASE_URL, "/audio/speech"),
json=payload,
headers={
"Content-Type": "application/json",
@ -466,8 +465,7 @@ async def speech(request: Request, user=Depends(get_verified_user)):
timeout=timeout, trust_env=True
) as session:
async with session.post(
(base_url or f"https://{region}.tts.speech.microsoft.com")
+ "/cognitiveservices/v1",
urljoin(base_url or f"https://{region}.tts.speech.microsoft.com", "/cognitiveservices/v1"),
headers={
"Ocp-Apim-Subscription-Key": request.app.state.config.TTS_API_KEY,
"Content-Type": "application/ssml+xml",