chiyi
3a2c9710c3
更新runway 2api风控
2026-07-10 13:25:42 +08:00
chiyi
8d792e66e0
加回 nano-banana-2 与 nano-banana-pro 并存
2026-07-10 12:02:14 +08:00
chiyi
2afb4e7857
nano-banana-2 升级为 nano-banana-pro (workflow_gemini_image / gemini-3-pro-image-preview, 支持 2K/4K)
2026-07-10 11:19:51 +08:00
chiyi
a636f79cd8
更新
2026-07-10 10:59:14 +08:00
chiyi
6350df7c03
更新md
2026-07-10 08:30:28 +08:00
chiyi
ec3b17c55a
颜色统一
2026-07-10 00:30:44 +08:00
chiyi
788c97d9d5
ai去特征展示
2026-07-10 00:23:14 +08:00
chiyi
6a3588b35b
ai去特征增加开关
2026-07-10 00:13:09 +08:00
chiyi
6d6bd2a638
增加ai去特征
2026-07-09 23:48:58 +08:00
chiyi
21cca6513b
更新下载超时延长
2026-07-09 19:38:30 +08:00
chiyi
bfd8c2acd5
Merge branch 'fix/grok-statsig-header-refresh'
2026-07-09 19:25:30 +08:00
chiyi
65ca95a736
Merge branch 'devin/1783580774-grok-statsig-selfheal'
2026-07-09 19:25:03 +08:00
chiyi
0612e83081
Merge branch 'devin/1783582849-image-cookie-rolling'
2026-07-09 19:24:37 +08:00
chiyi
81c040cb0b
优化上游错误重试
2026-07-09 17:45:31 +08:00
chiyi
33b5fc3b0e
fix(runway): retry the /v1/tasks submit on transient errors
...
A dropped proxy connection (EOF) or 5xx on the task-create failed the whole generation. submitTask now retries transient (ErrTemporaryUpstream) submits up to 3x with backoff, honoring ctx. Applies to both Nano Banana image and Gen-4 video. Validated: 10/10 4K images (19-24MB PNG each) generated across 10 accounts.
2026-07-09 17:06:43 +08:00
chiyi
cc6a2b1c54
fix(runway): raise the tls-client timeout so large artifact downloads don't cancel
...
Runway (Nano Banana 2) used a 30s whole-request timeout that includes reading the response body, so downloading a rendered image/video artifact off a slow CDN aborted with 'request canceled (Client.Timeout or context cancellation while reading body)'. Raised to 300s; genCtx still bounds the overall generation.
2026-07-09 16:55:02 +08:00
chiyi
fba6772584
fix(imagine,krea,leonardo): poll for the full genCtx budget instead of a short hardcoded cap
...
imagine/krea capped polling at 4min and leonardo at 5min while the caller's genCtx budget is 8min, so slow-but-valid generations were killed early with 'generation timed out'. Now the poll deadline tracks ctx.Deadline() minus 60s download headroom (fallback to the old fixed cap if ctx has no deadline). chatgpt already ties its budget to the deadline (pollBudget) and runway/grok honor ctx, so no change needed there.
2026-07-09 16:52:16 +08:00
chiyi
5198b08bdf
fix(adobe): poll until the genCtx deadline instead of a shorter hardcoded cap
...
pollImage/pollVideo capped themselves at 3min/10min while the caller's genCtx budget is 8min (image) / 12min (video), so slow-but-valid generations were killed early with 'adobe generation timed out'. Now the loop honors ctx.Err() and uses the full budget.
2026-07-09 16:49:21 +08:00
chiyi
622bc9ba9a
feat(providers): account calls (auth/refresh/credits) egress on the local IP
...
Now only the generate/video submit uses proxy.url; cookie-exchange/login, token refresh, credit-balance and project/session bootstrap all go direct. Also splits adobe GenerateVideo (submit=proxy, poll/download=local). Verified live: adobe gpt 1K cookie-exchange via local IP, submit 23.244.30.102 (proxy) vs local 76.209.9.65, 2.0MB PNG. Build+vet pass.
2026-07-09 16:36:04 +08:00
chiyi
2987053b10
feat(grok): account calls (credits/subscription/session) egress on the local IP
...
Only the conversations/new generate submit still uses proxy.url; FetchCreditsBalance, FetchSubscription and FetchSession now go direct.
2026-07-09 16:32:21 +08:00
chiyi
57e3ee4cef
feat(grok): route only the conversations/new submit through the proxy
...
Reference-frame upload, the mp4 download and OpenAsset (/content) streaming now egress on the local IP; only the generate submit uses proxy.url. Verified live: submit egress 98.97.26.37 (proxy) vs upload/download 76.209.9.65 (local), 3.47MB video generated OK.
2026-07-09 16:26:18 +08:00
chiyi
6c2a942a88
feat(providers): route only the generate submit through the proxy
...
Extends the adobe split to leonardo, krea, imagine, runway (image+video) and chatgpt: reference-image upload, polling and result download egress on the local IP; only the generate/task-create submit uses proxy.url. chatgpt keeps its anti-bot-guarded submit+upload phase on the proxy and moves only the existing second (poll/resolve/download) session to local. custom is already direct. Build+vet pass; adobe verified live, the other providers are code-complete but not yet live-tested (no dev accounts).
2026-07-09 16:21:31 +08:00
chiyi
db3219416e
feat(adobe): route only the image-generate submit through the proxy
...
Reference-image upload, job polling and result download now run on the local IP; only the generate submit egresses via proxy.url. Verified live: submit egress 74.244.159.228 (proxy) vs upload/poll/download 76.209.9.65 (local), 1K adobe gpt image generated OK.
2026-07-09 16:08:33 +08:00
chiyi
a414385802
fix(auth): roll session cookie Max-Age on each authed request
...
The server session slides its TTL on use but the browser cookie's Max-Age was frozen at login, so it lapsed mid-session and broke cookie-only auth (private image <img>/download loads returned 401) while the SPA still looked logged in via its Bearer token. Re-issue the cookie with a fresh Max-Age whenever an authenticated request carried it.
2026-07-09 15:40:54 +08:00
chiyi
48cfbff592
fix(grok): self-heal x-statsig-id from live homepage seed+curves
...
Derive the 49-byte header seed and the salt F per-session from the grok homepage (browser-free tls-client GET), instead of hardcoding constants that go stale on every grok web rebuild (403 anti-bot). F is reproduced natively in Go (curve keyframe sampling: cubic-bezier easing, color lerp, rotation matrix, JS-exact number->hex). Static constants remain as env-overridable fallback. Adds offline regression test against server-verified ground-truth triples.
2026-07-09 15:07:12 +08:00
chiyi
f3803d01cf
更新adobe协议
2026-07-08 20:17:33 +08:00
chiyi
98b5f5a5c3
chatgot更新换号重试
2026-07-08 13:13:25 +08:00
chiyi
452a7bb450
更新公告展示
2026-07-08 09:49:54 +08:00
chiyi
e45ff5ef9a
恢复gpt
2026-07-08 09:22:26 +08:00
chiyi
5e809d375b
更新调度
2026-07-07 13:22:34 +08:00
chiyi
ce390d9b67
增加指纹随机
2026-07-07 12:28:02 +08:00
chiyi
67354c3b8c
增加随机指纹
2026-07-07 12:03:52 +08:00
chiyi
10c312eb09
修复账号没了找不到email
2026-07-06 18:36:11 +08:00
chiyi
d3a479ed76
修复误判死
2026-07-06 15:52:09 +08:00
chiyi
c25e162841
grok 判死
2026-07-06 15:43:31 +08:00
chiyi
23dd70505a
优化违禁词
2026-07-06 14:28:43 +08:00
chiyi
b103e6d35e
忽略原本的id
2026-07-06 12:54:03 +08:00
chiyi
18f29fff88
更新后端分页数量
2026-07-06 12:20:30 +08:00
chiyi
89e0a9df9f
优化违禁词
2026-07-06 12:18:09 +08:00
chiyi
713cca8f67
优化chatgpt检查
2026-07-06 10:57:41 +08:00
chiyi
e05db36f63
优化错误检查
2026-07-06 10:37:46 +08:00
chiyi
e517c56225
更新chatgpt协议
2026-07-06 10:21:44 +08:00
chiyi
c96bee4094
增加积分
2026-07-05 22:45:27 +08:00
chiyi
729a061840
更新统计
2026-07-05 19:54:49 +08:00
chiyi
07aa50e8ff
更新统计
2026-07-05 19:52:47 +08:00
chiyi
d7056de56e
更新支付
2026-07-05 18:48:49 +08:00
chiyi
f27c6ba60c
增加批量导入违禁词
2026-07-05 14:59:05 +08:00
chiyi
cfb7d2e0ea
更新图标
2026-07-05 14:51:34 +08:00
chiyi
28fe59a1af
修复视频分辨率问题
2026-07-05 14:35:36 +08:00
chiyi
02fff338cf
优化展示
2026-07-05 12:58:48 +08:00
chiyi
c708ba65ad
更新增加尾巴
2026-07-05 03:20:50 +08:00
chiyi
06f16e7924
所有拦截请求都写入日志
2026-07-05 03:15:43 +08:00
chiyi
2d1fcd9162
md更新
2026-07-05 03:06:51 +08:00
chiyi
10d0732f8c
增加违禁词管理 增加多选操作
2026-07-05 03:00:49 +08:00
chiyi
4d5b49c2a9
更新增加关闭
2026-07-05 01:35:53 +08:00
chiyi
19626810d1
优化复制预览体验
2026-07-05 01:31:32 +08:00
chiyi
18e92b1cc6
增加复制功能
2026-07-04 23:47:03 +08:00
chiyi
60375e6cbe
增加表格滚动条
2026-07-04 22:35:39 +08:00
chiyi
b83007edb6
修复下载问题
2026-07-04 19:45:29 +08:00
chiyi
fab9998a18
更新调度
2026-07-04 15:38:32 +08:00
chiyi
ac08a7d066
优化展示
2026-07-04 15:37:19 +08:00
chiyi
daad121f12
优化调度
2026-07-04 15:23:43 +08:00
chiyi
b4e9b233ca
修复日志展示
2026-07-04 15:09:01 +08:00
chiyi
aef01923b0
支持模型别名
2026-07-04 15:01:24 +08:00
chiyi
03f9744dcb
增加模型别名
2026-07-04 14:49:52 +08:00
chiyi
641a021f7a
grok更新
2026-07-04 12:53:48 +08:00
chiyi
34e69adefc
grok修复
2026-07-03 23:33:04 +08:00
chiyi
c6a8ca440a
修复grok视频参考图
2026-07-03 23:10:04 +08:00
chiyi
f9e72c0168
修复bug
2026-07-03 18:12:46 +08:00
chiyi
53dc178804
更新尺寸兼容
2026-07-03 10:27:49 +08:00
chiyi
1f205fc096
修复分辨率
2026-07-03 10:13:48 +08:00
chiyi
dbd2d1b79a
更新导入设计
2026-07-03 09:19:56 +08:00
chiyi
4e2844ff51
grok修复恢复时间
2026-07-03 02:10:30 +08:00
chiyi
b744c5f486
更新gpt参考图数量
2026-07-03 01:52:12 +08:00
chiyi
273892f98f
更新缩略图
2026-07-03 00:15:41 +08:00
chiyi
7bb0531c4b
去掉teamid
2026-07-02 22:24:45 +08:00
chiyi
c5a059df6c
去掉1500字数限制
2026-07-02 20:54:52 +08:00
chiyi
7a168a1dd8
adobe限流不封号
2026-07-02 16:59:27 +08:00
chiyi
dde178f8f7
增加上传重试
2026-07-02 15:38:54 +08:00
chiyi
12070ff4fd
更新日志展示
2026-07-02 14:23:30 +08:00
chiyi
39b149b206
更新openai风控协议
2026-07-02 13:57:08 +08:00
chiyi
c99c134713
增加重试
2026-07-02 12:03:03 +08:00
chiyi
ab94165af2
修复视频bug
2026-07-02 11:50:50 +08:00
chiyi
41bd120404
修复grok 403
2026-07-02 11:04:47 +08:00
chiyi
1de4fe99ca
提示词最大限制
2026-07-02 08:51:49 +08:00
chiyi
803ce31a86
更新greok调度
2026-07-02 00:25:12 +08:00
chiyi
4ddf6cc775
更新md
2026-07-01 23:22:26 +08:00
chiyi
6b429a8530
修复并发编辑问题
2026-07-01 22:31:42 +08:00
chiyi
57a59c7c76
修复展示遮罩挡住 修复最大字数
2026-07-01 16:44:29 +08:00
chiyi and Claude Opus 4.8
9be5c1b31f
docker: compose 去掉环境变量依赖(值内联),README 同步
...
- docker-compose.yml 所有 ${VAR:-default} 改为内联写死,无需 .env,直接 docker compose up -d --build
- createbucket 服务保留(借 mc 客户端给 RustFS 建桶,一次性)
- README(中英)改口径:自定义密码/密钥/CORS 直接改 compose 文件
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com >
2026-07-01 10:10:05 +08:00
chiyi and Claude Opus 4.8
6acc428e74
docker: 前端 nginx HTTP :2000(外部反代接管域名/TLS,不再内置证书);README + logo
...
- docker-compose.yml:去 acme,web 端口 2000(WEB_PORT),CORS_ORIGINS/COOKIE_SECURE 直配,清理证书 volumes
- frontend nginx 模板/Dockerfile:纯 HTTP :2000,删自签证书 + cert-watch 入口脚本
- 删除 install.sh、.env.docker.example(compose 直接 up,不再需要一键脚本/模板)
- README(中英):部署改为 Docker(2000端口反代)+ 源码两法;去 acme/自动 HTTPS 表述;结构/徽章同步;顶部加 Vivid logo(favicon.svg);视频 720p/1080p 分辨率对照表(DocsView)
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com >
2026-07-01 09:58:59 +08:00
chiyi and Claude Opus 4.8
4cd5454a27
docs: 更新 README —— 充值/易支付、并发分组、订单、公告;size 取代 quality;视频 720p/1080p
...
- 核心功能补充:在线充值(易支付微信/支付宝)、并发分组、订单、站内公告、累计充值
- 前台/后台功能清单同步(充值·订单·公告·并发组·订单管理)
- 去掉已移除的 quality:size 同时决定比例+分辨率档(图像看长边 1K/2K/4K,视频看短边 720p/1080p)
- API 示例、仓库结构(provider/epay、repo/views)同步;中英文一致
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com >
2026-07-01 08:54:06 +08:00
chiyi and Claude Opus 4.8
8ec4562f81
feat: 易支付积分充值 + 站内公告 + OpenAI 视频修复 + grok/adobe 失败处理
...
充值/订单(易支付 mapi):
- 订单表 + 30 分钟自动取消;支付弹窗(二维码/跳转监控、倒计时、轮询、5s 倒计时关闭)
- 系统设置可配:开关/商户ID/密钥/支付地址(根地址拼 /mapi)/支付方式/最低额/积分比例(默认 1元=100积分)
- 异步通知 MD5 验签、幂等到账;用户累计充值;前台/后台订单页(筛选+搜索+分页,前后台分风格);用户管理累计充值列
站内公告:
- Markdown 公告,登录用户首次访问/刷新弹出;内容哈希做版本,改了就重新推;管理员不弹;空内容=下线
OpenAI 视频(/v1/videos)修复:
- /content 拿不到视频:grok 资源 URL 需鉴权,改为用生成账号 token 取流;adobe/runway 公开 URL 直代理(不存 RustFS)
- size→分辨率用短边判定(1280x720 = 720p,之前误判 1080p 被拒)
失败处理:
- grok 429「Too many requests」/403 anti-bot 改判临时错误(不再误封号),真额度耗尽才算 quota
- adobe 视频 408 / system under load 归为临时错误 → tempAsDead 封号
其它:
- 充值默认关闭;签到格子浅色可见;登录验证码按钮浅色可读;并发/账户信息展示
- 创作记录/画图台只显示画图台作品(排除 API);日志页 API 视频预览显示 —
- 视频去画中画/下载/投屏(全局);图片缩略图改背景图规避 Edge 视觉搜索
- 订单/兑换码/配置/日志菜单文案与图标;充值版块样式
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com >
2026-07-01 01:32:33 +08:00
chiyi and Claude Opus 4.8
5cf6206ee9
feat: 并发分组系统 + 品牌/Logo 上传 + 兑换码开关 + 文档分辨率表
...
并发分组(新功能):
- 新表 concurrency_groups(名称/上限/默认),用户加 concurrency_group_id
- 启动自动建「默认并发」组(上限10、默认),老用户回填、新注册自动绑定
- 并发计数改用 Redis(自愈 sorted-set + TTL + fail-open):
· 用户并发(画图台 + API key 合计)受其分组上限限制,0=不限制 → 超返回 429
· 账号级并发也从内存 gate 换成同一套 Redis(6 处调用点)
· 移除旧的「已有正在生成的任务」单任务锁
- 后台「并发分组」新菜单:增删改、设默认、用户数;默认组不可删(删别的组成员转默认)
- 用户管理:并发列 + 新建/编辑可选分组
- 个人设置页:账户信息卡(用户名/邮箱/角色/余额/并发);/me 暴露 concurrency_group/limit
品牌 / Logo(上传到 RustFS):
- Logo 改成拖拽/点击上传,点保存才上传;替换自动删旧;branding/ 设为公开且被清理任务 pin 住(永不删)
- 有自定义就用:前台左侧 nav + 后台侧栏 + favicon(浏览器标签);没有则默认 V 图标
- 前台页头还原成文字;首页 Hero 子标题用 site.subtitle(默认那句宣传语,设置页预填)
- 邮件验证码标题用站点名;新增 POST/DELETE /settings/logo + POST /settings/asset(首页底图上传)
兑换码开关:
- 系统设置→积分 新增「开启兑换码」(默认开);关闭后后端拒绝兑换、前台隐藏兑换入口(/site 暴露 cdk_redeem_enabled)
文档 / 分辨率:
- 去掉 quality 参数:size(宽x高)同时决定比例 + 分辨率档(长边映射 1K/2K/4K)
- 文档加「分辨率对照表」(14 个比例 × 1K/2K/4K → size 该传的值);guessRatio 与自定义模型 RATIO_OPTS 对齐到 14 个
其它:
- 删模型时同步清掉各上游账号「支持模型」里的该 id
- 首页设置/兑换码弹窗去固定高度滚动条;展示位弹窗浅色主题适配
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com >
2026-06-30 13:52:31 +08:00
chiyi and Claude Opus 4.8
1137d0bd1d
feat: 画图台并发重构 + 品牌定制 + 用户备注 + provider/UI 多项修复
...
画图台(并发出图):
- 不再锁定 UI:点「生成」开独立任务,可连续多次并发
- 结果网格一行5个、最多10张,进行中/成功/失败状态回显,刷新保留进行中
- 生图张数 1/2/3/4,各自独立计费出卡
- 点图=参考图(单张替换/多张替换末位);首尾帧模型点视频=抓末帧设为首帧,否则放大
- /logs 新增 statuses=pending,success 服务端过滤(status IN 专用 SQL)
品牌定制(设置→网站):
- 自定义 Logo 图片 + 子标题(公开页头部 + 管理侧栏)
- 邮件验证码标题改用站点名:{title} 邮箱验证码
提示词复制:
- 去掉复制按钮,点提示词文字即复制(预览/后台日志/图片管理/画图记录),统一弹「指令已复制」
- 新增 utils/clipboard.js:execCommand 回退,非安全上下文(http/IP)也能复制
用户管理:列表加「备注」列,新建/编辑可填改备注(默认空)
provider 修复:
- grok 401 正确判死封号(markTokenFailure 漏了 grok 池)
- grok 视频支持 15s
- custom 上游报错去敏感(抹掉上游 URL/IP,改英文短描述)
- custom 去掉额度耗尽锁定:429/欠费当临时错误,账号保持 active
UI/其它:
- 展示位弹窗浅色主题适配(tab 选中高亮、输入框边框)— 主题变量 + 中心补丁
- 自定义模型:时长可填任意秒数 + 15s 预设
- 首页设置/卡密弹窗去固定高度与滚动条
- 顶部菜单「记录」→「图片」
- 下线 Flow provider(代码移除)
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com >
2026-06-30 01:11:22 +08:00
chiyi and Claude Opus 4.8
3ef84bb9b3
feat: 自定义 OpenAI 兼容上游聚合 + 权重/并发调度
...
- custom provider:把任意 v1 端点当账号(base_url+key),按 model id 路由,
直连不走代理;支持 images/generations、images/edits、Sora 式异步视频
- 调度器全局权重优先 + 每账号并发感知(上游账号可配并发,其余系统固定)
- 后台:添加/编辑上游、自定义模型表单(每档普通/代理价,留空=不支持)、
账号权重/并发列与导入权重
- grok-video / nano-banana-2(runway) 写入硬编码目录(开源自带);
去掉 540p,Adobe 视频最低 720p
- UI:SelectMenu 与输入框等高、测试耗时改用秒
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com >
2026-06-28 21:59:46 +08:00
chiyi and Claude Opus 4.8
d289ec378d
feat(ui): rename 图生图→参考图 with count; distinguish video 首尾帧 vs 参考图
...
- model list: any model with max_reference_images>0 shows 首尾帧 N (frame mode)
or 参考图 N (asset/other); drop the count-less "图生图" label
- ModelFormModal / TestModal: capability labels use 参考图 (not 图生图)
- grok-video uses reference_mode=asset (参考图), runway/adobe video stay frame (首尾帧)
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com >
2026-06-28 14:51:26 +08:00
chiyi and Claude Opus 4.8
17cd289dfd
feat: add Grok (grok.com) video provider; runway nano-banana image; unify runway/grok pool policy
...
- grok provider: imagine text/image-to-video (media.post.create → conversations/new),
GetGrokCreditsConfig credit query (remaining = 100 - used) + weekly reset, spoofed
x-statsig-id (no Cloudflare clearance needed), /api/auth/session email lookup,
6 reference images, 10 concurrent jobs/account, no token refresh (dead = dead)
- runway: nano-banana-2 image flow (Nano Banana 2); drop pre-deduct + post-success
reconcile; out-of-credits/403 → dead (no revive); 10-ratio support
- imagine: drop post-success credit reconcile (consistent with krea)
- account gate: per-account N-concurrency (grok=10, others=1)
- admin: provider health lists all 7 providers; frontend import auto-detects Grok SSO
- docs: README (CN/EN) updated to 7 providers + Grok
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com >
2026-06-28 04:01:06 +08:00
chiyi and Claude Opus 4.8
8633addf64
docs: expand repo structure with subdirectories; drop stray adobe.zip
...
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com >
2026-06-26 00:02:14 +08:00
chiyi and Claude Opus 4.8
0ee0c85786
docs: update account-management screenshot
...
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com >
2026-06-25 23:29:41 +08:00