Задать вопрос
  • Автоматизация запроса по API в звуковую нейросеть из Excel через python?

    import os
    # import time
    
    import requests
    from openpyxl import load_workbook
    from dotenv import load_dotenv
    
    API_URL = 'https://api.edenai.run/v2/audio/text_to_speech'
    HEADERS = {"Authorization": f"Bearer {os.getenv('API_KEY')}"}
    DEFAULT_LANGUAGE = 'ru-RU'
    DEFAULT_OPTION = 'MALE'
    DEFAULT_VOICE = 'ru-RU_Alexei Syomin'
    
    
    def convert_text_to_speech(row_number: int, _id: int, text: str):
        payload = {
            'providers': 'lovoai',
            'language': DEFAULT_LANGUAGE,
            'option': DEFAULT_OPTION,
            'lovoai': DEFAULT_VOICE,
            'text': text
        }
    
        response = requests.post(API_URL, json=payload, headers=HEADERS)
        result = response.json()
    
        audio_url = result.get('lovoai', {}).get('audio_resource_url')
        if audio_url:
            audio_content = requests.get(audio_url).content
            with open(f'row_{row_number}_ID_{_id}.ogg', 'wb') as audio_file:
                audio_file.write(audio_content)
    
    
    def main(file_name: str):
        book = load_workbook(file_name)
        sheet = book.active
        for row in range(2, sheet.max_row + 1):
            _id = sheet[row][0].value
            text = sheet[row][1].value
            convert_text_to_speech(row, _id, text)
    
            # Установите задержку, если имеется ограничение на кол-во запросов в секунду
            # time.sleep(3)
    
    
    if __name__ == '__main__':
        load_dotenv()
        main('name.xlsx')
    Ответ написан
    3 комментария