File size: 1,108 Bytes
105f2e1
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
557e100
 
 
 
 
 
 
105f2e1
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
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
import os
from pathlib import Path

try:
    from dotenv import load_dotenv
except ImportError:
    def load_dotenv(*args, **kwargs):
        return False


load_dotenv(override=True)

if os.getenv("ANTHROPIC_BASE_URL"):
    os.environ.pop("ANTHROPIC_AUTH_TOKEN", None)


WORKDIR = Path.cwd()
ARTIFACT_ROOT = Path(os.getenv("AIGC_ARTIFACT_ROOT", "outputs"))
if not ARTIFACT_ROOT.is_absolute():
    ARTIFACT_ROOT = WORKDIR / ARTIFACT_ROOT
ARTIFACT_ROOT = ARTIFACT_ROOT.resolve()

DEFAULT_CADQUERY_OUTPUT_PATH = str(ARTIFACT_ROOT / "model.step")
DEFAULT_LUX3D_OUTPUT_PATH = str(ARTIFACT_ROOT)
STEP_SUFFIXES = (".step", ".stp")
IMAGE_SUFFIXES = (".png", ".jpg", ".jpeg", ".webp")

LUX3D_API_KEY_ENV = "LUX3D_API_KEY"
LUX3D_CREATE_URL = "https://api.luxreal.ai/global/lux3d/generate/task/create"
LUX3D_GET_URL = "https://api.luxreal.ai/global/lux3d/generate/task/get"
LUX3D_POLL_INTERVAL_SECONDS = 12
LUX3D_TIMEOUT_SECONDS = 600


def get_client():
    from anthropic import Anthropic

    return Anthropic(base_url=os.getenv("ANTHROPIC_BASE_URL"))


def get_model_id() -> str:
    return os.environ["MODEL_ID"]