平台:sichang.xyz
你有多久没有被 AI 图片/视频生成工具无故拒绝了?(说的就是你,某包...)
我上一次是昨天。提示词里写了一个「商鞅被车裂」的场景,某主流平台直接拒绝生成,理由是「可能包含暴力内容」。
这很荒谬。我们不会拒绝《三国演义》的出版,不会下架《拯救大兵瑞恩》,但 AI 工具却可以一言不发地驳回你的创作意图——连申诉的机会都不给。
这也是为什么,我们在上线无限制聊天功能之后,决定继续推进:把图像和视频生成也还给用户。
一、不只是聊天:文字之外,创作还需要什么
思畅 AI 最早从「无限制聊天」起步。我们接入了多个未经审查的大语言模型,让用户可以自由地和 AI 对话,不用担心话题被无故封堵。
这件事做到一半的时候,有个用户给我们留言:
「跟 AI 聊完角色设定之后,我好想知道她长什么样子。」
一句话把我们点醒了。
文字是思考的工具,但图像和视频才是表达的语言。 这不是我们的观点,这是已经被验证的事实:
- 抖音的日活超过 8 亿,用户每天产生的视频内容以亿计
- Bilibili 从一个二次元弹幕站成长为中国的 YouTube,靠的是创作者用视频讲述故事
- 西瓜视频、小红书、视频号——每一个内容平台的崛起,都在告诉我们:人们不只是想「说」,更想「看」和「被看到」
AI 创作也是同样的逻辑。一个用户在聊天中构建的世界观、角色、情节,天然需要一个可视化的出口。而市面上的主流 AI 图像工具——我不用点名,你大概率也被它们误伤过——有着极其激进的审查机制,大量完全合法的创作意图被一句话驳回。
思畅 AI 想做的不一样:在不触犯法律底线的前提下,给你最大程度的创作自由。 你想表达什么,是你的权利;是否合规,由法律来界定,而不是由某个公司的「安全策略」一刀切。
二、图像生成:简单,但绝不简陋
技术选型
图像生成我们选择了 Venice AI 的 z-image-turbo 模型。选择它有两个原因:
- 生成质量足够好,在写实和艺术风格两端都有不错的表现
- 对内容限制相对宽松,和我们的产品理念一致
调用链路很直接:
用户提交提示词 → 可选 AI 增强 → Venice API → base64 图片 → 直接返回前端
这里有一个设计决策值得展开说说:图片不做服务器端存储。
为什么不做存储?
生成的图片以 base64 编码直接返回浏览器,刷新页面就消失。这看起来简陋,背后其实有三层考虑:
隐私优先。 你生成的每一张图片都属于你,不应该在你不注意的时候被存在某个服务器上。不存在,就没有泄露的可能。
成本合理。 大量用户持续生成图片,存储成本会线性增长。把这些资源用在提升生成质量上更划算。
体验纯粹。 生成-查看-下载-离开。没有图库管理、没有历史记录翻找,工具就是工具,用完即走。
当然,如果你想保存,前端提供了下载按钮,一键保存到本地。
提示词增强:让 AI 帮你润色
很多用户不知道怎么写好一个图片提示词。英语不够好、描述不够细、不知道模型喜欢什么表达方式——这些都会影响出图质量。
我们内置了一个 AI 提示词增强功能:用户输入一个简单的描述(比如「一个赛博朋克风格的咖啡馆」),系统会用 Venice 的 gemma-4-uncensored 模型自动扩展为一段细节丰富、色彩构图都有描述的完整提示词。
关键是,这个增强过程本身也是「无审查」的——你输入的原文是什么意图,增强后的提示词就忠实放大什么意图,不会在中间环节给你偷偷加一层道德审查。
// 提示词增强的核心逻辑
const sysMsg = `You are a master image prompt engineer.
Given a user's rough idea, expand it into a vivid, detailed prompt
under 180 words. Keep the original language and intent —
do NOT sanitize, censor, or moralize.`;
const response = await fetch("https://api.venice.ai/api/v1/chat/completions", {
method: "POST",
headers: { Authorization: `Bearer ${VENICE_API_KEY}` },
body: JSON.stringify({
model: "gemma-4-uncensored",
messages: [
{ role: "system", content: sysMsg },
{ role: "user", content: userInput }
]
})
});
安全模式:把选择权交给你
图像生成界面有一个内容过滤开关(safe_mode),默认关闭。
这不是为了推卸责任,而是一个经过深思熟虑的设计:每个人对「合适」的定义不同,我们不应该替你做判断。 如果你觉得自己想生成的内容可能需要一些保护性的过滤,你可以主动开启它。如果你很清楚自己在做什么,那就不需要。
控制的权力在用户手里,这才是真正的「自由」。
三、视频生成:从单帧到动态叙事
如果说图像是静态表达,那视频就是让想象力真正「动起来」的媒介。
视频生成比图像复杂得多。一个图片生成请求几百毫秒就能返回,视频可能需要几分钟甚至更久。所以我们没有走同步请求的路子,而是构建了一套完整的异步任务系统。
整体架构
┌──────────┐ ┌──────────────┐ ┌──────────────┐ ┌──────────────┐
│ 用户提交 │───▶│ 积分鉴权 │───▶│ 服务商 报价 │───▶│ 创建任务记录 │
│ 生成请求 │ │ 扣除积分 │ │ USD→积分换算 │ │ status=QUEUED│
└──────────┘ └──────────────┘ └──────────────┘ └──────┬───────┘
│
▼
┌──────────┐ ┌──────────────┐ ┌──────────────┐ ┌──────────────┐
│ 前端轮询 │◀───│ 视频下载/预览 │◀───│ 上传到 R2 │◀───│ 任务排队 │
│ (每5秒) │ │ 3 小时后过期 │ │ 私有存储 │ │ 异步生成 │
└──────────┘ └──────────────┘ └──────────────┘ └──────────────┘
核心实现
1. 动态定价机制
视频生成的成本波动很大——取决于时长、分辨率、是否带音频等参数。固定价格要么亏本要么让用户多付。我们的方案是实时报价:
具体做法是:每次用户调整参数,前端会以 450ms 防抖的频率请求后端报价接口,后端再调用 模型服务商的 /api/v1/video/quote 拿到实时美元价格,按固定汇率换算成积分(1 USD ≈ 100 积分,最低 80 积分保底),返回给前端展示。用户在点击「生成」之前就能看到预估的积分消耗,决定是否继续。
2. 原子化积分扣除
视频生成涉及多个异步步骤——报价、排队、轮询、下载、上传——任何一步失败都要退款。我们的做法是:利用数据库的条件更新来保证扣除和退款的安全性——只有当用户余额足够时才执行扣除,退款时通过幂等性标记确保同一次失败不会重复退款。
3. 视频存储:三小时后,烟消云散
这是视频功能中最特别的设计决策。生成的视频上传到 Cloudflare R2 私有存储,但 3 小时后自动删除。
为什么是 3 小时?——够你预览和下载。为什么之后要删除?
- 隐私:你生成的视频不应该在服务器上长住。3 小时是从「可用」到「消失」的合理窗口
- 合规:我们不长期持有用户生成的内容,也就没有「内容分发」的义务和风险
- 成本:视频文件体积大,无限存储成本不可控
清理机制分两层:
// 应用层:API 返回时检查过期
if (job.expiresAt < new Date()) {
await prisma.videoGenerationJob.update({
where: { id: job.id },
data: { status: "EXPIRED" }
});
return NextResponse.json({ error: "视频已过期" }, { status: 410 });
}
// 存储层:定时任务物理删除 R2 文件(Cron 每 5 分钟执行)
for (const job of expiredJobs) {
if (job.resultVideoKey) {
await deleteVideoR2Object(job.resultVideoKey);
}
await prisma.videoGenerationJob.update({
where: { id: job.id },
data: { status: "EXPIRED" }
});
}
4. 前端轮询与进度感知
视频生成可能需要几分钟。我们不做 WebSocket(简单就是好),而是用 前端轮询:每 5 秒查询一次任务状态,同时根据服务商返回的 averageExecutionTime 和当前进度估算剩余时间,给用户一个直观的等待体验。
失败自动退款,成功直接预览——整个流程用户不需要操心。
四、自由的边界:我们说的「无限制」到底是什么意思
写了这么多「自由」和「无限制」,必须停下来谈谈边界。
「无限制」不是「无法无天」。
思畅 AI 不会审查你的观点、立场、审美取向、政治倾向。你想表达的,不管多小众、多尖锐、多不合群,我们都不替你做主。
但有一条红线:法律。
儿童色情、极端暴力、恐怖主义煽动——这些不是「观点」或「表达」,是犯罪。对此我们有明确的技术防线:
- 模型提供商 API 层面的内容违规检测:当提交的提示词涉及明确的违法内容时,上游模型会返回 422 状态码,我们将其映射为
CONTENT_VIOLATION,自动拒绝并退款 - 可选的 safe_mode 开关:如果你希望额外一层保护,可以在设置中开启内容过滤
- 持续的过滤能力建设:法律合规不是一劳永逸的事,我们在持续完善自己的提示词过滤策略
这里有一个很容易被混淆的概念,我想说清楚:
审查观点 ≠ 拦截违法
「你的政治立场我不认同,所以我拒绝你的请求」——这是审查。 「你的提示词涉及儿童色情,根据法律我必须拒绝」——这是守法。
前者是我们坚决反对的,后者是我们必须做的。
在思畅 AI,我们相信一个成年人的创作自由,应该以法律为唯一边界。 不需要在这之外再加一层「大公司觉得不合适」的审查。因为每个时代都有当时「不合时宜」的声音,后来被证明是推动世界进步的力量。
五、写在最后
我们在做一件朴素的事:让 AI 工具真正成为用户的工具。
不是教育用户的工具,不是规训用户的工具,不是替用户做价值判断的工具。
就是一个工具:你输入想法,它输出结果。
图像和视频是这个工具的延伸。从文字到图片到视频,从静态到动态,从「说出来」到「画出来」到「动起来」——每一步都是为了让创作更自由、更直观。
目前我们支持:
| 能力 | 模型 | 价格 |
|---|---|---|
| 文字生成图片 | z-image-turbo | 10 积分/张 |
| 文字生成视频 | wan-2.5 (text-to-video) | 动态定价,最低 80 积分 |
| 图片生成视频 | wan-2.5 (image-to-video) | 动态定价,最低 80 积分 |
| 提示词增强 | gemma-4-uncensored | 免费 |
如果你对技术细节感兴趣,架构和核心实现会陆续公开。如果你有好的想法或者发现问题,欢迎通过评论区或邮件和我们交流。
让创作回归自由,让 AI 回归工具。 这只是一个开始。
思畅 AI,欢迎体验:sichang.xyz 2026 年 5 月