chiyi and Devin
b17cc3e9c8
fix(upstream): vivid 上传会话宽容解析 + 错误回显原始响应
...
vivid 协议各实现的 /v1/uploads 响应形状不一(顶层 / data 包裹、
url|upload_url|presigned_url、key|file_key|object_key)。之前只认顶层
url+key,遇到包装或别名就报 "upload session missing url/key" 且看不
到上游实际返回。现在逐层(含嵌套 data/result/upload/session)搜寻两
个字段,仍缺失时把原始 JSON 截断进错误信息便于定位。
Generated with [Devin](https://devin.ai )
Co-Authored-By: Devin <158243242+devin-ai-integration[bot]@users.noreply.github.com>
2026-10-14 18:15:47 +08:00
chiyi and Devin
1be1b00511
feat(upstream): custom 模型按媒体分类配置参考文件上限
...
- ModelConfig 新增 max_reference_videos / max_reference_audios
(配合既有 max_reference_images);admin 读写接口透传
- custom 模型表单去掉「参考模式」下拉,改为参考图/参考视频/
参考音频三个数量输入;合计张数走 totalRefLimit 校验
- vivid 上游 /v1/uploads 按文件魔数自动选 kind(image/video/
audio)与 mime;openai 协议上游遇视频/音频参考自动跳过换号
- videoCaps 让 custom 模型的分类上限在画图台/文档徽标生效
- reference_mode 请求级 override 放行 "media"
Generated with [Devin](https://devin.ai )
Co-Authored-By: Devin <158243242+devin-ai-integration[bot]@users.noreply.github.com>
2026-10-14 14:58:34 +08:00
chiyi and Devin
babfc71f13
feat(upstream): 自定义上游支持 Vivid 协议(/v1/generate NDJSON)
...
- custom 上游新增 protocol 选项(openai|vivid);vivid 走
POST /v1/generate NDJSON 流:跳过心跳空行,取末行终态,
断流携 jobId 重连不重复扣费;参考图先 POST /v1/uploads
拿预签名再 PUT 直传;错误码 4011/4002/4293/5001/4001 分类
- 添加上游弹窗加协议二选一;账号 meta 存 protocol 并可回显
- 附 vivid 链路单测(成功流/URL 透传/失败帧/错误码/两步上传)
Generated with [Devin](https://devin.ai )
Co-Authored-By: Devin <158243242+devin-ai-integration[bot]@users.noreply.github.com>
2026-10-14 12:18:26 +08:00
chiyi and Devin
ae49b95e0f
fix(adobe): 优先使用 cookie 里的 sherlockToken 作 arp,补齐会话一致性
...
- ExchangeCookie 提取 cookie 中 sherlockToken/forter/arkose/bfp/sid 重组
arp 并按 token 缓存;无 ims_sid 的游客 token 直接拒绝,不再入池
- getARPSessionID 复用缓存 arp 并刷新 ftr 时间戳;sid/devHex/bfp 按
token 保持稳定,不再每次重随机
- 新增 ARPFromCookie/refreshARPTimestamp 及形状单测
Generated with [Devin](https://devin.ai )
Co-Authored-By: Devin <158243242+devin-ai-integration[bot]@users.noreply.github.com>
2026-10-14 12:18:05 +08:00
chiyi
4fb7fc9204
feat: sync all features to image2api
2026-08-15 23:00:30 +08:00
chiyi
5403acc4c9
leonardo: get-session 按 cookie 串行,避免并发刷新令牌被判重用
2026-08-10 20:18:32 +08:00
chiyi
15602b8033
leonardo: 把 cross-origin-cookie 401 判为会话被吊销
2026-08-10 19:38:58 +08:00
chiyi
b488142495
fix(leonardo): 参考图走 uploadInitImage 永久桶;音频参考需搭配图/视频参考
2026-08-10 11:14:15 +08:00
chiyi
52f9ec967c
fix(leonardo): get-session 返回 null 时重试 3 次再判 cookie 失效
...
预热成功后的 200 null 之前第一次就 break 并直接 ErrAuth;同样的响应也可能是某个出口 IP 被挑战页静默降级,改成最多 3 次(第 2、3 次走代理换 IP)都拿不到 accessToken 才算死号。
2026-08-10 09:15:07 +08:00
chiyi
4c5b932e81
fix(adobe): 媒体分类接口抓不到参考图的 400 归为临时错误,自动换号重试
2026-08-09 13:40:08 +08:00
chiyi
eee8698f46
fix(leonardo): get-session 改直连并先做 cross-origin-cookie 预热,429 才退回代理
2026-08-09 13:40:07 +08:00
chiyi
8f3cb25c25
fix(leonardo): get-session 走代理并重试 10 次,绕过 Vercel 人机校验的偶发放行
2026-08-09 03:06:24 +08:00
chiyi
6190f814d9
fix(leonardo): 连续 3 次鉴权失败才判死,get-session 补齐浏览器头并保护 session_data
2026-08-09 02:17:01 +08:00
chiyi
6d17caaf80
feat(leonardo): 接入视频通道并新增 seedance-2.0/minimax-h3 模型
2026-08-08 21:55:33 +08:00
chiyi
6ba80f5109
tweak(video): 视频渲染预算拉到 30 分钟
2026-08-08 11:16:56 +08:00
chiyi
ebcf3c5779
feat(grok): 视频改走 Grok Console 并新增图片模型
...
- grok 视频/图片统一走 console.x.ai:sso 换 DPoP 短期 token,绕开 grok.com 的 statsig 反爬
- 新增 grok-image:不带参考图走 /v1/images/generations,带图自动走 quality 上游 + /v1/images/edits
- grok 额度改本地写死 图5/视频2,成功各扣一次,两份归零直接判死,无恢复时间
- 视频渲染预算统一 20 分钟(adobe/runway/grok/custom)
- 删除参考图人脸打码(facemask + onnxruntime 依赖 + 前台开关)
2026-08-08 11:15:42 +08:00
chiyi
f76ecd5769
feat: 二次元前端改版 + 后端账号plan探测/调度修复
2026-08-06 10:11:05 +08:00
chiyi
7f4701d362
feat: veo3.1 拆分 fast/standard, seedance双模型, per_second定价, 子号过滤, 随机种子, UI优化
2026-08-03 20:27:20 +08:00
chiyi
e90aeecea3
fix(adobe): nano-banana modelVersion 修正 + 移除 runway 死代码
2026-08-02 23:35:50 +08:00
chiyi
4987717d23
feat: Adobe积分号不锁定额度 + Nano Banana双通道 + 前端显示额度
...
- Adobe不再区分视频/图片额度,移除ImageLimited/VideoLimited限制
- Adobe积分号quota耗尽不锁定(status不改为quota),只记录失败用于轮转
- Nano Banana 2/Pro 保留Runway通道,新增nano-banana-2/nano-banana-pro走Adobe
- Adobe模型重命名: runway-nano-banana-2, runway-nano-banana-pro
- 前端管理后台Adobe账号显示积分余额(之前固定显示—)
- README更新模型列表
2026-08-02 20:09:03 +08:00
chiyi
cd0b7090f2
refactor(adobe): switch to express.adobe.com origin, remove ErrAuthPermanent, simplify ARP session/PID
2026-08-02 00:07:17 +08:00
chiyi
0a1811b254
优化408
2026-08-01 14:44:05 +08:00
chiyi
e2540dc2a3
优化408
2026-08-01 12:58:13 +08:00
chiyi
110edc9b81
更新adobe 优化408
2026-08-01 01:49:05 +08:00
chiyi
a1514b5f82
更新408
2026-07-31 23:47:17 +08:00
chiyi
613ab04802
修复chatgpt
2026-07-29 21:39:22 +08:00
chiyi
c30155b001
adobe openai更新
2026-07-29 21:15:37 +08:00
chiyi
9a032c6107
更新易支付
2026-07-28 18:31:52 +08:00
chiyi
b0cd4a8b33
参考图适配
2026-07-19 11:34:14 +08:00
chiyi
c3f82168b6
grok更新
2026-07-18 15:24:16 +08:00
chiyi
b6e8445d95
修复grok
2026-07-17 21:45:31 +08:00
chiyi
86559eb7fc
grok fix: statsig signer chunk locate regex include ~ (0~4v1h2zpw7n0.js); fixes locateSignerChunk not found -> conversations/new 403 anti-bot
2026-07-16 09:37:27 +08:00
chiyi
60be9201e5
支持远程url吗
2026-07-16 00:50:27 +08:00
chiyi
7a781fecfc
更新runway
2026-07-14 22:44:18 +08:00
chiyi
86658e98a1
更新grok
2026-07-13 21:08:30 +08:00
chiyi
0822628bfc
更新grok算法
2026-07-13 10:14:52 +08:00
chiyi
62595de79f
更新省流
2026-07-13 00:06:29 +08:00
chiyi
40cc67d354
更新grok协议
2026-07-12 22:59:52 +08:00
chiyi and Claude Opus 4.8
cd3f98bd61
grok修复: x-statsig-id 改用 goja 跑原版签名器, 自愈跨 reship
...
手抄的字节算法每次 grok 换 web build 就失效(403 anti-bot), 天天死。
改为内嵌 goja 执行 grok 自己的签名器 chunk + 合成 DOM/WAAPI 垫片, 由 grok
自己的代码做所有随 build 轮换的字节索引/曲线选择, 我们只提供稳定的浏览器原语。
- statsig_engine.go: goja 引擎池 + 构建无关地自动定位当前签名器 chunk
- statsig_shim.js(//go:embed): document/getComputedStyle(WAAPI 采样)/
crypto.subtle/TextEncoder/base64 垫片 + Turbopack bootstrap
- client.go: statsigID 优先走引擎, 任何失败回退旧静态算法; ensureChallenge
捕获 seed+curves 并按 reship(chunk 列表变化)重建引擎池
- 旧静态 computeStatsigTail 降级为兜底; 其离线回归测试改 Skip(ground truth
无法离线重生), 新增 40 并发签名测试
已验证: 动态定位当前 build → conversations/new 返回 200 + conversationId。
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com >
2026-07-11 05:41:38 +01:00
chiyi
4c060729b9
grok修复
2026-07-10 15:33:01 +08:00
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
21cca6513b
更新下载超时延长
2026-07-09 19:38:30 +08:00
chiyi
65ca95a736
Merge branch 'devin/1783580774-grok-statsig-selfheal'
2026-07-09 19:25:03 +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