<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:dc="http://purl.org/dc/elements/1.1/">
  <channel>
    <title>DEV Community: Sheng Wang</title>
    <description>The latest articles on DEV Community by Sheng Wang (@dlss).</description>
    <link>https://dev.to/dlss</link>
    <image>
      <url>https://media2.dev.to/dynamic/image/width=90,height=90,fit=cover,gravity=auto,format=auto/https:%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Fuser%2Fprofile_image%2F4137297%2Fc1accfdd-1f58-4763-90e7-182aaff45969.jpeg</url>
      <title>DEV Community: Sheng Wang</title>
      <link>https://dev.to/dlss</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://dev.to/feed/dlss"/>
    <language>en</language>
    <item>
      <title>Image-to-video in three parameters: how a 5-second clip costs twice what it should</title>
      <dc:creator>Sheng Wang</dc:creator>
      <pubDate>Tue, 22 Sep 2026 10:09:33 +0000</pubDate>
      <link>https://dev.to/dlss/image-to-video-in-three-parameters-how-a-5-second-clip-costs-twice-what-it-should-27ll</link>
      <guid>https://dev.to/dlss/image-to-video-in-three-parameters-how-a-5-second-clip-costs-twice-what-it-should-27ll</guid>
      <description>&lt;p&gt;一张 1024×768 的室内效果图，一句运动提示词，五秒后拿到一段可以发出去的镜头。这是图生视频里最省事的一档，也是我们六月份给渲见（RenVi）做营销素材时走的那条路。&lt;/p&gt;

&lt;p&gt;结论先放这里：&lt;strong&gt;模型本身没坑，坑在两个参数的默认值上。&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Farticles%2Fyv5x8ez2xnuh63o8379e.jpg" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Farticles%2Fyv5x8ez2xnuh63o8379e.jpg" alt="输入：一张 1024×768 的效果图" width="800" height="600"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  我们实际跑出来的东西
&lt;/h2&gt;

&lt;div class="table-wrapper-paragraph"&gt;&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;项目&lt;/th&gt;
&lt;th&gt;实测值&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;模型&lt;/td&gt;
&lt;td&gt;&lt;code&gt;wan2.6-i2v-flash&lt;/code&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;输入&lt;/td&gt;
&lt;td&gt;一张效果图，以 data URI 内联&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;请求参数&lt;/td&gt;
&lt;td&gt;
&lt;code&gt;resolution: 720P&lt;/code&gt;、&lt;code&gt;duration: 5&lt;/code&gt;
&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;输出&lt;/td&gt;
&lt;td&gt;&lt;strong&gt;1108×830、5.007 秒、H.264、约 5.5 MB&lt;/strong&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;附带音轨&lt;/td&gt;
&lt;td&gt;&lt;strong&gt;有，AAC 立体声 44.1 kHz&lt;/strong&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;单条成本&lt;/td&gt;
&lt;td&gt;
&lt;strong&gt;¥1.50&lt;/strong&gt;（本该是 ¥0.75）&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;&lt;/div&gt;

&lt;p&gt;那个 AAC 音轨不是我们要的 —— 是&lt;strong&gt;没人告诉模型不要&lt;/strong&gt;。下面三节就是那三个参数。&lt;/p&gt;

&lt;p&gt;首尾两帧放在一起是这样，五秒里只有一次缓慢的推镜：&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Farticles%2Fxpht8v5n60cat9o0qb8k.jpg" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Farticles%2Fxpht8v5n60cat9o0qb8k.jpg" alt="首帧与末帧" width="799" height="299"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  一、&lt;code&gt;audio&lt;/code&gt; 默认是开着的，价格正好翻倍
&lt;/h2&gt;

&lt;p&gt;官方文档在 &lt;code&gt;audio&lt;/code&gt; 这一栏写的是：&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;可选值：true：默认值，输出有声视频。false：输出无声视频。&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;而价格页同一行模型是这样标的：&lt;strong&gt;720P 有声 0.3 元/秒，无声 0.15 元/秒&lt;/strong&gt;；1080P 有声 0.5 元/秒，无声 0.25 元/秒。&lt;/p&gt;

&lt;p&gt;也就是说，&lt;strong&gt;不写 &lt;code&gt;audio&lt;/code&gt; 就是按有声计费&lt;/strong&gt;。五秒的有声 720P 是 ¥1.50，无声是 ¥0.75 —— 差的这一块钱，买到的是一段你根本没打算用的 AI 环境音。&lt;/p&gt;

&lt;p&gt;我们那批素材就是这么付的：三条片子的文件里都带着音轨，因为当时的脚本 &lt;code&gt;parameters&lt;/code&gt; 里只有 &lt;code&gt;resolution&lt;/code&gt; 和 &lt;code&gt;duration&lt;/code&gt;。复现脚本现在默认 &lt;code&gt;audio: false&lt;/code&gt;，要声音得显式写 &lt;code&gt;--audio true&lt;/code&gt;。&lt;/p&gt;

&lt;h2&gt;
  
  
  二、&lt;code&gt;resolution&lt;/code&gt; 不是清晰度开关，是像素预算 —— 而且默认 1080P
&lt;/h2&gt;

&lt;p&gt;文档里这句话值得读两遍：&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;模型根据选择的分辨率档位，自动缩放至相近总像素，视频宽高比将尽量与输入图像 img_url 的宽高比保持一致。&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;所以选 720P 拿到的不一定是 1280×720。我们的输入是 4:3（1024×768），输出就是 &lt;strong&gt;1108×830&lt;/strong&gt; —— 91.96 万像素，和 1280×720 的 92.16 万几乎一样。它是「给够这么多像素，形状跟着你的图走」，不是「裁成 16:9」。&lt;/p&gt;

&lt;p&gt;更要紧的是同一段文档的另一句：&lt;code&gt;wan2.6-i2v-flash&lt;/code&gt; 的 &lt;strong&gt;&lt;code&gt;resolution&lt;/code&gt; 默认值是 1080P&lt;/strong&gt;。不写它，就按 1080P 的价钱算，哪怕你的输入图只有 1024 宽、根本喂不出真 1080P 的细节。&lt;/p&gt;

&lt;h2&gt;
  
  
  三、&lt;code&gt;duration&lt;/code&gt; 是 2–15 的整数，不是 5/10 两档
&lt;/h2&gt;

&lt;p&gt;网上关于图生视频的笔记很多写「只有 5 秒和 10 秒」，那说的是 &lt;code&gt;wan2.6-i2v-us&lt;/code&gt;。flash 这一档的文档原文是：&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;取值为[2, 15]之间的整数。默认值为 5。&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;也就是说 7 秒、9 秒、13 秒都可以，单价按秒线性计费。做产品展示时，比「五秒切下一张」好看得多的用法是&lt;strong&gt;一张图 12 秒慢慢推&lt;/strong&gt;，成本仍然是一秒一秒算的。&lt;/p&gt;

&lt;h2&gt;
  
  
  接口只有一个模式：异步
&lt;/h2&gt;

&lt;p&gt;这个接口没有同步调用这一回事。请求必须带上 &lt;code&gt;X-DashScope-Async: enable&lt;/code&gt;，否则直接报错 —— 原文是「HTTP 请求只支持异步，必须设置为 enable」，缺少这个头会返回 &lt;code&gt;current user api does not support synchronous calls&lt;/code&gt;。&lt;/p&gt;

&lt;p&gt;拿到 &lt;code&gt;task_id&lt;/code&gt; 之后轮询，状态就六种：&lt;code&gt;PENDING&lt;/code&gt;、&lt;code&gt;RUNNING&lt;/code&gt;、&lt;code&gt;SUCCEEDED&lt;/code&gt;、&lt;code&gt;FAILED&lt;/code&gt;、&lt;code&gt;CANCELED&lt;/code&gt;、&lt;code&gt;UNKNOWN&lt;/code&gt;。&lt;strong&gt;&lt;code&gt;UNKNOWN&lt;/code&gt; 不是「还没好」，是「任务不存在」&lt;/strong&gt; —— 任务 ID 只保留 24 小时，结果链接也是：&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;链接有效期 24 小时，可通过此 URL 下载视频。视频格式为 MP4（H.264 编码）。&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;所以「提交完先去干别的，回头再下载」这种做法，隔夜就失效了。脚本里轮询完成立刻落盘，不是洁癖，是必须。&lt;/p&gt;

&lt;h2&gt;
  
  
  复现
&lt;/h2&gt;

&lt;p&gt;脚本在这个仓库里，零依赖，只用 Node 和 DashScope 的接口：&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;&lt;span class="nb"&gt;export &lt;/span&gt;&lt;span class="nv"&gt;QWEN_API_KEY&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;sk-...     &lt;span class="c"&gt;# 或 DASHSCOPE_API_KEY&lt;/span&gt;
node scripts/wan-i2v.mjs &lt;span class="se"&gt;\&lt;/span&gt;
  &lt;span class="nt"&gt;--image&lt;/span&gt; room.jpg &lt;span class="se"&gt;\&lt;/span&gt;
  &lt;span class="nt"&gt;--prompt&lt;/span&gt; &lt;span class="s2"&gt;"slow cinematic dolly-in through the cozy renovated living room, gentle smooth camera motion, soft warm natural light, photorealistic, stable, no people"&lt;/span&gt; &lt;span class="se"&gt;\&lt;/span&gt;
  &lt;span class="nt"&gt;--resolution&lt;/span&gt; 720P &lt;span class="nt"&gt;--duration&lt;/span&gt; 5 &lt;span class="se"&gt;\&lt;/span&gt;
  &lt;span class="nt"&gt;--log&lt;/span&gt; run.json
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;ul&gt;
&lt;li&gt;默认 &lt;code&gt;--audio false&lt;/code&gt;（省钱那档），要声音加 &lt;code&gt;--audio true&lt;/code&gt;
&lt;/li&gt;
&lt;li&gt;图片直接读本地文件转 data URI，不需要对象存储，也不需要先把图传到公网&lt;/li&gt;
&lt;li&gt;每 8 秒轮询一次，最多 40 次；&lt;strong&gt;超时和 &lt;code&gt;FAILED&lt;/code&gt; 都会报错退出，不会留下一段空文件&lt;/strong&gt;
&lt;/li&gt;
&lt;li&gt;跑完把 &lt;code&gt;task_id&lt;/code&gt;、轮询次数、实际耗时、文件大小写进 &lt;code&gt;run.json&lt;/code&gt;
&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;我们那批素材的量测日志在 &lt;a href="https://github.com/wangsheng1991/content-engine/blob/main/research/wan-i2v/measured-2026-09-22.json" rel="noopener noreferrer"&gt;research/wan-i2v/measured-2026-09-22.json&lt;/a&gt;，每条片子都带 sha256，尺寸、时长、音轨、字节数都可以自己复算。&lt;/p&gt;

&lt;h2&gt;
  
  
  这四个参数的取舍
&lt;/h2&gt;

&lt;div class="table-wrapper-paragraph"&gt;&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;参数&lt;/th&gt;
&lt;th&gt;默认&lt;/th&gt;
&lt;th&gt;建议&lt;/th&gt;
&lt;th&gt;为什么&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;&lt;code&gt;audio&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;
&lt;code&gt;true&lt;/code&gt;（有声）&lt;/td&gt;
&lt;td&gt;显式写 &lt;code&gt;false&lt;/code&gt;
&lt;/td&gt;
&lt;td&gt;无声 720P ¥0.15/秒，有声 ¥0.3/秒，正好一倍&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;code&gt;resolution&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;&lt;code&gt;1080P&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;按输入图的实际像素选&lt;/td&gt;
&lt;td&gt;720P 和 1080P 是 ¥0.15 / ¥0.25 每秒；输入只有 1024 宽时，1080P 是白付的钱&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;code&gt;duration&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;&lt;code&gt;5&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;2–15 的整数，按内容节奏选&lt;/td&gt;
&lt;td&gt;按秒计费，镜头需要多久就给多久&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;code&gt;watermark&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;&lt;code&gt;false&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;保持 &lt;code&gt;false&lt;/code&gt;
&lt;/td&gt;
&lt;td&gt;商用素材不该带「AI 生成」角标&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;&lt;/div&gt;

&lt;h2&gt;
  
  
  这条链能做到哪、做不到哪
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;能做&lt;/strong&gt;：把一张已经满意的静图变成有镜头运动的短视频，用于商品页、社媒、效果图转视频。成本是每条几毛到一块多。&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;不做&lt;/strong&gt;：长视频、多镜头叙事（那是 &lt;code&gt;shot_type: multi&lt;/code&gt;，另一档模型）、把糟糕的图救回来 —— 输入决定上限，模型只负责给它加运动。&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;一个真实的边界&lt;/strong&gt;：我们这次是拿 AI 生成的效果图当首帧。真实照片同样可以，但房间的结构、透视关系会跟着动，出现金属反射、灯光逻辑错误时，多半要减小运动幅度重跑，而不是加大提示词。&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;五秒的镜头，成本七毛五。这个价钱意味着可以&lt;strong&gt;为每个风格各出一条&lt;/strong&gt;，而不是精挑细选只做一条 —— 营销素材的供给量，比单条质量更容易做出差别。&lt;/p&gt;

&lt;h2&gt;
  
  
  证据
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;图生视频接口只支持异步调用：请求必须带 X-DashScope-Async: enable。 — &lt;a href="https://help.aliyun.com/zh/model-studio/image-to-video-api-reference" rel="noopener noreferrer"&gt;https://help.aliyun.com/zh/model-studio/image-to-video-api-reference&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;缺少异步请求头时接口直接报错，不存在同步等待视频的用法。 — &lt;a href="https://help.aliyun.com/zh/model-studio/image-to-video-api-reference" rel="noopener noreferrer"&gt;https://help.aliyun.com/zh/model-studio/image-to-video-api-reference&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;resolution 决定的是总像素预算，输出宽高比会尽量跟随输入图，而不是固定裁成 16:9。 — &lt;a href="https://help.aliyun.com/zh/model-studio/image-to-video-api-reference" rel="noopener noreferrer"&gt;https://help.aliyun.com/zh/model-studio/image-to-video-api-reference&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;wan2.6-i2v-flash 的 resolution 可选 720P / 1080P，默认值是 1080P（也就是贵的那一档）。 — &lt;a href="https://help.aliyun.com/zh/model-studio/image-to-video-api-reference" rel="noopener noreferrer"&gt;https://help.aliyun.com/zh/model-studio/image-to-video-api-reference&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;wan2.6-i2v-flash 的 duration 取值是 [2, 15] 之间的整数，默认 5 秒，而不是只有 5 秒和 10 秒两档。 — &lt;a href="https://help.aliyun.com/zh/model-studio/image-to-video-api-reference" rel="noopener noreferrer"&gt;https://help.aliyun.com/zh/model-studio/image-to-video-api-reference&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;audio 的默认值是 true，也就是默认输出有声视频；想要无声必须显式写 false。 — &lt;a href="https://help.aliyun.com/zh/model-studio/image-to-video-api-reference" rel="noopener noreferrer"&gt;https://help.aliyun.com/zh/model-studio/image-to-video-api-reference&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;官方文档写明 audio 直接影响费用，有声与无声按不同价格计费。 — &lt;a href="https://help.aliyun.com/zh/model-studio/image-to-video-api-reference" rel="noopener noreferrer"&gt;https://help.aliyun.com/zh/model-studio/image-to-video-api-reference&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;结果视频的下载链接只有 24 小时有效期，格式为 MP4（H.264 编码）。 — &lt;a href="https://help.aliyun.com/zh/model-studio/image-to-video-api-reference" rel="noopener noreferrer"&gt;https://help.aliyun.com/zh/model-studio/image-to-video-api-reference&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;异步任务的状态枚举包含 PENDING、RUNNING、SUCCEEDED、FAILED、CANCELED 和 UNKNOWN，其中 UNKNOWN 表示任务不存在而非尚未完成。 — &lt;a href="https://help.aliyun.com/zh/model-studio/image-to-video-api-reference" rel="noopener noreferrer"&gt;https://help.aliyun.com/zh/model-studio/image-to-video-api-reference&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;北京地域 wan2.6-i2v-flash 按输出秒数计费：720P 有声 0.3 元/秒、无声 0.15 元/秒；1080P 有声 0.5 元/秒、无声 0.25 元/秒。 — &lt;a href="https://help.aliyun.com/zh/model-studio/model-pricing" rel="noopener noreferrer"&gt;https://help.aliyun.com/zh/model-studio/model-pricing&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;1024×768 的输入图，在 720P 档位下产出的是 1108×830（91.96 万像素，与 1280×720 的 92.16 万相当），印证了「相近总像素 + 跟随输入宽高比」。 — &lt;a href="https://raw.githubusercontent.com/wangsheng1991/content-engine/main/research/wan-i2v/measured-2026-09-22.json" rel="noopener noreferrer"&gt;https://raw.githubusercontent.com/wangsheng1991/content-engine/main/research/wan-i2v/measured-2026-09-22.json&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;我们那批片子每条都带 AAC 立体声音轨，因为当时的请求没有传 audio，默认按有声生成（并计费）。 — &lt;a href="https://raw.githubusercontent.com/wangsheng1991/content-engine/main/research/wan-i2v/measured-2026-09-22.json" rel="noopener noreferrer"&gt;https://raw.githubusercontent.com/wangsheng1991/content-engine/main/research/wan-i2v/measured-2026-09-22.json&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;量测出的成片时长是 5.007 秒，与请求的 5 秒一致。 — &lt;a href="https://raw.githubusercontent.com/wangsheng1991/content-engine/main/research/wan-i2v/measured-2026-09-22.json" rel="noopener noreferrer"&gt;https://raw.githubusercontent.com/wangsheng1991/content-engine/main/research/wan-i2v/measured-2026-09-22.json&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;复现脚本每 8 秒轮询一次，最多 40 次。 — &lt;a href="https://raw.githubusercontent.com/wangsheng1991/content-engine/main/scripts/wan-i2v.mjs" rel="noopener noreferrer"&gt;https://raw.githubusercontent.com/wangsheng1991/content-engine/main/scripts/wan-i2v.mjs&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;复现脚本显式发送 audio: false，不把「贵一倍」交给服务端的默认值。 — &lt;a href="https://raw.githubusercontent.com/wangsheng1991/content-engine/main/scripts/wan-i2v.mjs" rel="noopener noreferrer"&gt;https://raw.githubusercontent.com/wangsheng1991/content-engine/main/scripts/wan-i2v.mjs&lt;/a&gt;
&lt;/li&gt;
&lt;/ul&gt;




&lt;p&gt;&lt;strong&gt;一张照片进去，几秒后出来一张能用的效果图&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;上面那条链的起点，是渲见（RenVi）里最常见的一个动作：把家里的房间照片传上去，选一个风格，等几秒。 效果图满意了，再往「变成镜头」这一步走。 视频只是素材的一种形态；真正决定转化的是第一张图好不好看、要等多久。&lt;/p&gt;

&lt;p&gt;上传房间照片，免费出一张效果图: &lt;a href="https://www.houseplusplus.com/?ref=wan-i2v-first-frame" rel="noopener noreferrer"&gt;https://www.houseplusplus.com/?ref=wan-i2v-first-frame&lt;/a&gt;&lt;/p&gt;

</description>
      <category>ai</category>
      <category>video</category>
      <category>tutorial</category>
      <category>cost</category>
    </item>
    <item>
      <title>SHARP：单张图的秒级 3D 高斯视图合成</title>
      <dc:creator>Sheng Wang</dc:creator>
      <pubDate>Tue, 22 Sep 2026 09:48:32 +0000</pubDate>
      <link>https://dev.to/dlss/sharpdan-zhang-tu-de-miao-ji-3d-gao-si-shi-tu-he-cheng-9a1</link>
      <guid>https://dev.to/dlss/sharpdan-zhang-tu-de-miao-ji-3d-gao-si-shi-tu-he-cheng-9a1</guid>
      <description>&lt;p&gt;单目视图合成要解决的问题很直接：给你一张照片，生成它附近视角的新画面，而且要看起来像真的。难的地方在于，一张照片没有视差，深度、遮挡、反射都缺信息。此前的做法往往要在「更真」和「更快」之间做取舍。&lt;/p&gt;

&lt;p&gt;Apple 的 SHARP 给出的答案是把取舍绕开：不一步步重建场景，而是让神经网络把整张照片直接读成一份 3D 表示。&lt;/p&gt;

&lt;h2&gt;
  
  
  SHARP 在做什么
&lt;/h2&gt;

&lt;p&gt;按官方仓库 README 的描述，SHARP 接收一张照片，回归出这个场景的 3D 高斯（3D Gaussian）表示参数。整个过程是一次神经网络前馈，在标准 GPU 上耗时不到 1 秒。生成的 3D 高斯表示随后可以被实时渲染，输出附近视角的高分辨率写实图像。&lt;/p&gt;

&lt;p&gt;README 还提到两点对开发者很关键：&lt;/p&gt;

&lt;p&gt;第一，这个表示是 metric 的，带绝对尺度，因此支持米制相机运动——你给出的相机位移是有物理单位的，而不是一个随意缩放的相对量。&lt;/p&gt;

&lt;p&gt;第二，坐标约定遵循 OpenCV（x 向右、y 向下、z 向前），而 3DGS 场景中心大致位于 (0, 0, +z)。这意味着把 &lt;code&gt;.ply&lt;/code&gt; 交给第三方渲染器时，需要自己缩放和旋转，把场景重新居中。&lt;/p&gt;

&lt;p&gt;按 README 的描述，整个过程不针对单个场景做迭代优化，而是一次前馈就把参数吐出来。这一点对工程上的意义很直接：推理路径短，你不需要为每张新图重新跑一轮训练式的流程。&lt;/p&gt;

&lt;h2&gt;
  
  
  关键数字一览
&lt;/h2&gt;

&lt;div class="table-wrapper-paragraph"&gt;&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;维度&lt;/th&gt;
&lt;th&gt;此前最佳模型&lt;/th&gt;
&lt;th&gt;SHARP&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;LPIPS&lt;/td&gt;
&lt;td&gt;README 未给出绝对值，作为对比基准&lt;/td&gt;
&lt;td&gt;相对降低 25–34%&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;DISTS&lt;/td&gt;
&lt;td&gt;README 未给出绝对值，作为对比基准&lt;/td&gt;
&lt;td&gt;相对降低 21–43%&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;合成耗时&lt;/td&gt;
&lt;td&gt;README 未给出绝对值，作为对比基准&lt;/td&gt;
&lt;td&gt;降低三个数量级；标准 GPU 上不到 1 秒&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;生成方式&lt;/td&gt;
&lt;td&gt;README 未说明&lt;/td&gt;
&lt;td&gt;单次前馈（single feedforward pass）&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;输出形式&lt;/td&gt;
&lt;td&gt;README 未说明&lt;/td&gt;
&lt;td&gt;3D 高斯泼溅（3DGS），&lt;code&gt;.ply&lt;/code&gt; 文件，兼容公共渲染器&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;泛化能力&lt;/td&gt;
&lt;td&gt;README 未说明&lt;/td&gt;
&lt;td&gt;论文称具备跨数据集的鲁棒零样本泛化&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;&lt;/div&gt;

&lt;p&gt;表格里凡是 README 没写的，就空着，不替论文补数字。这些百分比描述的是相对此前最佳模型的改善幅度，不是绝对分值——LPIPS 和 DISTS 都是越低越好，所以「降低」是好事，但 README 没有给出绝对分值，这里也就不做换算。&lt;/p&gt;

&lt;h2&gt;
  
  
  从仓库到第一条预测命令
&lt;/h2&gt;

&lt;p&gt;README 给出的上手路径很常规：建环境、装依赖、跑 CLI。&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;conda create &lt;span class="nt"&gt;-n&lt;/span&gt; sharp &lt;span class="nv"&gt;python&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;3.13
pip &lt;span class="nb"&gt;install&lt;/span&gt; &lt;span class="nt"&gt;-r&lt;/span&gt; requirements.txt
sharp &lt;span class="nt"&gt;--help&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;权重不需要手动准备：第一次运行时模型 checkpoint 会自动下载，并缓存在 &lt;code&gt;~/.cache/torch/hub/checkpoints/&lt;/code&gt;。如果你更想自己管理权重，README 也给了直接下载 &lt;code&gt;.pt&lt;/code&gt; 文件的方式，再用 &lt;code&gt;-c&lt;/code&gt; 参数把本地 checkpoint 指给命令。&lt;/p&gt;

&lt;p&gt;真正的推理只有一行：&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;sharp predict &lt;span class="nt"&gt;-i&lt;/span&gt; /path/to/input/images &lt;span class="nt"&gt;-o&lt;/span&gt; /path/to/output/gaussians
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;输出目录里是 3D 高斯泼溅文件。如果你还想额外拿到一条相机轨迹的视频，加上 &lt;code&gt;--render&lt;/code&gt;；也可以从中间结果出发单独渲染：&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;sharp predict &lt;span class="nt"&gt;-i&lt;/span&gt; /path/to/input/images &lt;span class="nt"&gt;-o&lt;/span&gt; /path/to/output/gaussians &lt;span class="nt"&gt;--render&lt;/span&gt;
sharp render &lt;span class="nt"&gt;-i&lt;/span&gt; /path/to/output/gaussians &lt;span class="nt"&gt;-o&lt;/span&gt; /path/to/output/renderings
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;h2&gt;
  
  
  适合谁用，以及现在还不能做什么
&lt;/h2&gt;

&lt;p&gt;按 README 的描述，它的定位是「单张图进、附近视角出」：适合照片量少、没有多视角采集条件，但又想要可自由换视角画面的场景，也适合把已有图像资产快速转成可实时渲染的 3D 资产。因为表示带绝对尺度，涉及真实位移的场景也能对得上单位。&lt;/p&gt;

&lt;p&gt;另一个按 README 可以合理推断的好处来自耗时：既然单次前馈不到 1 秒，这一步就有可能放进交互式流程里，而不用当成一次离线批处理任务。不过 README 没有给出吞吐、并发或显存方面的数据，真要拿它做线上服务，还是得自己压测。&lt;/p&gt;

&lt;p&gt;局限同样来自 README，写清楚比夸大更有用：&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;高斯预测本身在 CPU、CUDA、MPS 上都能跑，但用 &lt;code&gt;--render&lt;/code&gt; 渲染相机轨迹视频目前要求 CUDA GPU，也就是说只有 CUDA 机器能直接出视频；&lt;/li&gt;
&lt;li&gt;gsplat 渲染器首次启动时初始化要等一会儿；&lt;/li&gt;
&lt;li&gt;接第三方 3DGS 渲染器需要按上面的坐标系约定缩放旋转、重新居中；&lt;/li&gt;
&lt;li&gt;README 把定量与定性评估都指向论文和项目页，本页只复述 README 与摘要里的数字，不做额外推断。&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;
  
  
  自己跑一遍
&lt;/h2&gt;



&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;conda create &lt;span class="nt"&gt;-n&lt;/span&gt; sharp &lt;span class="nv"&gt;python&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;3.13
pip &lt;span class="nb"&gt;install&lt;/span&gt; &lt;span class="nt"&gt;-r&lt;/span&gt; requirements.txt
sharp &lt;span class="nt"&gt;--help&lt;/span&gt;
sharp predict &lt;span class="nt"&gt;-i&lt;/span&gt; /path/to/input/images &lt;span class="nt"&gt;-o&lt;/span&gt; /path/to/output/gaussians
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;把 &lt;code&gt;-i&lt;/code&gt; 换成你自己的图片目录，权重会在首次运行时自动下载。如果你的目标只是先把手里图片的质量提上去，也可以直接在线试 AI 图像增强，不必先跑通本地环境。&lt;/p&gt;

&lt;h2&gt;
  
  
  证据
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;SHARP 通过单次前馈在标准 GPU 上以不到 1 秒的时间回归出场景的 3D 高斯表示参数。 — &lt;a href="https://raw.githubusercontent.com/apple/ml-sharp/main/README.md" rel="noopener noreferrer"&gt;https://raw.githubusercontent.com/apple/ml-sharp/main/README.md&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;SHARP 产出的 3D 高斯表示可以被实时渲染，生成附近视角的高分辨率写实图像。 — &lt;a href="https://raw.githubusercontent.com/apple/ml-sharp/main/README.md" rel="noopener noreferrer"&gt;https://raw.githubusercontent.com/apple/ml-sharp/main/README.md&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;该表示是 metric 的，带绝对尺度，支持米制的相机运动。 — &lt;a href="https://raw.githubusercontent.com/apple/ml-sharp/main/README.md" rel="noopener noreferrer"&gt;https://raw.githubusercontent.com/apple/ml-sharp/main/README.md&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;实验结果展示了 SHARP 跨数据集的鲁棒零样本泛化能力。 — &lt;a href="https://raw.githubusercontent.com/apple/ml-sharp/main/README.md" rel="noopener noreferrer"&gt;https://raw.githubusercontent.com/apple/ml-sharp/main/README.md&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;在多个数据集上，SHARP 相对此前最佳模型把 LPIPS 降低 25–34%、DISTS 降低 21–43%，同时把合成耗时降低三个数量级。 — &lt;a href="https://raw.githubusercontent.com/apple/ml-sharp/main/README.md" rel="noopener noreferrer"&gt;https://raw.githubusercontent.com/apple/ml-sharp/main/README.md&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;预测结果是以 3D 高斯泼溅（3DGS）形式存放在输出目录中的可渲染结果。 — &lt;a href="https://raw.githubusercontent.com/apple/ml-sharp/main/README.md" rel="noopener noreferrer"&gt;https://raw.githubusercontent.com/apple/ml-sharp/main/README.md&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;官方 CLI 的预测入口是 sharp predict，用 -i 指定输入图像目录、-o 指定输出高斯目录。 — &lt;a href="https://raw.githubusercontent.com/apple/ml-sharp/main/README.md" rel="noopener noreferrer"&gt;https://raw.githubusercontent.com/apple/ml-sharp/main/README.md&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;模型权重在第一次运行时自动下载，并缓存到 ~/.cache/torch/hub/checkpoints/。 — &lt;a href="https://raw.githubusercontent.com/apple/ml-sharp/main/README.md" rel="noopener noreferrer"&gt;https://raw.githubusercontent.com/apple/ml-sharp/main/README.md&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;高斯预测在 CPU、CUDA 和 MPS 上都能工作，但通过 --render 渲染相机轨迹视频目前需要 CUDA GPU。 — &lt;a href="https://raw.githubusercontent.com/apple/ml-sharp/main/README.md" rel="noopener noreferrer"&gt;https://raw.githubusercontent.com/apple/ml-sharp/main/README.md&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;输出的 3DGS 遵循 OpenCV 坐标约定（x 右、y 下、z 前），场景中心大致在 (0, 0, +z)，接第三方渲染器时需要自行缩放与旋转来重新居中。 — &lt;a href="https://raw.githubusercontent.com/apple/ml-sharp/main/README.md" rel="noopener noreferrer"&gt;https://raw.githubusercontent.com/apple/ml-sharp/main/README.md&lt;/a&gt;
&lt;/li&gt;
&lt;/ul&gt;




&lt;p&gt;&lt;strong&gt;图像的鲁棒表示已经有了，你的照片也可以先变清楚&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;SHARP 展示了一件值得记住的事：一张普通照片里，本来就藏着足够多的信息，只要有一个足够鲁棒的表示方式把它读出来。 在你自己的照片上，最实用的第一步往往不是重建 3D，而是先把图像本身的质量拉起来。 DLSS 5 是一个在线 AI 图像编辑器，把手里已有的图画上传上去，就能试试我们的 AI 超分与画质增强。&lt;/p&gt;

&lt;p&gt;上传图片，试试 AI 增强: &lt;a href="https://www.dlss5nvidia.com/?ref=ml-sharp" rel="noopener noreferrer"&gt;https://www.dlss5nvidia.com/?ref=ml-sharp&lt;/a&gt;&lt;/p&gt;

</description>
      <category>3dvision</category>
      <category>gaussiansplatting</category>
      <category>viewsynthesis</category>
      <category>apple</category>
    </item>
  </channel>
</rss>
