Bắt đầu nhanh
Từ zero đến một image job trên Gommo public API (v2.api.gommo.net + api.gommo.net). Bản đồ host: Gommo public API.
Job async
Sau create, bạn poll đến khi có URL kết quả. Đọc Vòng đời request một lần — rồi làm bước 1–3 bên dưới.
Chọn lộ trình
| Lộ trình | Bắt đầu |
|---|---|
| Integrator (Tier A) | Hướng dẫn integrator — chỉ public API, không self-host |
| HTTP client | Tiếp tục bên dưới — curl hoặc PowerShell |
| App bảng tin home | Cookbook home feed — newfeeds, projects, explore (không gồm mini-app/chat nội bộ dealer) |
| Browser | API Playground — tab Request hiện URL public |
| AI agents | MCP — 10 tool gommo_*, token từ /vi/app/token/ |
| Self-host (operator) | Deploy → Self-host nâng cao |
Điều kiện
| Mục | Giá trị |
|---|---|
| Tài khoản Gommo | email + password + domain đăng ký (xem Authentication) |
| HTTP client | curl, PowerShell, hoặc Playground |
Đặt GOMMO_API_DOMAIN (PowerShell) hoặc REGISTRATION_DOMAIN (curl.exe) trước khi chạy snippet — phải khớp domain signup của user.
Playground
Thử cùng flow trên browser: Playground — tab Endpoints hiển thị URL public đầy đủ.
1. Login (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_token2. Lấy models (v2.api.gommo.net)
Không đoán ratio — chỉ dùng giá trị từ catalog.
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"Không đoán ratio
Xem Models và Principles.
3. Tạo image job (form body)
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 $body4. Poll đến khi xong
POST https://v2.api.gommo.net/ai/jobs/{id_base}?media=image mỗi 3.5s, tối đa 80 lần — xem Vòng đời request và Cookbook: job async + poll.
Self-host (tùy chọn)
Operator deploy repo — xem Deploy → Self-host nâng cao. Không bắt buộc tích hợp Gommo.
Tiếp theo
- Vòng đời request — create → poll → kết quả
- Đọc catalog — parse
ratio/modetừPOST /ai/models - OpenAPI · SDK TypeScript
- App bảng tin home
- Gommo public API
- Principles
- Authentication
- Media reference
