86 Commits

Author SHA1 Message Date
genz27
c5796307f9 Support Gemini official generateContent format 2026-03-14 16:42:26 +08:00
TheSmallHanCat
32284574ed feat: add model name resolver for Gemini generationConfig parameter-based conversion
Add a preprocessing layer before request handling that converts simplified
model names to internal MODEL_CONFIG keys based on generationConfig parameters
(aspectRatio, imageSize).

Changes:
- New src/core/model_resolver.py: model name resolution engine
  - IMAGE_BASE_MODELS: 4 base image model aliases (gemini-2.5-flash-image,
    gemini-3.0-pro-image, gemini-3.1-flash-image, imagen-4.0-generate-preview)
  - VIDEO_BASE_MODELS: 13 base video model aliases with landscape/portrait mapping
  - Supports Gemini ratio formats (16:9, 9:16, 1:1, 4:3, 3:4) and named formats
  - Supports imageSize (2k, 4k) for compatible models
  - Graceful fallback: unsupported ratio/size degrades to defaults
  - Passthrough: existing MODEL_CONFIG keys and unknown models unchanged

- Modified src/core/models.py: extended ChatCompletionRequest
  - Added ImageConfig, GenerationConfigParam Pydantic models
  - Added generationConfig, contents optional fields
  - Enabled extra='allow' for extra_body passthrough compatibility

- Modified src/api/routes.py: integrated resolver
  - Added resolve_model_name() call before request processing
  - Added /v1/models/aliases endpoint to list available aliases

Verified: 64/64 model key mappings match MODEL_CONFIG, 15 edge case tests pass.
2026-03-14 12:12:06 +08:00
genz27
d4235256dd fix: unstick generation logs and retry TLS failures 2026-03-13 21:45:30 +08:00
genz27
eee5075cc2 fix: improve browser captcha slot allocation 2026-03-10 10:59:57 +08:00
genz27
bb42e795c3 feat: expand token project pooling and refine manage ui 2026-03-10 10:59:57 +08:00
genz27
aa68501924 feat: improve generation log status handling 2026-03-10 10:59:57 +08:00
genz27
b44c70a2e9 fix: enforce tier-based generation limits 2026-03-09 18:18:56 +08:00
genz27
8dcb50ee69 feat: support disabling cache cleanup 2026-03-09 17:27:04 +08:00
genz27
d5b0688db5 Remove local launch throttling 2026-03-08 03:15:09 +08:00
genz27
58b388df30 feat: tighten headed browser lifecycle 2026-03-08 02:52:24 +08:00
genz27
d98f309dde chore: ignore headed browser pid files 2026-03-08 02:29:12 +08:00
genz27
f401f83583 feat: improve local headed browser scheduling 2026-03-08 02:27:11 +08:00
genz27
95b9219123 chore: sync changes 2026-03-08 02:24:03 +08:00
genz27
bd7f93fc58 chore: sync changes 2026-03-08 00:16:45 +08:00
genz27
c2ec39e2ed feat: keep headed browser sessions alive 2026-03-07 23:00:33 +08:00
genz27
a756954e33 fix: sync R2V landscape model key and image limits 2026-03-07 00:53:45 +08:00
genz27
e3a26155e8 feat: 优化远程打码并发调度与观测能力 2026-03-06 16:00:22 +08:00
genz27
d4bb1519d5 fix: sync R2V request body with upstream V2 payload 2026-03-06 15:14:10 +08:00
genz27
6d4cb8bf9a feat: 支持token级打码代理并完善有头Docker双镜像发布 2026-03-03 20:03:25 +08:00
genz27
cc6036ad37 修复: 浏览器打码500自愈与后台启动 2026-03-03 15:03:53 +08:00
genz27
da72ff4a84 性能优化:日志按需加载与 Token/统计链路优化 2026-03-03 13:20:03 +08:00
genz27
7ecc44f14a 优化基于负载的令牌并发调度 2026-03-03 02:37:01 +08:00
genz27
cb50ea0a5c feat: 新增验证码分数测试并优化浏览器打码流程
- 后台新增 /api/captcha/score-test,支持按当前打码配置直接测分并返回详细结果
- 管理后台新增当前打码分数测试入口,展示 score、耗时、action、hostname 等信息
- 优化 browser 与 personal 模式的 reCAPTCHA 执行、页面测分、代理兼容与 UA 策略
2026-03-01 07:43:19 +08:00
genz27
e5ef238849 1.修复新模型参考图BUG
2.新增媒体上传下载独立代理
3.打码和请求的代理尽量使用一致的
4.新增代理检测
5.请求日志增加图片展示以及2K4K图片展示,完整响应
等。
2026-02-28 00:06:31 +08:00
genz27
f23cd7ddf6 feat: 新增模型与请求体变化并同步README 2026-02-27 16:11:19 +08:00
genz27
27c62df131 chore: 移除 .lh 缓存目录并添加到 .gitignore
Co-Authored-By: Warp <agent@warp.dev>
2026-02-04 19:05:30 +08:00
genz27
260483d137 refactor: 将有头浏览器打码从 patchright 改为 playwright
- browser_captcha.py: 所有 patchright 引用改为 playwright
- flow_client.py: 更新错误提示信息
- requirements.txt: patchright 改为 playwright

Co-Authored-By: Warp <agent@warp.dev>
2026-02-04 18:54:52 +08:00
genz27
5817830c34 feat: 添加浏览器打码依赖自动安装和Docker环境检测
Co-Authored-By: Warp <agent@warp.dev>
2026-02-04 18:46:24 +08:00
genz27
8358864acd feat: 添加浏览器打码依赖自动安装和Docker环境检测
- browser_captcha.py: 添加patchright和chromium自动安装(官方源优先,国内镜像备用)
- browser_captcha_personal.py: 添加nodriver自动安装(官方源优先,国内镜像备用)
- 两个模块都添加Docker环境检测,Docker中禁用本地浏览器打码
- flow_client.py: 更新错误处理,提供更清晰的安装指引
- .gitignore: 添加browser_data_rt目录

Co-Authored-By: Warp <agent@warp.dev>
2026-02-04 18:44:30 +08:00
Genz
b633567702 Merge pull request #57 from Zluo003/patch-1
Update URL for batch async video upsampling
2026-02-04 00:05:44 +08:00
Genz
f444c6e17f Merge pull request #60 from CrewS/fix/i2v-single-frame-model-key
fix: 修复单帧图生视频 model_key 转换逻辑
2026-02-04 00:01:28 +08:00
crews
a570ba79ce fix: 修复单帧图生视频 model_key 转换逻辑
修复 I2V 单帧模式下 _fl 后缀去除失败的问题。

原逻辑仅处理 _fl_ 在中间的情况,但实际模型名称 _fl 在结尾:
- veo_3_1_i2v_s_fast_ultra_fl 应转为 veo_3_1_i2v_s_fast_ultra

现在同时处理两种情况:
1. _fl_ 在中间: replace("_fl_", "_")
2. _fl 在结尾: endswith("_fl") 后截取

Co-Authored-By: Claude Sonnet 4.5 <noreply@anthropic.com>
2026-02-01 17:53:01 +08:00
Zluo003
56f75f1a39 Update URL for batch async video upsampling 2026-01-28 20:55:15 +08:00
TheSmallHanCat
6e0803d76c feat: 添加插件自动启用配置字段 2026-01-28 17:00:51 +08:00
genz27
0f621e02f5 Merge branch 'main' of https://github.com/TheSmallHanCat/flow2api 2026-01-28 00:38:23 +08:00
genz27
749a76403c fix: 修复打码配置热加载和模型转换问题
- 修复热加载缺少 ezcaptcha/capmonster/capsolver 配置同步

- EZ-Captcha 改用 ReCaptchaV3TaskProxylessS9 高分值版本

- 获取不到 reCAPTCHA token 时直接返回错误

- 修复 TIER_TWO portrait 模型名称转换错误

Co-Authored-By: Warp <agent@warp.dev>
2026-01-28 00:37:19 +08:00
Genz
80ee8d7566 Update docker-compose.yml 2026-01-27 23:55:58 +08:00
genz27
deb4314605 fix: 统一视频模型命名为官方格式
- 修正 model_id (字典 key) 和 model_key 为统一的官方命名
- 竖屏 ultra: portrait 在 ultra 之前 (如 veo_3_1_t2v_fast_portrait_ultra)
- 横屏 ultra: 没有 landscape 后缀 (如 veo_3_1_t2v_fast_ultra)
- 适用于所有 T2V、I2V、R2V 模型及其 4K/1080P 放大版本

Co-Authored-By: Warp <agent@warp.dev>
2026-01-27 20:54:32 +08:00
genz27
c42cf8e33b fix: 修复各个代码文件中对action参数的调用
- 将FLOW_GENERATION替换为IMAGE_GENERATION/VIDEO_GENERATION
- browser_captcha_personal.py: get_token/execute方法支持action参数
- flow_client.py: _get_api_captcha_token支持动态action
- 更新数据库和模型的默认值
- 添加GitHub Actions工作流用于构建ghcr.io镜像

Co-Authored-By: Warp <agent@warp.dev>
2026-01-27 18:44:46 +08:00
genz27
f2d92d1caf fix: 修复 Windows 上 patchright asyncio 兼容性问题
自动设置 PLAYWRIGHT_BROWSERS_PATH 环境变量,用户无需额外配置

Co-Authored-By: Warp <agent@warp.dev>
2026-01-27 13:11:10 +08:00
genz27
97a2ac327e refactor: replace playwright with patchright for better anti-detection
- Switch from playwright to patchright (anti-detection fork)
- Keeps all existing UA pool and route interception logic
- Better bypass for reCAPTCHA detection

Co-Authored-By: Warp <agent@warp.dev>
2026-01-27 12:51:17 +08:00
genz27
a727623a7d fix: 图片放大改用 IMAGE_GENERATION action
Co-Authored-By: Warp <agent@warp.dev>
2026-01-27 12:44:55 +08:00
genz27
0c95869901 feat: 改进4K放大重试逻辑和日志大字段截断
- 4K放大失败时使用通用重试逻辑,支持403、reCAPTCHA、超时等多种错误类型
- 日志记录时对 encodedImage 等大字段进行截断处理,避免4K base64数据撑爆日志

Co-Authored-By: Warp <agent@warp.dev>
2026-01-26 20:42:02 +08:00
genz27
4171d1034e 修复保存浏览器数量列browser_count缺失报错
Co-Authored-By: Warp <agent@warp.dev>
2026-01-26 20:04:48 +08:00
genz27
99bedf863f 更新:1.本地打码方式修改为有头并增加并行(可设置启动浏览器数量)2.修复flow视频和图片请求体报错400 3.新增图片和视频画质提升包括4K,2K以及1080p等 4.调整管理员端配置UI布局
Co-Authored-By: Warp <agent@warp.dev>
2026-01-26 14:15:12 +08:00
TheSmallHanCat
aec69d2feb Merge branch 'main' of https://github.com/TheSmallHanCat/flow2api 2026-01-18 12:42:37 +08:00
TheSmallHanCat
49d8e1d68d feat: 支持更多打码平台 2026-01-18 12:41:38 +08:00
TheSmallHanCat
ad17d67097 Merge pull request #39 from NetLops/sz
WIP
2026-01-17 10:44:28 +08:00
Netlops
92006a0d37 feat(api): support remote image URL downloading in chat completion
- Extract image from URL or base64 instead of base64 only
- Add support for downloading remote image URLs starting with http/https
- Implement error handling for image download failures
- Add debug logging for image processing steps

fix(config): update model keys for veo_3_0 video generation

- Update veo_3_0_r2v_fast_portrait model key to
  veo_3_0_r2v_fast_portrait_ultra_relaxed
- Update veo_3_0_r2v_fast_landscape model key to
  veo_3_0_r2v_fast_ultra_relaxed
2026-01-16 17:35:56 +08:00
TheSmallHanCat
8ef7ac7e2e Merge pull request #37 from yibaiba/main
优化ultra用户生成视频与不同的账号使用不同的 ua
2026-01-14 19:44:37 +08:00