Salta ai contenuti

Crea modello della libreria

Parti dal blocco configurazione dello script, quindi aggiungi il codice dello snippet qui sotto.

Crea un modello, carica il file all’URL firmato, quindi finalizza e monitora lo stato.

# ... 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)