Spaces:
Runtime error
Runtime error
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() |