но всегда сталкиваюсь с ошибкой при создании аудиофайла, не знаю, чего мне не хватает >
Narrater.py
Код: Выделить всё
import openai
def parse(narration):
output = []
lines = narration.split("/n")
for line in lines:
if line.startswith('Background: '):
background = line.replace("Background:","Background: ")
output.append({
"type":"image",
"description":background
})
elif line.startswith("Narration:"):
text = line.replace("Narration:","Narration:")
output.append({
"type":"text",
"content":text
})
return output
def create(data,output_path="output_audio.mp3"):
narration = "" # Initialize the narration variable as an empty string
for element in data:
if element["type"] != 'text':
continue
narration += element["content"] + "\n\n"
audio = openai.audio.speech.create(
model="tts-1",
input = narration,
voice="alloy"
)
audio.stream_to_file(output_path)
Код: Выделить всё
# Read the source material from a file
with open("source_material.txt", "r") as f:
source_material = f.read()
# Create the chat completion
response = openai.chat.completions.create(
model="gpt-3.5-turbo",
messages=[
{
"role": "system",
"content": """You are a short Video Narratorthat reads the data and explains
it. You generate 30S TO 1 minutes of narration.
The short you create has a background that fades from image to image as the narration is going on.
Respond in the following manner, repeating until the end of the short:
Background: Description of background image based on the narration for AI Image Generation and also add the data
Narration: A few sentences of narration based on the data in detail
Background: Description of background image based on the narration for AI Image Generation with data and also add the data
Narration: A few sentences of narration based on the data in detail
Background: Description of background image based on the narration for AI Image Generation with data and also add the data
Narration: A few sentences of narration based on the data in detail
Background: Description of background image based on the narration for AI Image Generation with data and also add the data
Narration: A few sentences of narration based on the data in detail
Background: Description of background image based on the narration for AI Image Generation with data and also add the data
Narration: A few sentences of narration based on the data in detail
The short MUST be 6 sentences maximum.
"""
},
{
"role": "user",
"content": f"Create a short video narrator based on the following source material:\n\n{source_material}"
}
]
)
# Extract the generated content from the response
generated_content = response.choices[0].message.content
# Print the generated content
data = narrator.parse(generated_content)
print(data)
audio = narrator.create(data, "narration.mp3")
[{'type': 'image' , 'description': "Предыстория: динамичное и современное офисное помещение цифрового маркетинга с экранами, на которых отображаются красочные графики и диаграммы, связанные с данными об эффективности рекламы.\nКомментарий: анализ данных об эффективности рекламной кампании. показывает стабильный рост показов, кликов и конверсий в течение пяти дней. Затраты также растут по мере расширения кампании, но вместе с ними растет и доход, что указывает на положительную окупаемость инвестиций.\n\nФон: элегантная комната для анализа данных с футуристическим дизайном. голографические дисплеи, демонстрирующие различные рассчитанные показатели.\nКомментарий: углубившись в рассчитанные показатели, мы видим, что рейтинг кликов остается относительно стабильным около 1,5%, в то время как цена за клик Коэффициент конверсии имеет тенденцию к росту, достигая пика на третий день, что приводит к стабильной рентабельности инвестиций в рекламу (ROAS) выше 2,00.\n\nПредпосылка: инновационное маркетинговое агентство с экранами, отображающими подробную разбивку эффективности и ключевые показатели. .\nКомментарий: При более тщательном изучении данных становится очевидным, что рекламная кампания в целом работает хорошо, со здоровым балансом между экономической эффективностью и оптимизацией конверсий. Тенденции указывают на потенциальные области для дальнейшей оптимизации, чтобы максимизировать результаты и повысить рентабельность инвестиций в рекламу.\n\nПредпосылка: футуристическая среда центра управления с обновлениями показателей эффективности рекламной кампании в режиме реального времени.\nКомментарий: успех рекламной кампании отражается в расчетных показателях. показатели, демонстрирующие стабильный рейтинг кликов наряду с остающейся конкурентоспособной ценой за клик. Учитывая растущий коэффициент конверсии и стабильную рентабельность инвестиций в рекламу выше 2,00, эти данные указывают на хорошо реализованную и прибыльную рекламную стратегию.\n\nПредыстория: высокотехнологичная комната визуализации данных с интерактивными экранами, иллюстрирующими влияние различных рекламных стратегий.\nКомментарий. : В целом данные об эффективности рекламной кампании и расчетные показатели рисуют картину хорошо управляемой и эффективной маркетинговой инициативы. Последовательный рост ключевых показателей в сочетании с положительной окупаемостью рекламных расходов подчеркивает успех кампании в повышении вовлеченности и дохода для бизнеса".}]
Отслеживание (последний вызов):
Файл «D:\Python Data To Video\AppTest\Transcripter\myenv\DataTOVideo\Transcripter.py», строка 56, в
audio = narrator.create(data, "narration.mp3")
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
Файл «D:\Python Data To Video\AppTest\Transcripter\myenv\DataTOVideo\narrator.py», строка 42, в create
audio = openai.audio.speech.create(
^^^^^^^^^^^^^^^^^^^^^^^^^^^
Файл "D:\Python Data To Video\AppTest\Transcripter\myenv\Lib \site-packages\openai\resources\audio\speech.py", строка 96, в create
return self._post(
stream_cls=stream_cls))
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^ Файл "D:\Python Data To Video\AppTest\Transcripter\myenv\Lib\site-packages\openai_base_client.py", строка 957, в request
return self._request(
^^^^^^^^^^^^^^
File "D:\Python Data To Video\AppTest\Transcripter\myenv\Lib\ site-packages\openai_base_client.py", строка 1061, в _request
raise self._make_status_error_from_response(err.response) из None
openai.BadRequestError: Код ошибки: 400 - {'error': {'message': "[{'type': 'string_too_short', 'loc': (' body', 'input'), 'msg': 'Строка должна содержать хотя бы 1 символ', 'input': '',
'ctx': {'min_length': 1}}]", 'type': 'invalid_request_error', 'param': нет, 'code': нет}}
(myenv) PS D:\Python Data To Video\AppTest\Transcripter\myenv\DataTOVideo>
Я пытался понизить версию openai, но это не сработало, поэтому я пошел в по умолчанию
Подробнее здесь: https://stackoverflow.com/questions/792 ... ting-error
Мобильная версия