Spaces:
Runtime error
Runtime error
File size: 2,199 Bytes
26d2e03 39efdd8 daee6bf 26d2e03 cb2e1df de28a32 cb2e1df d9f403e 033cfaf cb2e1df daef7a0 cb2e1df bf0b2b5 9ecd4e4 daef7a0 36d894e 9ecd4e4 bf0b2b5 2cc57d5 de28a32 cb2e1df de28a32 583d821 cb2e1df de28a32 ed352b4 de28a32 679d980 de28a32 |
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 57 58 |
import gradio as gr
import requests
import os
def faceSwap(file1, file2):
# Process the uploaded files (e.g., read content, perform calculations, etc.)
# Replace the following lines with your actual processing logic
#file1_content = file1.read().decode("utf-8")
#file2_content = file2.read().decode("utf-8")
#result = f"File 1 content:\n{file1_content}\n\nFile 2 content:\n{file2_content}"
#result = "It worked"
#FaceSwap Stuff
url = "https://api.prodia.com/v1/faceswap"
payload = {
"sourceUrl": file1,
"targetUrl": file2
}
headers = {
"accept": "application/json",
"content-type": "application/json"
}
api_key=os.getenv("PRODIA_API_KEY")
response = requests.post(url, json=payload, headers=headers)
if response.status_code == 200:
jobNumber = response.json().get("job")
print(f"Job created with ID: {jobNumber}")
urlBase = f"https://api.prodia.com/v1/job/{jobNumber}"
headers = {"accept": "application/json", "X-Prodia-Key": api_key}
response = requests.get(urlBase + jobNumber, headers=headers)
result = print(response)
else:
print(f"Couldn't create job. {response.status_code}")
return result
# Create a Gradio interface with two file upload components
iface = gr.Interface(
fn=faceSwap,
inputs=[
# gr.inputs.File(label="Upload File 1"),
# gr.inputs.File(label="Upload File 2")
gr.Image(label="Face File", value="FaceFile", interactive=True, show_share_button=True, container=True, type='filepath', sources=('upload', 'webcam', 'clipboard')),
gr.Image(label="Body File", value="BodyFile", interactive=True, show_share_button=True, container=True, type='filepath', sources=('upload', 'webcam', 'clipboard'))
],
outputs=[
gr.Image(type="pil", show_download_button=True),
gr.Image(type="pil", show_download_button=True)
],
#gr.Textbox(label="Job Number", placeholder="will fill in when job number received", interactive=False),
title="File Upload Interface",
description="Upload two files and process them."
)
# Launch the Gradio interface
iface.launch()
|