Spaces:
Runtime error
Runtime error
Update app.py
Browse files
app.py
CHANGED
|
@@ -23,17 +23,13 @@ from io import BytesIO
|
|
| 23 |
from botocore.exceptions import NoCredentialsError, PartialCredentialsError
|
| 24 |
import datetime
|
| 25 |
|
| 26 |
-
|
| 27 |
-
|
| 28 |
app = FastAPI()
|
| 29 |
|
| 30 |
-
|
| 31 |
subprocess.run(shlex.split('pip install wheel/torchmcubes-0.1.0-cp310-cp310-linux_x86_64.whl'))
|
| 32 |
|
| 33 |
from tsr.system import TSR
|
| 34 |
from tsr.utils import remove_background, resize_foreground, to_gradio_3d_orientation
|
| 35 |
|
| 36 |
-
# os.environ["CUDA_VISIBLE_DEVICES"] = "1"
|
| 37 |
|
| 38 |
HEADER = """FRAME AI"""
|
| 39 |
|
|
@@ -57,17 +53,6 @@ ACCESS = os.getenv("ACCESS")
|
|
| 57 |
SECRET = os.getenv("SECRET")
|
| 58 |
bedrock = boto3.client(service_name='bedrock', aws_access_key_id = ACCESS, aws_secret_access_key = SECRET, region_name='us-east-1')
|
| 59 |
bedrock_runtime = boto3.client(service_name='bedrock-runtime', aws_access_key_id = ACCESS, aws_secret_access_key = SECRET, region_name='us-east-1')
|
| 60 |
-
# def generate_image_from_text(pos_prompt):
|
| 61 |
-
# # bedrock_runtime = boto3.client(region_name = 'us-east-1', service_name='bedrock-runtime')
|
| 62 |
-
# parameters = {'text_prompts': [{'text': pos_prompt , 'weight':1},
|
| 63 |
-
# {'text': """Blurry, out of frame, out of focus, Detailed, dull, duplicate, bad quality, low resolution, cropped""", 'weight': -1}],
|
| 64 |
-
# 'cfg_scale': 7, 'seed': 0, 'samples': 1}
|
| 65 |
-
# request_body = json.dumps(parameters)
|
| 66 |
-
# response = bedrock_runtime.invoke_model(body=request_body,modelId = 'stability.stable-diffusion-xl-v1')
|
| 67 |
-
# response_body = json.loads(response.get('body').read())
|
| 68 |
-
# base64_image_data = base64.b64decode(response_body['artifacts'][0]['base64'])
|
| 69 |
-
|
| 70 |
-
# return Image.open(io.BytesIO(base64_image_data))
|
| 71 |
|
| 72 |
|
| 73 |
def gen_pos_prompt(text):
|
|
@@ -231,31 +216,36 @@ async def process_image(
|
|
| 231 |
do_remove_background: bool = Form(...),
|
| 232 |
foreground_ratio: float = Form(...),
|
| 233 |
mc_resolution: int = Form(...),
|
|
|
|
| 234 |
text_prompt: Optional[str] = Form(None)
|
| 235 |
):
|
| 236 |
-
|
| 237 |
-
|
| 238 |
-
|
| 239 |
-
|
| 240 |
-
|
| 241 |
-
|
| 242 |
-
|
| 243 |
-
|
| 244 |
-
|
| 245 |
-
|
| 246 |
-
|
| 247 |
-
|
| 248 |
-
|
| 249 |
-
|
| 250 |
-
|
| 251 |
-
|
| 252 |
-
|
| 253 |
-
|
| 254 |
-
|
| 255 |
-
|
| 256 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
| 257 |
else:
|
| 258 |
-
return {"
|
| 259 |
|
| 260 |
if __name__ == "__main__":
|
| 261 |
import uvicorn
|
|
|
|
| 23 |
from botocore.exceptions import NoCredentialsError, PartialCredentialsError
|
| 24 |
import datetime
|
| 25 |
|
|
|
|
|
|
|
| 26 |
app = FastAPI()
|
| 27 |
|
|
|
|
| 28 |
subprocess.run(shlex.split('pip install wheel/torchmcubes-0.1.0-cp310-cp310-linux_x86_64.whl'))
|
| 29 |
|
| 30 |
from tsr.system import TSR
|
| 31 |
from tsr.utils import remove_background, resize_foreground, to_gradio_3d_orientation
|
| 32 |
|
|
|
|
| 33 |
|
| 34 |
HEADER = """FRAME AI"""
|
| 35 |
|
|
|
|
| 53 |
SECRET = os.getenv("SECRET")
|
| 54 |
bedrock = boto3.client(service_name='bedrock', aws_access_key_id = ACCESS, aws_secret_access_key = SECRET, region_name='us-east-1')
|
| 55 |
bedrock_runtime = boto3.client(service_name='bedrock-runtime', aws_access_key_id = ACCESS, aws_secret_access_key = SECRET, region_name='us-east-1')
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 56 |
|
| 57 |
|
| 58 |
def gen_pos_prompt(text):
|
|
|
|
| 216 |
do_remove_background: bool = Form(...),
|
| 217 |
foreground_ratio: float = Form(...),
|
| 218 |
mc_resolution: int = Form(...),
|
| 219 |
+
auth: str = Form(...),
|
| 220 |
text_prompt: Optional[str] = Form(None)
|
| 221 |
):
|
| 222 |
+
|
| 223 |
+
if auth == os.getenv("AUTHORIZE"):
|
| 224 |
+
image_bytes = await file.read()
|
| 225 |
+
input_image = Image.open(BytesIO(image_bytes))
|
| 226 |
+
|
| 227 |
+
if enhance_image:
|
| 228 |
+
image_pil = generate_image_from_text(encoded_image=input_image, seed=seed, pos_prompt=text_prompt)
|
| 229 |
+
else:
|
| 230 |
+
image_pil = input_image
|
| 231 |
+
|
| 232 |
+
preprocessed = preprocess(image_pil, do_remove_background, foreground_ratio)
|
| 233 |
+
mesh_name_obj, mesh_name_glb = generate(preprocessed, mc_resolution)
|
| 234 |
+
timestamp = datetime.datetime.now().strftime('%Y%m%d%H%M%S%f')
|
| 235 |
+
object_name = f'object_{timestamp}_1.obj'
|
| 236 |
+
object_name_2 = f'object_{timestamp}_2.glb'
|
| 237 |
+
|
| 238 |
+
if upload_file_to_s3(mesh_name_obj, 'framebucket3d',object_name) and upload_file_to_s3(mesh_name_glb, 'framebucket3d',object_name_2):
|
| 239 |
+
|
| 240 |
+
return {
|
| 241 |
+
"obj_path": f"https://framebucket3d.s3.amazonaws.com/{object_name}",
|
| 242 |
+
"glb_path": f"https://framebucket3d.s3.amazonaws.com/{object_name_2}"
|
| 243 |
+
}
|
| 244 |
+
|
| 245 |
+
else:
|
| 246 |
+
return {"Internal Server Error": False}
|
| 247 |
else:
|
| 248 |
+
return {"Authentication":"Failed"}
|
| 249 |
|
| 250 |
if __name__ == "__main__":
|
| 251 |
import uvicorn
|