라이브러리 모델 생성
아래 스크립트 설정 블록에서 시작한 다음, 아래의 스니펫 코드를 추가하세요.
모델을 생성하고, 서명된 URL에 파일을 업로드한 다음, 마무리하고 상태를 폴링합니다.
# ... script setup ...
FILE_PATH = "model.glb"filename = os.path.basename(FILE_PATH)filesize = os.path.getsize(FILE_PATH)
create_result = api_post( f"/v1/asset-library/{ORGANIZATION_ID}/models", {"name": "My Model", "files": [{"filename": filename, "filesize": filesize}]},)model_id = create_result["id"]file_id = create_result["fileId"]upload_link = create_result["uploadLink"]
with open(FILE_PATH, "rb") as file_handle: put_response = requests.put( upload_link, data=file_handle, headers={"Content-Length": str(filesize)}, )put_response.raise_for_status()etag = put_response.headers["ETag"]
api_post( f"/v1/asset-library/{ORGANIZATION_ID}/models/{model_id}/finalize", {"fileId": file_id, "etag": etag},)
import time
for attempt in range(1, 61): detail = api_get(f"/v1/asset-library/{ORGANIZATION_ID}/models/{model_id}") status = detail.get("status", "unknown") print(f"[{attempt}] status={status}") if status in {"ready", "readyForSetup", "failed", "cancelled"}: print(json.dumps(detail, indent=2)) break time.sleep(5)