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