[分享创造] 我用 AI 逐像素画了一个宠物生成器,还能自动做骨骼动画 - V2EX
爱意满满的作品展示区。
royluo

[分享创造] 我用 AI 逐像素画了一个宠物生成器,还能自动做骨骼动画

  •  
  •   royluo
    luogao 7 days ago 1163 views

    [分享创造] 我用 AI 逐像素画了一个宠物生成器,还能自动做骨骼动画

    网址:aipet.dev

    起因是我想做一个自己的 Codex 桌宠,找了一圈没有"你说一句话就能生成像素宠物"的工具,于是搓了一个。

    怎么玩的

    输入一句话描述,比如"一只戴墨镜的橘猫",AI 会用 LLM 逐像素"画"出一个 32×32 的 chibi 像素角色。

    自动提取骨骼关键点,生成 8 种动画状态( idle / running / waving / jumping 等),组装成完整的 sprite sheet 。

    技术细节

    • 前端:Next.js 16 + React 19 + TailwindCSS 4 ,Canvas 实时渲染像素 + 动画播放
    • 后端:Cloudflare Pages + D1 (SQLite) + R2 存储
    • AI 生成:LLM 直接输出 palette + grid 格式的 JSON ,前端解析后逐像素绘制
    • 动画引擎:纯 Canvas 像素引擎,零 native 依赖,从 32×32 放大到 640×640 sprite sheet ( 8×9 grid ),支持骨骼关键点提取 + 自动帧插值
    • 部署:Cloudflare Pages ,全球 CDN ,免费额度完全够用

    一些设计决策

    1. 为什么用 LLM 画像素而不是用扩散模型? 32×32 = 1024 个像素,刚好在 LLM 的 JSON 输出能力范围内,而且生成过程可以实时流式展示,视觉体验比等图片生成好
    2. 骨骼动画怎么做的? 分析像素画的人体比例(头、眼、腿位置),提取关键点后对原始帧做仿射变换生成动画帧
    3. 内容安全:生成前会过一轮安全检查,防止生成不合规内容

    截图

    Codex 使用我们生成的宠物: Codex 配置

    首页 输入描述直接生成: 首页

    展廊 可以看到所有人生成的宠物: 展廊

    免费开放

    不需要注册就能玩,访客每小时 5 次,GitHub 登录 10 次。生成的宠物可以下载 sprite sheet ZIP ,解压后导入 Codex 等 Agent 客户端。

    欢迎来玩,也欢迎提建议!

    网址:aipet.dev


    10 replies    2026-05-15 18:28:04 +08:00
    seathink
        1
    seathink  
       7 days ago
    nice, 除了 codex, 还有啥 agent 支持宠物的?
    royluo
        2
    royluo  
    OP
       7 days ago
    @seathink open design
    mkroen
        3
    mkroen  
       7 days ago
    生成失败: Failed to get pixel data

    这个思考输出风格,我猜是不是使用的 deepseek
    mkroen
        4
    mkroen  
       7 days ago
    日志
    生成失败: Failed to get pixel data
    > Error: Failed to get pixel data
    > Description expanded
    > Name: Codey
    > Pet ID: ueMjo0OJciKt
    > Starting generation...
    royluo
        5
    royluo  
    OP
       7 days ago
    @mkroen 哈哈哈哈哈,大佬多试几次,我这边来改这个 bug
    royluo
        6
    royluo  
    OP
       7 days ago
    @mkroen 对对,是 DeepSeek ,,, 又快又便宜,,,
    metalvest
        7
    metalvest  
       7 days ago
    建议参考 https://github.com/systemchester/FrameRonin 用 gemini 的 nanobanana 生成,效果好得多
    graetdk
        8
    graetdk  
       7 days ago
    https://petdex.crafter.run/zh/create 这个是不是也可以
    royluo
        9
    royluo  
    OP
       7 days ago
    @graetdk 这个很可以的!
    royluo
        10
    royluo  
    OP
       7 days ago
    @metalvest 接下来持续优化效果!谢谢大佬建议
    About     Help     Advertise     Blog     API     FAQ     Solana     989 Online   Highest 6679       Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 39ms UTC 22:50 PVG 06:50 LAX 15:50 JFK 18:50
    Do have faith in what you're doing.
    ubao msn snddm index pchome yahoo rakuten mypaper meadowduck bidyahoo youbao zxmzxm asda bnvcg cvbfg dfscv mmhjk xxddc yybgb zznbn ccubao uaitu acv GXCV ET GDG YH FG BCVB FJFH CBRE CBC GDG ET54 WRWR RWER WREW WRWER RWER SDG EW SF DSFSF fbbs ubao fhd dfg ewr dg df ewwr ewwr et ruyut utut dfg fgd gdfgt etg dfgt dfgd ert4 gd fgg wr 235 wer3 we vsdf sdf gdf ert xcv sdf rwer hfd dfg cvb rwf afb dfh jgh bmn lgh rty gfds cxv xcv xcs vdas fdf fgd cv sdf tert sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf shasha9178 shasha9178 shasha9178 shasha9178 shasha9178 liflif2 liflif2 liflif2 liflif2 liflif2 liblib3 liblib3 liblib3 liblib3 liblib3 zhazha444 zhazha444 zhazha444 zhazha444 zhazha444 dende5 dende denden denden2 denden21 fenfen9 fenf619 fen619 fenfe9 fe619 sdf sdf sdf sdf sdf zhazh90 zhazh0 zhaa50 zha90 zh590 zho zhoz zhozh zhozho zhozho2 lislis lls95 lili95 lils5 liss9 sdf0ty987 sdft876 sdft9876 sdf09876 sd0t9876 sdf0ty98 sdf0976 sdf0ty986 sdf0ty96 sdf0t76 sdf0876 df0ty98 sf0t876 sd0ty76 sdy76 sdf76 sdf0t76 sdf0ty9 sdf0ty98 sdf0ty987 sdf0ty98 sdf6676 sdf876 sd876 sd876 sdf6 sdf6 sdf9876 sdf0t sdf06 sdf0ty9776 sdf0ty9776 sdf0ty76 sdf8876 sdf0t sd6 sdf06 s688876 sd688 sdf86