docs: stack Features section vertically (drop ugly 2-column table)
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
This commit is contained in:
+7
-18
@@ -63,51 +63,40 @@ It's more than an API proxy: it ships with **credit billing, CDK top-ups, referr
|
|||||||
|
|
||||||
## 🚀 Features
|
## 🚀 Features
|
||||||
|
|
||||||
<table>
|
#### 🎨 Generation
|
||||||
<tr>
|
|
||||||
<td width="50%" valign="top">
|
|
||||||
|
|
||||||
### 🎨 Generation
|
|
||||||
- Images + videos in one place, with **image-to-image / reference frames** (first frame, last frame, style reference)
|
- Images + videos in one place, with **image-to-image / reference frames** (first frame, last frame, style reference)
|
||||||
- Multiple resolutions (1K / 2K / 4K), aspect ratios and video durations — configured and priced per model
|
- Multiple resolutions (1K / 2K / 4K), aspect ratios and video durations — configured and priced per model
|
||||||
- 6 providers, 10+ models, **enable / disable / re-price from the admin console**, no code changes
|
- 6 providers, 10+ models, **enable / disable / re-price from the admin console**, no code changes
|
||||||
|
|
||||||
### 🔌 OpenAI Compatible
|
#### 🔌 OpenAI Compatible
|
||||||
- Text-to-image `/v1/images/generations` · image-to-image `/v1/images/edits` (multipart ref upload) · video `/v1/videos` (Sora-style async: create → poll → `/content`) · `/v1/models`
|
- Text-to-image `/v1/images/generations` · image-to-image `/v1/images/edits` (multipart ref upload) · video `/v1/videos` (Sora-style async: create → poll → `/content`) · `/v1/models`
|
||||||
- **Strict OpenAI params**: `size` sets the aspect ratio, `quality` the resolution tier — just swap `base_url` + `api_key` into an existing OpenAI SDK
|
- **Strict OpenAI params**: `size` sets the aspect ratio, `quality` the resolution tier — just swap `base_url` + `api_key` into an existing OpenAI SDK
|
||||||
- Image results returned **inline as base64** — nothing stored server-side, privacy-friendly
|
- Image results returned **inline as base64** — nothing stored server-side, privacy-friendly
|
||||||
|
|
||||||
### 🔁 Account Pools + Smart Failover
|
#### 🔁 Account Pools + Smart Failover
|
||||||
- Round-robin scheduling across the pool; one bad account doesn't break the whole
|
- Round-robin scheduling across the pool; one bad account doesn't break the whole
|
||||||
- **Out of quota → switch** · **auth expired → refresh & retry / kill** · **transient → retry same account ×3** · **bad params → fail fast**
|
- **Out of quota → switch** · **auth expired → refresh & retry / kill** · **transient → retry same account ×3** · **bad params → fail fast**
|
||||||
- **Pre-deducted credits**: atomic debit before generation, auto-refunded on failure, no over-spend under concurrency
|
- **Pre-deducted credits**: atomic debit before generation, auto-refunded on failure, no over-spend under concurrency
|
||||||
|
|
||||||
</td>
|
#### 🔐 Automatic Token Keep-alive
|
||||||
<td width="50%" valign="top">
|
|
||||||
|
|
||||||
### 🔐 Automatic Token Keep-alive
|
|
||||||
- Single-use rotating tokens (Krea / Imagine) are **renewed proactively 10 minutes before expiry**; new tokens persisted automatically
|
- Single-use rotating tokens (Krea / Imagine) are **renewed proactively 10 minutes before expiry**; new tokens persisted automatically
|
||||||
- Adobe cookies exchanged for fresh tokens on a schedule; bare JWTs killed on expiry
|
- Adobe cookies exchanged for fresh tokens on a schedule; bare JWTs killed on expiry
|
||||||
- Daily quota recovered at each provider's reset time, then re-probed for the real balance
|
- Daily quota recovered at each provider's reset time, then re-probed for the real balance
|
||||||
|
|
||||||
### 💳 Billing & Operations
|
#### 💳 Billing & Operations
|
||||||
- Credit-based (**pre-deduct + refund on failure**), priced per model / resolution / duration
|
- Credit-based (**pre-deduct + refund on failure**), priced per model / resolution / duration
|
||||||
- **Agent pricing**: a user can be set as an "agent" role and models can carry agent prices; agent users (including their API key calls) are billed at the agent price, falling back to the normal price when unset
|
- **Agent pricing**: a user can be set as an "agent" role and models can carry agent prices; agent users (including their API key calls) are billed at the agent price, falling back to the normal price when unset
|
||||||
- **CDK redeem codes** · **referral rewards** · email sign-up / verification code / password reset
|
- **CDK redeem codes** · **referral rewards** · email sign-up / verification code / password reset
|
||||||
- Three roles: regular user / agent / admin (single)
|
- Three roles: regular user / agent / admin (single)
|
||||||
|
|
||||||
### 🖥️ User Frontend (Vue 3)
|
#### 🖥️ User Frontend (Vue 3)
|
||||||
- Playground · creations gallery · generation logs (with failure reasons / source tags)
|
- Playground · creations gallery · generation logs (with failure reasons / source tags)
|
||||||
- API docs · API key management · referral · about, light / dark theme
|
- API docs · API key management · referral · about, light / dark theme
|
||||||
|
|
||||||
### 🛠️ Admin Console
|
#### 🛠️ Admin Console
|
||||||
- Overview dashboard (trends / DAU / top failures / top spenders)
|
- Overview dashboard (trends / DAU / top failures / top spenders)
|
||||||
- Model management (normal + agent price) · account management (bulk import / dedup / quota) · site-wide logs · user management (set as agent) · CDK · showcase · site config
|
- Model management (normal + agent price) · account management (bulk import / dedup / quota) · site-wide logs · user management (set as agent) · CDK · showcase · site config
|
||||||
|
|
||||||
</td>
|
|
||||||
</tr>
|
|
||||||
</table>
|
|
||||||
|
|
||||||
**🧰 Engineering highlights**: tls-client (Chrome JA3/JA4 fingerprint) reliably passes Cloudflare · media stored in S3/RustFS, served through an authenticated proxy with retention cleanup · self-healing maintenance loop (quota recovery / credential refresh / orphan-job cleanup with refunds) · one-command Docker deploy with acme.sh auto HTTPS.
|
**🧰 Engineering highlights**: tls-client (Chrome JA3/JA4 fingerprint) reliably passes Cloudflare · media stored in S3/RustFS, served through an authenticated proxy with retention cleanup · self-healing maintenance loop (quota recovery / credential refresh / orphan-job cleanup with refunds) · one-command Docker deploy with acme.sh auto HTTPS.
|
||||||
|
|
||||||
## 🤖 Supported Models / Providers
|
## 🤖 Supported Models / Providers
|
||||||
|
|||||||
@@ -63,51 +63,40 @@
|
|||||||
|
|
||||||
## 🚀 核心功能
|
## 🚀 核心功能
|
||||||
|
|
||||||
<table>
|
#### 🎨 生成能力
|
||||||
<tr>
|
|
||||||
<td width="50%" valign="top">
|
|
||||||
|
|
||||||
### 🎨 生成能力
|
|
||||||
- 生图 + 生视频一站式,支持**图生图 / 参考图**(首帧、末帧、风格参考)
|
- 生图 + 生视频一站式,支持**图生图 / 参考图**(首帧、末帧、风格参考)
|
||||||
- 多分辨率(1K / 2K / 4K)、多宽高比、视频多时长,按模型独立配置与定价
|
- 多分辨率(1K / 2K / 4K)、多宽高比、视频多时长,按模型独立配置与定价
|
||||||
- 6 大供应商、十余模型,后台**动态启用 / 下架 / 改价**,无需改代码
|
- 6 大供应商、十余模型,后台**动态启用 / 下架 / 改价**,无需改代码
|
||||||
|
|
||||||
### 🔌 OpenAI 兼容
|
#### 🔌 OpenAI 兼容
|
||||||
- 文生图 `/v1/images/generations` · 图生图 `/v1/images/edits`(multipart 上传参考图) · 视频 `/v1/videos`(Sora 式异步:创建→轮询→`/content` 下载) · `/v1/models`
|
- 文生图 `/v1/images/generations` · 图生图 `/v1/images/edits`(multipart 上传参考图) · 视频 `/v1/videos`(Sora 式异步:创建→轮询→`/content` 下载) · `/v1/models`
|
||||||
- **严格 OpenAI 入参**:`size` 决定比例、`quality` 决定画质档,改个 `base_url` + `api_key` 即接现有 OpenAI SDK
|
- **严格 OpenAI 入参**:`size` 决定比例、`quality` 决定画质档,改个 `base_url` + `api_key` 即接现有 OpenAI SDK
|
||||||
- 图片结果 **base64 直返**,服务端不留存文件,隐私友好
|
- 图片结果 **base64 直返**,服务端不留存文件,隐私友好
|
||||||
|
|
||||||
### 🔁 多账号池 + 智能故障转移
|
#### 🔁 多账号池 + 智能故障转移
|
||||||
- 账号池轮询调度,单账号出错不影响整体
|
- 账号池轮询调度,单账号出错不影响整体
|
||||||
- **额度耗尽→换号** · **认证失效→刷新重试 / 判死** · **临时错误→同号重试 ×3** · **参数错→直接报错**
|
- **额度耗尽→换号** · **认证失效→刷新重试 / 判死** · **临时错误→同号重试 ×3** · **参数错→直接报错**
|
||||||
- **预扣额度**:生成前原子扣减,失败自动退回,杜绝并发超额
|
- **预扣额度**:生成前原子扣减,失败自动退回,杜绝并发超额
|
||||||
|
|
||||||
</td>
|
#### 🔐 Token 自动保活
|
||||||
<td width="50%" valign="top">
|
|
||||||
|
|
||||||
### 🔐 Token 自动保活
|
|
||||||
- 一次性轮换 token(Krea / Imagine)**到期前 10 分钟主动续期**,新 token 自动落库
|
- 一次性轮换 token(Krea / Imagine)**到期前 10 分钟主动续期**,新 token 自动落库
|
||||||
- Adobe cookie 定时换 token;纯 JWT 到期自动判死
|
- Adobe cookie 定时换 token;纯 JWT 到期自动判死
|
||||||
- 每日额度按平台重置时间自动恢复 + 重新探测真实余额
|
- 每日额度按平台重置时间自动恢复 + 重新探测真实余额
|
||||||
|
|
||||||
### 💳 计费与运营
|
#### 💳 计费与运营
|
||||||
- 积分制(**预扣 + 失败退款**),按模型 / 分辨率 / 时长精细定价
|
- 积分制(**预扣 + 失败退款**),按模型 / 分辨率 / 时长精细定价
|
||||||
- **代理价体系**:用户可设为「代理」角色,模型可设代理价;代理用户(含其 API Key 调用)自动按代理价计费,未设代理价则回退普通价
|
- **代理价体系**:用户可设为「代理」角色,模型可设代理价;代理用户(含其 API Key 调用)自动按代理价计费,未设代理价则回退普通价
|
||||||
- **CDK 兑换码**充值 · **邀请奖励** · 邮箱注册 / 验证码 / 找回密码
|
- **CDK 兑换码**充值 · **邀请奖励** · 邮箱注册 / 验证码 / 找回密码
|
||||||
- 三级角色:普通用户 / 代理 / 管理员(唯一)
|
- 三级角色:普通用户 / 代理 / 管理员(唯一)
|
||||||
|
|
||||||
### 🖥️ 用户前台(Vue 3)
|
#### 🖥️ 用户前台(Vue 3)
|
||||||
- 画图台 · 创作记录画廊 · 生成日志(含失败原因 / 来源标签)
|
- 画图台 · 创作记录画廊 · 生成日志(含失败原因 / 来源标签)
|
||||||
- API 文档 · API Key 管理 · 邀请 · 关于,亮 / 暗主题
|
- API 文档 · API Key 管理 · 邀请 · 关于,亮 / 暗主题
|
||||||
|
|
||||||
### 🛠️ 管理后台
|
#### 🛠️ 管理后台
|
||||||
- 概览看板(趋势 / DAU / 失败 Top / 消费榜)
|
- 概览看板(趋势 / DAU / 失败 Top / 消费榜)
|
||||||
- 模型管理(普通价 + 代理价) · 账号管理(批量导入 / 去重 / 额度) · 全站日志 · 用户管理(设为代理) · CDK · 展示位 · 站点配置
|
- 模型管理(普通价 + 代理价) · 账号管理(批量导入 / 去重 / 额度) · 全站日志 · 用户管理(设为代理) · CDK · 展示位 · 站点配置
|
||||||
|
|
||||||
</td>
|
|
||||||
</tr>
|
|
||||||
</table>
|
|
||||||
|
|
||||||
**🧰 工程亮点**:tls-client(Chrome JA3/JA4 指纹)稳定穿透 Cloudflare · 媒体存 S3/RustFS 经鉴权代理分发 + 保留期清理 · 自愈式维护轮询(恢复额度 / 刷新凭据 / 清理僵死任务并退款) · 一条命令 Docker 部署 + acme.sh 自动 HTTPS。
|
**🧰 工程亮点**:tls-client(Chrome JA3/JA4 指纹)稳定穿透 Cloudflare · 媒体存 S3/RustFS 经鉴权代理分发 + 保留期清理 · 自愈式维护轮询(恢复额度 / 刷新凭据 / 清理僵死任务并退款) · 一条命令 Docker 部署 + acme.sh 自动 HTTPS。
|
||||||
|
|
||||||
## 🤖 支持的模型 / 供应商
|
## 🤖 支持的模型 / 供应商
|
||||||
|
|||||||
Reference in New Issue
Block a user