F

Fast AFF Studio

v1
💰 (held ) Authed No API key Swagger

Profiles

Tài khoản Google Veo3 đã thêm. Round-robin sẽ xoay vòng các profile active.

Hiển thị:
Không có tag khớp.
Profile Tags Proxy Status Captcha Bearer / Cookie Fail Last used Actions
Chưa có profile. Click + Add Profile để thêm.
Không có profile nào khớp bộ lọc.

Tag Manage

Quản lý tag + xem profiles theo từng tag. Tag có dấu chấm tròn = đã có metadata màu; không có = implicit (gray).

🏷 Tags ()

Generate Image

🖼 Kéo-thả · Ctrl+V dán · click + Add image. Cần ≥ 1 ảnh để gen I2I.

ảnh ref (không giới hạn)

Tuần tự: mỗi ảnh ~30s, tổng ~s. Song song: ~30s nếu Generation concurrency ≥ .

Result

📋 Live log polling…
(no log yet)

Image gần đây

Job Type Prompt Status Profile / Mode IP Created User
Chưa có image nào.

Generate Video — Veo3

Veo3 chạy bất đồng bộ: bấm Generate → video dựng trong vài phút → trạng thái tự cập nhật. Chỉ dùng profile gắn tag video (tài khoản Google trả phí).

⚠ Chưa có profile nào gắn tag video. Vào tab Profiles → Edit profile → thêm tag video (Veo3 cần tài khoản trả phí).

Result

📋 Live log polling…
(no log yet)

Job Prompt Status Profile / Mode IP Created User

Reference-to-Video — Veo3

Dùng 1+ ảnh tham chiếu làm asset hình ảnh, sau đó Veo3 dựng video theo prompt. Áp dụng cho profile gắn tag video.

🖼 Kéo-thả ảnh vào đây, bấm + Add image, hoặc Ctrl+V dán từ clipboard

ảnh · tổng ⚠ >20 MB có thể chậm

⚠ Chưa có profile nào gắn tag video.

Result

📋 Live log polling…
(no log yet)

Job Refs Prompt Status Profile / Mode IP Created User

Frame-to-Frame Video — Veo3 Interpolation

Upload 2 ảnh (frame đầu + frame cuối) hoặc Ctrl+V paste từ clipboard. Veo3 tự interpolate transition giữa 2 frame thành video. Profile phải gắn tag video (Veo3 paid tier).

📋 Live log polling…
(no log yet)

Job Frames Prompt Status Profile / Mode IP Created User
Chưa có F2V job nào.

📁 Media Library

Ảnh đã upload — re-use cho R2V mà không phải upload lại.

Project ID: · ảnh ·
⚠ Chọn 1 profile (có tag video + projectId set) để xem library.
Đã chọn ảnh

Project ID:
Media ID:
Mime:
Size:
Dimensions:
Uploaded:
Use count:

🚀 Captcha Profile Pool

Quản lý Chrome warm instances per profile_id trên captcha server.

Pool: / Idle kill: Cleanup tick: Display range:

⚙️ Auto-Destroy Policy

Sau N lượt 403 PERMISSION_DENIED liên tiếp từ Google Labs, tự động Destroy profile khỏi pool (wipe Chrome state — cookies giữ qua re-inject).

⚠️ Threshold ≤ 3 có thể destroy nhầm profile bị proxy hiccup tạm thời. Em recommend 5-10 để cân bằng.

Đang track profile(s) với 403 counter > 0
24h
7 ngày
30 ngày
All time

📜 Lịch sử Auto-Destroy

Mỗi lần policy fire → 1 dòng. Persisted vô DB (survives restart). Click profile name để xem detail.

Thời gian Profile Scope Counter / Threshold Destroy?
Chưa có sự kiện Auto-Destroy nào. (Tính năng hoạt động khi gen ảnh/video gặp 403 liên tiếp đủ ngưỡng.)
Bulk actions:
Profile Display Solves Idle Status Actions
Pool trống. Gen 1 captcha với profile có mode=pool → instance sẽ xuất hiện ở đây.

🎭 Fingerprints

tuples • Auto-pool: • Custom:

📊 FP Success Rate

Tỷ lệ gen thành công / tổng request theo từng fp (snapshot tại thời điểm gen). ON = fp được dùng cho profile mới • OFF = loại khỏi auto-pool • 🗑 xóa hẳn khỏi DB (chỉ custom + không có profile override).

FP id / name Pool OK Fail Total Success% Action

Chưa có data — gen vài ảnh rồi reload.

Đang load...

No fingerprints match the filters.

Fingerprint

🎲 Auto Generate điền toàn bộ field từ pool 29 builtin (vendor + renderer reused).

📚 Gallery

Ảnh succeeded. Click thumbnail để xem to.

Video succeeded. ▶ Play để xem.

Trang
Trang
jobs đang chờ tag · background trickle on · tagger off (bật ở Settings → GoClaw)

📊 Báo cáo gen

Thống kê image / video / R2V / F2V theo khoảng thời gian. Admin only.

Khoảng:

🖼️ Image
/
Rate · T2I: · I2I:
🎬 Video (T2V)
/
Rate
🎞️ R2V
/
Rate
🎬 F2V
/
Rate
TOTAL
/
Rate · Active /

📅 Breakdown theo ngày

Date (ICT) Image ✅
(succ/limit)
Video ✅
(succ/limit)
R2V ✅ F2V ✅ Total ✅ Status
Không có dữ liệu trong khoảng này.

💡 Limit (Image/Video) = tổng image_quota_per_day/video_quota_per_day của tất cả profile bật quota. Date theo múi giờ Việt Nam (ICT, UTC+7).

👥 Breakdown theo profile (sort by Succeeded DESC)

Show: rows
/
Profile Image ✅
(succ/limit)
Video ✅
(succ/limit)
R2V ✅ F2V ✅ Total ✅ Quota
Không có profile active trong khoảng này.
Page

⏱️ Quota usage (realtime) — chỉ profile đã bật giới hạn

/ Không có profile nào bật quota. Không tìm thấy profile khớp.
Show: rows
Profile Tags Image /giờ Image /ngày Video /giờ Video /ngày Action
Page
Đang tải…
✅ Thành công
🔴 429 / quota
🟠 403 / reputation
⚪ Fail khác
⏳ Đang chạy

Tỉ lệ tổng (theo khoảng đã chọn)

Tỉ lệ lỗi:
🟩 Thành công🟥 429/quota🟧 403⬜ Fail khác

🔄 Theo Nhóm xoay (tag)

NhómProfile 🔴 429 🟠 403⚪ khác Tỉ lệLỗi%
Chưa có nhóm nào (gắn tag cho profile để gom nhóm).

👥 Theo profile (nhiều lỗi nhất trước)

ProfileNhóm 🔴 429 🟠 403⚪ khác Tỉ lệLỗi%
Không có dữ liệu trong khoảng này.

💡 403/429 nhận diện từ text cột error (heuristic). 429 = rate/quota; 403 = reputation/recaptcha; “Đang chạy” = queued/running/polling.

🔄 Sức khỏe Nhóm xoay (live, tự refresh 15s)

cập nhật
NhómTổng 🟢 chạy⏳ chờ 🛌 nghỉ⚠ khác
Chưa có nhóm nào (gắn tag cho profile).

📋 Trạng thái từng profile + countdown active

ProfileNhóm Trạng tháiCountdown FailDùng gần nhất
Không có profile.

💡 Countdown đếm theo đồng hồ server (chống lệch giờ máy). 🛌 nghỉ = bench 429 (local-executor); ⏳ chờ = active rảnh; 🟢 chạy = đang có job.

Settings

Chia thành 4 nhóm để khỏi cuộn dài. Tab Account & Billing dùng được cho mọi key; API Keys + System chỉ hiện với admin.

API Key

Dán key được admin cấp. Lưu vào localStorage của trình duyệt.

Phải khớp với ApiKeys.Allowed trong appsettings.json, hoặc 1 key đã được admin cấp qua UI.

Bạn

Label:
Prefix:
Role: 🛡️ admin user

Ví của bạn

📢 Thông báo (banner)

Hiện 1 banner cho TẤT CẢ khách (bảo trì / khuyến mãi). Lưu xong, khách thấy trong ~90 giây · cài riêng từng VPS.

⚠ Lưu → đẩy lên web ngay; mọi khách (kể cả người đã tắt banner cũ) sẽ thấy lại trong ~90 giây.

Xem trước

Banner đang TẮT hoặc chưa có nội dung — khách không thấy gì.

Theo ngôn ngữ đang chọn (🇻🇳/🇬🇧 ở góc trên). Đây chỉ là xem trước cục bộ — bấm Lưu mới phát cho khách.

Captcha runtime config

Khi Google Labs đổi siteKey hoặc action, sửa ở đây thay vì sửa appsettings.json. Để trống = dùng giá trị mặc định từ appsettings.

Server URL:
Website: · Timeout: s

Generation concurrency

Số luồng tạo ảnh chạy song song trên mỗi profile. Mặc định 1 = tuần tự (an toàn nhất). Tăng lên cho phép nhiều request chồng nhau trên cùng 1 profile. Áp dụng cho toàn bộ profile.

⚠ Giá trị > 1 dùng chung 1 bearer + 1 IP cho nhiều request đồng thời — tăng rủi ro Google flag account, và mỗi luồng ngốn thêm 1 captcha browser trên server. Khuyến nghị giữ ≤ 2.
luồng / profile (1–)
Delay ngẫu nhiên giữa 2 luồng trên 1 profile: giây (mỗi luồng chờ ngẫu nhiên trong khoảng này trước khi gọi)
Tổng luồng song song toàn hệ thống (image + video): luồng (1–)

Cap cứng cho toàn bộ job đang chạy đồng thời (cả image + video, cả submit + poll). Per-profile cap ở trên vẫn áp dụng bên trong giới hạn này. Captcha server hiện cap 10 concurrent Chrome → khuyến nghị ≤ 8.

⏱️ Human Delay (giữa captcha return và Google submit)

Mỗi gen request, sau khi captcha trả token sẽ sleep ngẫu nhiên trong khoảng [Min, Max] ms trước khi gọi Google Labs / Veo. Mục đích: không submit back-to-back <1ms như bot — mimic người dùng dừng đọc trang. Set Min=Max=0 để tắt. Áp dụng cho cả 5 pipeline: T2I, I2I, T2V, R2V, F2V (và mọi retry).

Hard ceiling: . Effect hiển thị:

🛑 Bench 429 (nhóm xoay vòng)

Khi 1 profile (chạy bằng tool local) dính 429, nó bị "bench" (OFF) trong số phút này — local-claim + round-robin nhóm sẽ BỎ QUA nó; hết giờ tự ON lại nhận job. Áp dụng khi gen qua Nhóm xoay (tag) ở dropdown Profile.

📅 Cooldown khi HẾT QUOTA NGÀY (429 daily-quota)

Khi lỗi 429 chứa DAILY_QUOTA / PER_MODEL_DAILY_QUOTA_REACHED (account hết quota NGÀY của model) → bench profile. 429 rate-limit thường vẫn dùng cooldown ở ô trên.

⚠️ Số cứng có thể hết SỚM hơn lúc Google reset thật → profile "rảnh giả" nhưng gen vào 429 lại (vùng chết).

Bench đến 0h Pacific kế tiếp + buffer (chống lệch giờ reset). Tự xử DST hè/đông. VD 15.

🎭 Fingerprint Pipeline (ON/OFF)

Toggle toàn cục pipeline giả thiết bị (Windows spoof + per-fp UA + JS stealth + canvas/audio noise). BẬT = behavior hiện tại (29 builtin fp, CDP setUserAgentOverride, stealth JS). TẮT = captcha server chạy Chrome 148 native trên Linux, backend submit cũng dùng Linux UA — solve và submit đồng bộ Linux Chrome thật. Sửa kèm cờ NATIVE_FP_MODE ở app.py: OR-ed (chỉ cần 1 trong 2 = OFF là toàn pipeline tắt).

Captcha server tự fetch toggle mới mỗi 30s (cache TTL). Backend đọc ngay khi gen.

🖥️ GPU / WebGL (SwiftShader) — THÍ NGHIỆM

⚠️ Cảnh báo: TẮT để giảm CPU (bỏ gpu-process SwiftShader ~500%/solve) — NHƯNG WebGL sẽ biến mất → tín hiệu bot mạnh → RẤT có thể 403 TĂNG / solve fail. Chỉ để A/B test + đo tỉ lệ thành công. Mặc định BẬT (an toàn). Đòn bẩy CPU an toàn thật là hạ concurrency, không phải nút này.

Có hiệu lực ở lần Chrome (re)spawn kế tiếp (captcha fetch mỗi 30s; chạy restart.sh để áp ngay). Đổi xong nhớ đo "no such window" + tỉ lệ 403 trước/sau.

🖥️ Local Worker — gen bằng Chrome THẬT (vượt 403)

BẬT = mọi lệnh gen ảnh (web + API) được đẩy xuống tool ProfileLogin chạy Chrome thật trên máy của anh thay vì pipeline VPS headless → reCAPTCHA chấm điểm "người thật" → thoát 403. Yêu cầu: tool bật ở chế độ Worker + đã nhập API key. Số luồng/profile, tổng luồng & chu kỳ refresh Bearer được cấu hình NGAY TRÊN TOOL (theo cấu hình máy). TẮT = chạy pipeline VPS như cũ. Mặc định TẮT.

Khi BẬT mà tool chưa chạy/offline: job xếp hàng queued chờ tool claim (request trả về 202 để client poll). Bearer + projectId tool tự bắt trong Chrome — không cần lưu ở server.

📡 Local Worker — Live (theo dõi tool đang chạy)

Đang gen
Profile mở
✅ Thành công
❌ Lỗi
Claim cuối
Chưa có log. Bật Worker trên tool + Start để xem hoạt động hiện ở đây (~3s/lần).

Tool đẩy trạng thái + log mỗi ~3s khi chạy. Offline = tool chưa chạy / chưa trỏ API về VPS này.

🛡️ In-Page Submit (TLS/H2 fingerprint coherent)

Toggle master cho 5 luồng gen (T2I / I2I / Veo / R2V / F2V) — captcha solve + Google submit chạy chung 1 Chrome session. BẬT = đồng nhất JA3/H2-SETTINGS/UA-CH/CH-UA (recommended, giảm 403/429 do TLS mismatch). TẮT = backend submit qua .NET HttpClient (fallback khi captcha server lỗi 500/503 hàng loạt). Hot-reload — không cần restart backend.

Áp dụng đồng đều cho cả captcha mode FreshPool. Lưu state trong DB key inpage.enabled.

🍪 Cookie Pipeline (Logged-in vs Anonymous)

Toggle global cho việc gửi cookie từ DB lên captcha server. BẬT = profile có cookie sẽ gửi cookie → captcha chạy logged-in session (reCAPTCHA score thường cao hơn). TẮT = bỏ qua cookie dù profile có → captcha chạy ANONYMOUS mode (dùng để test scenario "no cookie OK, with cookie 403"). Hot-reload — không cần restart backend.

Ảnh hưởng cả captcha mode FreshPool. Khi OFF: backend skip decrypt profile.CookieEnc và gửi cookieJson=null cho captcha server. Lưu state trong DB key cookie.enabled.
⚠ Anonymous mode có thể giảm throughput Google Labs (quota/score thấp hơn) — dùng để A/B test, không nên để OFF lâu dài.

🔄 Project Rotation Policy Phase 71

Tự động thay profile.projectId để invalidate Google's resource-scoped abuse counter (chống 403 PUBLIC_ERROR_UNUSUAL_ACTIVITY). Cùng tài khoản, projectId UUID mới → cache miss → score reset.

📊 Rotation Stats (last h)

Tổng rotation
Theo trigger
no data
Top rotators
no data

Per-profile override: set qua API PUT /api/v1/profiles/{id}/rotation-config hoặc nút "🔄 Rotate Now" trong profile-edit. NULL field = inherit global.
Atomic: rotation dùng UPDATE WHERE current_project_id=@old + cooldown + hourly cap trong cùng transaction. 2 gen concurrent không thể double-rotate.
Audit: mỗi rotation ghi 1 row trong project_rotation_audit. per_request mode ghi audit nhưng KHÔNG đụng profile.project_id.

🎯 User-Agent Mode (Hybrid)

Chọn UA cho cả captcha solve (Chrome --user-agent flag) lẫn backend submit (.NET FpHeaderApplier). Auto = giữ logic per-fp hiện tại (Windows spoof per profile). Preset = chọn 1 UA chuẩn đã verify coherent với Chrome 148 binary. Custom = nhập UA tự do (chỉ Chrome 148 — chặn major version khác để tránh CH-vs-UA mismatch).

Warning: UA major version phải KHỚP với Chrome binary VPS (148). Nếu khác → navigator.userAgentData (Client Hints) vẫn báo 148 → mismatch → reCAPTCHA detect bot.

Effective right now:
UA:
Platform:

Captcha server cache 30s — đổi mode mất ≤30s mới apply lên Chrome spawn tiếp theo. Backend đọc ngay mỗi gen.

🚦 Captcha Concurrency Limit (Layer 1)

Backend tối đa cho phép N request captcha song song. Vượt ngưỡng → request thứ N+1 chờ trong queue thay vì gửi đè captcha server (gây 503 "No display slot available"). Captcha server Fresh mode có 10 display slot — default 8 để dư headroom. Tăng nếu throughput thấp + 503 không xảy ra. Giảm nếu vẫn 503.

Max
Currently held
Available
Total acquires
total wait: s

🧪 Diagnostics

Test các endpoint chính để xác minh server + captcha + auth còn hoạt động.


      

🛡️ Quản lý API Keys

Cấp key cho người khác dùng. Anh đang đăng nhập với (, admin).

Đã chọn: /
🟡 Profile đã gán cho key khác sẽ có nền vàng + cột "User (n)" = số key đang dùng. Hover ID để copy.
STT Name ID Email Tags User
Chưa có profile nào. Không khớp với "".
của
Trang /
/page:
→ Key sẽ truy cập mọi profile. → Key sẽ chỉ thấy profile đã tick.
tag
Chưa có tag nào.
→ Được cấp tag = thấy + dùng mọi profile mang tag đó (động). Kết hợp OR với scope profile.
🛡 Admin key bỏ qua phạm vi — truy cập mọi profile + quản lý key + xem secrets.
⚠ Lưu key này NGAY — chỉ hiển thị 1 lần
Hiển thị:
Đã chọn key Gán THÊM giữ tag cũ · bỏ qua admin key
Prefix Label Role Scope Balance Status Max Last used Created
Chưa có key active nào. Chưa có key nào.
Trang /

💰 Pricing

Giá per gen (VND). Hold lúc submit, capture khi succeeded, release khi failed. Admin keys không bị tính tiền.

Hiện tại: VND

Hiện tại: VND

Hiện tại: VND

⚠ Không đổi giá khi có job đang in-flight — sẽ có ít rủi ro mismatch (job hold giá A, capture giá A nhờ billed_amount snapshot, nhưng đổi giá vẫn nên tránh giữa giờ cao điểm).

📜 Lịch sử giao dịch của bạn

Hold lúc submit · Capture khi succeeded · Release khi failed/cancelled · Topup khi admin nạp.

Time Type Amount Balance after Job Reason
Chưa có giao dịch nào.
Đang tải…
Trang

External Bearer Pool Sync (MySQL)

Tự pull bearer mới nhất từ DB MySQL ngoài, match theo profile id, ghi đè khi token đổi.

Table mapping (advanced)
Leave blank to skip cookie sync.


      
Last sync:

🔌 GoClaw Connection

Bearer token mặc định mã hoá AES-GCM trước khi lưu DB.

🤖 Auto-Tagger Settings

Worker status: 🟢 enabled⚪ disabled · queue: · last 24h: tagged

🏷 Taxonomy Editor

Taxonomy được gửi tới Agent qua user message mỗi call — đổi instant, không cần restart.

# Name Emoji Color Jobs Actions

🎭 Roles & Permissions

System roles (Owner / Editor / Viewer / Captcha-Ops) seed mặc định, name không sửa được — chỉ sửa permission set. Custom roles tự do.

Role Loại Description # Permissions # Keys Action
Chưa load roles. Bấm Reload.

📜 Audit Log

Mỗi action quan trọng (tạo/sửa/xóa role, key) ghi 1 row. Filter theo prefix action (vd admin.role.) hoặc actor id.

Time Actor Action Target IP HTTP Details
Chưa có entry nào trùng filter.
/ entries (offset )

+ Tạo role mới Sửa role:

⚠ System role — name không sửa được, chỉ permissions.

/ permissions selected

🖥 VPS Monitor

Disk / RAM / CPU / processes của từng VPS captcha server.

🧩 Chrome version coherence

✅ ĐỒNG BỘ — không sót ⚠️ CÓ LỆCH / SÓT — xem dưới

Chưa cấu hình VPS nào trong appsettings.jsonVpsMonitor.Targets.

⚠ Threshold — Disk: >50%=🟡, >80%=🔴 | RAM: >75%=🟡, >90%=🔴 | CPU load/core: >0.8=🟡, >1.5=🔴

API Reference

Tài liệu để dev kết nối tool của họ vào Fast AFF API.

Không tải được tài liệu:

📋 Paste cURL từ Chrome DevTools (auto-fill)

1. Login labs.google/fx/vi/tools/flow → F12 → tab Network → filter "batchGenerateImages"
2. Click Generate. Right-click vào request flowMedia:batchGenerateImages → Copy → Copy as cURL (bash).
3. Paste vào ô dưới → bấm Parse.

Session ID được tự động generate mỗi lần gen ảnh theo format Chrome (;{timestamp_ms}). Không cần paste tay nữa.

⏳ Đang tải token hiện tại… Token hiện tại đã điền sẵn — sửa để thay, để trống = giữ token cũ.

⏳ Đang tải cookie hiện tại… Cookie này sẽ override veo3_cookies.json khi gọi captcha. Để trống = giữ cookie cũ; profile không có cookie sẽ fallback file global.

Note này hiển thị trên desktop tool để chọn profile harvest dễ hơn (max 2048 ký tự).

Fingerprint ID:
Platform:
Architecture:
CPU cores:
RAM:
Screen:
WebGL vendor:
WebGL renderer:
Languages:
Chrome:
Pool size:

Mapping ổn định theo hash(profileId) % poolSize. Khi clone profile → ID mới → fingerprint mới (cookie/proxy được copy nguyên). Hai profile khác nhau có thể trùng tuple này (collision) nhưng canvas/audio noise vẫn unique per profileId.

Bấm để xem profile này đang được captcha server map sang fingerprint nào (UA-CH, WebGL, hardware, screen…).

Captcha solve + Google Labs đi qua IP cố định này.

Mỗi gen sẽ gọi getCurrentProxy (cache 60s) để lấy IP hiện tại. Click Test để verify key. Sau khi save anh có thể bấm Rotate để xin IP mới.

Không dùng proxy. Captcha solve + Google Labs đều đi từ IP máy chủ này.

Nếu profile này phải dùng captcha server riêng (vd geo khác), nhập URL ở đây. Để trống = dùng default toàn cục từ Settings.

Fresh: Chrome spawn mới mỗi request — backward-compat, an toàn nhất. Pool: Captcha server giữ 1 Chrome warm per profile → nhanh hơn 2-3×, reCAPTCHA risk score thấp hơn. Cookies tự sync khi anh paste mới.

Chọn đúng gói của tài khoản Veo3. Pro: PAYGATE_TIER_ONE. Ultra: PAYGATE_TIER_TIER1P5 (mở các model Ultra như veo_3_1_t2v_fast_portrait_ultra). Chọn sai gói → gen video báo 403 MODEL_ACCESS_DENIED.

Auto: captcha server tự hash profile id → chọn fp từ pool. Override: ép profile dùng đúng 1 fp cụ thể (test variant). Quản lý pool tại tab 🎭 Fingerprints.

Image gen (T2I + I2I) — chỉ đếm ảnh THÀNH CÔNG
Video gen (T2V + R2V + F2V) — chỉ đếm video THÀNH CÔNG

💡 0 hoặc trống = unlimited ở mức đó. Vượt quota → HTTP 429 + Retry-After. Chỉ đếm status='succeeded' (failed/queued KHÔNG tính → user retry fail không bị block). Reset /ngày: 00:00 giờ VN (ICT, UTC+7).

📊 Hiện tại (live):
Image /giờ
Image /ngày
Video /giờ
Video /ngày

Reset /giờ: · Reset /ngày:

💡 Bật ON để giới hạn rate gen cho profile này → tránh burst pattern làm reCAPTCHA score giảm.

Chưa gắn tag nào.
Không có tag khớp.

Tối đa 20 tag, mỗi tag ≤ 32 ký tự. Tag mới auto thêm vào 🏷 Tag Manage sau khi lưu profile.

Download

🏷 Tạo tag mới ✏ Sửa tag:

1–32 ký tự; không dùng dấu phẩy. Cho phép chữ Việt, số, dấu cách, gạch ngang, gạch dưới.

Custom:

➕ Thêm Category ✏ Sửa Category

🗑 Xoá category ""?

Sẽ xoá category khỏi danh sách. Tag đã gắn vào job vẫn được giữ trong DB (orphan — không hiện trên sidebar nhưng vẫn search được).

Nếu muốn xoá luôn tag khỏi jobs, dùng "Re-tag all" sau đó.

🏷 Backfill auto-tag

Jobs chưa tag:
Worker enabled:
Last run:

Bấm "Run now" → tag ngay 1 batch (≤200 jobs). Background trickle tiếp tục chạy nếu enabled.

💰 Nạp credit cho key

1 credit = 1 VND. Sau khi nạp, key có thể gen ngay.

Phạm vi profile cho key

Bỏ tick hết = truy cập mọi profile. Tick = chỉ những profile đã tick.

Đã chọn: /
🟡 Profile đã gán cho key KHÁC sẽ có nền vàng + cột "User (n)". Hover ID để copy.
STT Name ID Email Tags User
Chưa có profile nào. Không khớp với "".
của
Trang /
/page:
→ Key sẽ truy cập mọi profile. → Key sẽ chỉ thấy profile.

⚙ Manage key:

/ selected
Chưa load roles. Vào tab Roles → Reload, hoặc bấm .
💡 Effective permissions (UNION)
selected · unrestricted (all) scoped
Chưa có profile nào. Bỏ trống = unrestricted.
tag · được cấp chưa cấp tag
Chưa có tag nào (gắn tag cho profile trước).
Được cấp tag = thấy + dùng MỌI profile mang tag đó (tự động khi thêm/bớt profile khỏi tag). Kết hợp OR với Scope profile ở trên. Profile không tag → chỉ admin thấy.
Số POST /images đồng thời tối đa cho key này.
⬇ Download