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()