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"]