Skip to content

Quickstart ​

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.

Choose your path ​

PathStart here
Integrator (Tier A)Integrator guide — public API only, no self-host
HTTP clientContinue below — curl or PowerShell
Home feed appHome feed cookbook — timeline, projects, explore (not dealer mini-apps / chat)
BrowserAPI Playground — Request tab shows public URLs
AI agentsMCP — 10 gommo_* tools, token from /app/token/
Self-host (operators)Deploy → Self-host (advanced)

Prerequisites ​

ItemValue
Gommo accountemail + password + registration domain (dealer-specific — see Authentication)
HTTPS clientcurl, 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.

1. Login (api.gommo.net) ​

bash
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%"
powershell
$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_token

2. List models (v2.api.gommo.net) ​

Never guess ratio — read from catalog only.

bash
curl.exe "https://v2.api.gommo.net/ai/models?type=image" ^
  -H "Authorization: Bearer %TOKEN%"
powershell
$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.

3. Create image job (form body) ​

bash
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"
powershell
$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 $body

4. Poll until done ​

POST 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 ​

  • scripts/test-image-job.ps1 — Gommo public API smoke test
  • scripts/test-gateway.ps1 — operators only (self-host REST/proxy); see Deploy → Self-host (advanced)

Next ​