import base64 import json from handler import EndpointHandler from PIL import Image import io import os import subprocess # Initialize the handler # base_dir = os.path.dirname(os.path.abspath(__file__)) # video_root = os.path.join(base_dir, "dw_poses_videos") # extract_pose_path = os.path.join(base_dir, 'extract_dwpose_from_vid.py') # command = f'python3 {extract_pose_path} --video_root {video_root}' # # Run the command with shell=True # result = subprocess.run(command, shell=True, capture_output=True, text=True) # if result.returncode != 0: # raise RuntimeError(f"Error running extract_dwpose_from_vid.py: {result.stderr}") handler = EndpointHandler() # Define sample inputs inputs = { "inputs": { "ref_image_url": "https://media.discordapp.net/attachments/1237667074210267217/1247398713228263494/image.jpg?ex=665fe214&is=665e9094&hm=ba3863d8149e4e43c6ec271b09fcd4027b6a58cc65b7a658797ab9fbc74b4808&=&format=webp&width=896&height=1194", "video_url": "https://firebasestorage.googleapis.com/v0/b/quiz-app-edffe.appspot.com/o/tell_my_bf_shortened_pose.mp4?alt=media&token=d3b7cb47-6fbb-435c-94a7-2cbd62705efb", "length": 48, "num_inference_steps": 15, "cfg": 3.5, "seed": -1, "firebase_doc_id" : "0gkm91Ao0GsmQ2WdLP9c" } } # Simulate an inference call output = handler(inputs) # # Decode the base64 video output video_base64 = output.get("video", "") video_bytes = base64.b64decode(video_base64) # Save the video to a file with open("output_video.mp4", "wb") as video_file: video_file.write(video_bytes) print("Inference completed. Output video saved as output_video.mp4")