Skip to content
Snippets Groups Projects
Commit 3bfc1cc4 authored by BIRK Renaud's avatar BIRK Renaud
Browse files

feat: API GET /glb

parent e72ff776
No related branches found
No related tags found
No related merge requests found
.env
__pycache__
from gradio_client import Client, handle_file
client = Client("JeffreyXiang/TRELLIS")
result = client.predict(
api_name="/start_session"
)
print(result)
preprocessed_image = client.predict(
image=handle_file('https://i.pinimg.com/564x/79/b3/6d/79b36deeb891cf65e41c743f5350d6cf.jpg'),
api_name="/preprocess_image"
)
rand_seed = client.predict(
randomize_seed=True,
seed=0,
api_name="/get_seed"
)
result = client.predict(
image=handle_file(preprocessed_image),
multiimages=[],
seed=rand_seed,
ss_guidance_strength=7.5,
ss_sampling_steps=12,
slat_guidance_strength=3,
slat_sampling_steps=12,
multiimage_algo="stochastic",
api_name="/image_to_3d"
)
print(result)
print("image_to_3d ok")
client.predict(
api_name="/lambda_2"
)
client.predict(
mesh_simplify=None,
texture_size=0.95,
api_name="/extract_glb"
)
client.predict(
api_name="/lambda_4"
)
Flask>=2.0.3
dotenv
gradio_client>=1.7.0
pydantic>=1.8.2
requests>=2.26.0
import os
from gradio_client import Client, handle_file
class GlbController:
def get_glb(self, hf_token='', base_image_url='', ss_guidance_strength=7.5,
ss_sampling_steps=12, slat_guidance_strength=3,
slat_sampling_steps=12, multiimage_algo='stochastic',
mesh_simplify=0.95, texture_size=1024) -> str:
if hf_token == '':
hf_token = os.getenv("hf_token")
client = Client("JeffreyXiang/TRELLIS", hf_token)
client.predict(
api_name="/start_session"
)
preprocess_image_result = client.predict(
image=handle_file(base_image_url),
api_name="/preprocess_image"
)
get_seed_result = client.predict(
randomize_seed=True,
seed=0,
api_name="/get_seed"
)
client.predict(
image=handle_file(preprocess_image_result),
multiimages=[],
seed=get_seed_result,
ss_guidance_strength=ss_guidance_strength,
ss_sampling_steps=ss_sampling_steps,
slat_guidance_strength=slat_guidance_strength,
slat_sampling_steps=slat_sampling_steps,
multiimage_algo=multiimage_algo,
api_name="/image_to_3d"
)
extract_glb = client.predict(
mesh_simplify=mesh_simplify,
texture_size=texture_size,
api_name="/extract_glb"
)
return extract_glb
from dotenv import load_dotenv
from flask import Flask
from routes.glb_route import setup_routes
load_dotenv()
app = Flask(__name__)
setup_routes(app)
if __name__ == '__main__':
app.run(debug=True)
from flask import Blueprint, request
from controllers.glb_controller import GlbController
glb_bp = Blueprint('glb', __name__)
controller = GlbController()
def setup_routes(app):
@app.route('/glb', methods=['GET'])
def get_glb():
base_image_url = request.args.get('base_image_url', type=str)
hf_token = request.args.get('hf_token', '', type=str)
ss_guidance_strength = request.args.get('ss_guidance_strength', 7.5, type=float)
ss_sampling_steps = request.args.get('ss_sampling_steps', 12, type=int)
slat_guidance_strength = request.args.get('slat_guidance_strength', 3, type=float)
slat_sampling_steps = request.args.get('slat_sampling_steps', 12, type=int)
multiimage_algo = request.args.get('multiimage_algo', 'stochastic', type=str)
mesh_simplify = request.args.get('mesh_simplify', 0.95, type=bool)
texture_size = request.args.get('texture_size', 1024, type=int)
return controller.get_glb(hf_token, base_image_url, ss_guidance_strength,
ss_sampling_steps, slat_guidance_strength,
slat_sampling_steps, multiimage_algo,
mesh_simplify, texture_size)
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment