puppeteer-api / test_puppeteer_api_v2.ps1
seungminkwak's picture
reset: clean history (purge leaked token)
08b23ce
param(
[string]$BaseUrl = "https://seungminkwak-puppeteer-api.hf.space",
[string]$Token = "",
[string]$MeshUrl = "https://cdn.jsdelivr.net/gh/KhronosGroup/glTF-Sample-Models@master/2.0/CesiumMan/glTF-Binary/CesiumMan.glb",
[string]$Workdir = "job-cesium",
[int]$MaxTries = 12,
[int]$DelaySec = 10
)
$ErrorActionPreference = "Stop"
Write-Host "=== Puppeteer API quick test ==="
Write-Host "[1] /health"
$health = Invoke-RestMethod -Uri "$BaseUrl/health" -Headers @{ Authorization = "Bearer $Token" }
$health | ConvertTo-Json -Depth 6 | Write-Host
Write-Host "[2] /rig"
$body = @{ mesh_url = $MeshUrl; workdir = $Workdir } | ConvertTo-Json -Depth 6
$resp = Invoke-RestMethod -Uri "$BaseUrl/rig" -Headers @{ Authorization = "Bearer $Token"; "Content-Type"="application/json" } -Method POST -Body $body
$resp | ConvertTo-Json -Depth 6 | Write-Host
Write-Host "[3] Poll /list"
$files = @()
for ($i=1; $i -le $MaxTries; $i++) {
try {
$list = Invoke-RestMethod -Uri "$BaseUrl/list" -Headers @{ Authorization = "Bearer $Token" }
if ($list.files_preview) {
$files = $list.files_preview
Write-Host (" -> Found: {0}" -f ($files -join ", "))
break
} else {
Write-Host (" -> Try {0}/{1}: no files yet" -f $i, $MaxTries)
}
} catch {
Write-Host (" -> Try {0}/{1}: error {2}" -f $i, $MaxTries, $_.Exception.Message)
}
Start-Sleep -Seconds $DelaySec
}
if (-not $files -or $files.Count -eq 0) {
Write-Host "No result files found." -ForegroundColor Red
exit 2
}
# choose a file
$preferred = "/data/results/rigged.glb"
$target = if ($files -contains $preferred) { $preferred } else { $files[0] }
Write-Host ("[4] Download {0}" -f $target)
$enc = [uri]::EscapeDataString($target)
$newDir = Join-Path $PWD "results"
New-Item -ItemType Directory -Path $newDir -Force | Out-Null
$out = Join-Path $newDir (Split-Path -Leaf $target)
Invoke-WebRequest -Uri "$BaseUrl/download?path=$enc" -Headers @{ Authorization = "Bearer $Token" } -OutFile $out
Write-Host ("Saved to {0}" -f $out)
try { ii $out | Out-Null } catch {}
Write-Host "=== Done ==="