1 USD ≈ 27,000 credits · display only
Reference rate may change over time.
1 USD ≈ 27,000 credits · display only
Reference rate may change over time.
Get from zero to one image job on the public Gommo API (v2.api.gommo.net + api.gommo.net). Full host map: Gommo public API.
Async jobs
After create, you poll until a result URL appears. Read Request lifecycle once — then steps 1–3 below are the golden path.
| Path | Start here |
|---|---|
| Integrator (Tier A) | Integrator guide — public API only, no self-host |
| HTTP client | Continue below — curl or PowerShell |
| Home feed app | Home feed cookbook — timeline, projects, explore (not dealer mini-apps / chat) |
| Browser | API Playground — Request tab shows public URLs |
| AI agents | MCP — 10 gommo_* tools, token from /app/token/ |
| Self-host (operators) | Deploy → Self-host (advanced) |
| Item | Value |
|---|---|
| Gommo account | email + password + registration domain (dealer-specific — see Authentication) |
| HTTPS client | curl, PowerShell, or Playground |
Set GOMMO_API_DOMAIN (PowerShell) or REGISTRATION_DOMAIN (curl.exe) before running snippets — must match the user's signup domain.
Playground
Try the same flow in browser: Playground — Endpoints tab shows full public URLs per operation.
api.gommo.net) curl.exe -X POST "https://api.gommo.net/api/apps/go-mmo/auth/login" ^
-H "Content-Type: application/x-www-form-urlencoded" ^
-d "[email protected]&password=YOUR_PASSWORD&domain=%REGISTRATION_DOMAIN%"$domain = $env:GOMMO_API_DOMAIN; if (-not $domain) { throw 'Set GOMMO_API_DOMAIN to the user registration domain (dealer)' }
$loginBody = "[email protected]&password=YOUR_PASSWORD&domain=$domain"
$login = Invoke-RestMethod -Method POST `
-Uri "https://api.gommo.net/api/apps/go-mmo/auth/login" `
-ContentType "application/x-www-form-urlencoded" `
-Body $loginBody
$env:TOKEN = $login.access_tokenv2.api.gommo.net) Never guess ratio — read from catalog only.
curl.exe "https://v2.api.gommo.net/ai/models?type=image" ^
-H "Authorization: Bearer %TOKEN%"$h = @{ Authorization = "Bearer $env:TOKEN" }
$models = Invoke-RestMethod `
-Uri "https://v2.api.gommo.net/ai/models?type=image" `
-Headers $h
$m = $models.data[0]
$slug = $m.model
if (-not $slug) { $slug = $m.slug }
$ratio = $m.ratios[0]
if ($ratio -is [pscustomobject]) { $ratio = $ratio.value }
Write-Host "model=$slug ratio=$ratio"Never guess ratio
See Models and Principles.
curl.exe -X POST "https://v2.api.gommo.net/ai/jobs/image/MODEL_SLUG" ^
-H "Authorization: Bearer %TOKEN%" ^
-H "Content-Type: application/x-www-form-urlencoded" ^
-d "domain=%REGISTRATION_DOMAIN%&prompt=A cute cat, studio photo&ratio=RATIO_FROM_MODELS"$domain = $env:GOMMO_API_DOMAIN; if (-not $domain) { throw 'Set GOMMO_API_DOMAIN to the user registration domain (dealer)' }
$body = "domain=$domain&prompt=A cute cat, studio photo&ratio=$ratio"
$job = Invoke-RestMethod -Method POST `
-Uri "https://v2.api.gommo.net/ai/jobs/image/$slug" `
-Headers @{ Authorization = "Bearer $env:TOKEN" } `
-ContentType "application/x-www-form-urlencoded" `
-Body $bodyPOST https://v2.api.gommo.net/ai/jobs/{id_base}?media=image every 3.5s, max 80 attempts — see Request lifecycle and Cookbook: async job + poll.
Self-host (optional)
Operators who deploy this repo — see Deploy → Self-host (advanced). Not required for Gommo integration.
scripts/test-image-job.ps1 — Gommo public API smoke testscripts/test-gateway.ps1 — operators only (self-host REST/proxy); see Deploy → Self-host (advanced)ratio / mode from POST /ai/modelscreateAndWait