Spaces:
Runtime error
Runtime error
File size: 1,691 Bytes
f534c35 |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 |
import pyktok as pyk
pyk.specify_browser("chrome") # Specify the browser to use for accessing TikTok
import os
import requests
from openai import OpenAI
client = OpenAI(api_key=os.getenv("OPENAI_API_KEY"))
import whisper
def download_audio(url):
metadata = pyk.get_tiktok_json(url)
if metadata is None:
print("Failed to retrieve TikTok metadata.")
return False
video_url = metadata['itemInfo']['itemStruct']['video']['downloadAddr']
audio_url = video_url.replace('video.mp4', 'audio.mp3')
response = requests.get(audio_url)
with open("tiktok_audio.mp3", "wb") as file:
file.write(response.content)
return True
def transcribe_audio():
model = whisper.load_model("base")
result = model.transcribe("tiktok_audio.mp3")
return result["text"]
def format_recipe(transcript):
prompt = f"Please format the following recipe transcript into a nicely formatted recipe:\n\n{transcript}"
response = client.completions.create(engine="text-davinci-003",
prompt=prompt,
max_tokens=500,
n=1,
stop=None,
temperature=0.7)
return response.choices[0].text.strip()
def main():
tiktok_url = "https://www.tiktok.com/@emmaaaaaaam_/video/7348493781961886981"
if download_audio(tiktok_url):
transcript = transcribe_audio()
formatted_recipe = format_recipe(transcript)
print("Formatted Recipe:")
print(formatted_recipe)
else:
print("Skipping recipe formatting due to audio download error.")
# Clean up temporary files
if os.path.exists("tiktok_audio.mp3"):
os.remove("tiktok_audio.mp3")
if __name__ == "__main__":
main() |