งาน async + poll loop
ใช้เมื่อต้องการ job id ทันทีและ poll จากแอป (หรือ Playground poll loop)
Gommo poll interval: 3500ms สูงสุด 80 ครั้ง (~5 นาที) แต่ละ poll คือ POST ไป /th/ai/jobs/{id_base}?media=…
Public API
Create: POST https://v2.api.gommo.net/ai/jobs/image/{model_id} (form body) Poll: POST https://v2.api.gommo.net/ai/jobs/{id_base}?media=image ดู Gommo public API
1. สร้างงาน
สมมติ $env:TOKEN, $slug, $ratio จาก งานรูปแรก
powershell
$h = @{ Authorization = "Bearer $env:TOKEN" }
$body = "domain=%REGISTRATION_DOMAIN%&project_id=default&prompt=A cute cat&ratio=$ratio"
$created = Invoke-RestMethod -Method POST `
-Uri "https://v2.api.gommo.net/ai/jobs/image/$slug" `
-Headers $h `
-ContentType "application/x-www-form-urlencoded" `
-Body $body
$jobId = $created.imageInfo.id_base ?? $created.data.id_base ?? $created.id_base
Write-Host "jobId=$jobId"2. Poll ครั้งเดียว
powershell
$pollBody = "domain=%REGISTRATION_DOMAIN%&project_id=default"
$poll = Invoke-RestMethod -Method POST `
-Uri "https://v2.api.gommo.net/ai/jobs/$jobId?media=image" `
-Headers $h `
-ContentType "application/x-www-form-urlencoded" `
-Body $pollBody
$poll3. Loop ง่าย (PowerShell)
powershell
$max = 80
$intervalSec = 3.5
for ($i = 1; $i -le $max; $i++) {
$poll = Invoke-RestMethod -Method POST `
-Uri "https://v2.api.gommo.net/ai/jobs/$jobId?media=image" `
-Headers $h `
-ContentType "application/x-www-form-urlencoded" `
-Body $pollBody
$url = $poll.imageInfo.result_url ?? $poll.data?.resultUrl
if ($url) { Write-Host "Done: $url"; break }
Write-Host "Attempt $i — waiting..."
Start-Sleep -Seconds $intervalSec
}Poll media: image | video | music — ต้องตรงกับประเภทงาน
Playground
Media job → ยกเลิก wait → Poll job → Auto poll (3.5s)
