{"id":1185,"date":"2026-02-25T04:32:49","date_gmt":"2026-02-25T04:32:49","guid":{"rendered":"https:\/\/wiro.ai\/blog\/?p=1185"},"modified":"2026-02-25T04:32:51","modified_gmt":"2026-02-25T04:32:51","slug":"dreamactor-image-to-video-motion-transfer-in-5-tests","status":"publish","type":"post","link":"https:\/\/wiro.ai\/blog\/dreamactor-image-to-video-motion-transfer-in-5-tests\/","title":{"rendered":"DreamActor: Image-to-Video Motion Transfer in 5 Tests"},"content":{"rendered":"<p>DreamActor turns a single photo plus a driving video into a new clip. This review runs 5 tests and shows the raw outputs.<\/p>\n<p>Model link: <a href=\"https:\/\/wiro.ai\/models\/bytedance\/dreamactor\">https:\/\/wiro.ai\/models\/bytedance\/dreamactor<\/a><\/p>\n<h2>What this test covers<\/h2>\n<ul>\n<li>4 same-subject runs (reference image + matching driving video)<\/li>\n<li>1 cross run (reference image from set #2 driven by motion from set #1)<\/li>\n<li>Inputs and outputs are hosted on WordPress (no external CDN links)<\/li>\n<\/ul>\n<h2>How DreamActor behaves in practice<\/h2>\n<p>DreamActor follows the motion in the driving video and keeps the look of the reference image. When it works, the face and clothing stay close to the reference while the body pose changes.<\/p>\n<p>This test uses the sample inputs that ship with the DreamActor tool on Wiro. Each run uses one reference image and one driving video, then compares the output video against the source motion.<\/p>\n<h2>Test 1: Portrait motion transfer (set #1)<\/h2>\n<h3>Reference image (inputImage)<\/h3>\n<figure><img decoding=\"async\" src=\"https:\/\/wiro.ai\/blog\/wp-content\/uploads\/2026\/02\/dreamactor-input-01-scaled.jpg\" alt=\"DreamActor reference image set 1 portrait\" \/><figcaption>Reference image uploaded to WordPress.<\/figcaption><\/figure>\n<h3>Driving video (inputVideo)<\/h3>\n<figure><video style=\"max-width: 100%; height: auto;\" preload=\"metadata\" controls=\"controls\" width=\"300\" height=\"150\"><source src=\"https:\/\/wiro.ai\/blog\/wp-content\/uploads\/2026\/02\/dreamactor-driving-01.mp4\" type=\"video\/mp4\" \/><\/video><figcaption>Driving video uploaded to WordPress.<\/figcaption><\/figure>\n<h3>Output video<\/h3>\n<figure><video style=\"max-width: 100%; height: auto;\" preload=\"metadata\" controls=\"controls\" width=\"300\" height=\"150\"><source src=\"https:\/\/wiro.ai\/blog\/wp-content\/uploads\/2026\/02\/dreamactor-out-01.mp4\" type=\"video\/mp4\" \/><\/video><figcaption>Output from DreamActor using reference set #1 driven by motion from set #1.<\/figcaption><\/figure>\n<h2>Test 2: Full-body motion transfer (set #2)<\/h2>\n<h3>Reference image (inputImage)<\/h3>\n<figure><img decoding=\"async\" src=\"https:\/\/wiro.ai\/blog\/wp-content\/uploads\/2026\/02\/dreamactor-input-02.jpg\" alt=\"DreamActor reference image set 2 full body\" \/><figcaption>Reference image uploaded to WordPress.<\/figcaption><\/figure>\n<h3>Driving video (inputVideo)<\/h3>\n<figure><video style=\"max-width: 100%; height: auto;\" preload=\"metadata\" controls=\"controls\" width=\"300\" height=\"150\"><source src=\"https:\/\/wiro.ai\/blog\/wp-content\/uploads\/2026\/02\/dreamactor-driving-02.mp4\" type=\"video\/mp4\" \/><\/video><figcaption>Driving video uploaded to WordPress.<\/figcaption><\/figure>\n<h3>Output video<\/h3>\n<figure><video style=\"max-width: 100%; height: auto;\" preload=\"metadata\" controls=\"controls\" width=\"300\" height=\"150\"><source src=\"https:\/\/wiro.ai\/blog\/wp-content\/uploads\/2026\/02\/dreamactor-out-02.mp4\" type=\"video\/mp4\" \/><\/video><figcaption>Output from DreamActor using reference set #2 driven by motion from set #2.<\/figcaption><\/figure>\n<h2>Test 3: Upper-body motion transfer (set #3)<\/h2>\n<h3>Reference image (inputImage)<\/h3>\n<figure><img decoding=\"async\" src=\"https:\/\/wiro.ai\/blog\/wp-content\/uploads\/2026\/02\/dreamactor-input-03.jpg\" alt=\"DreamActor reference image set 3 upper body\" \/><figcaption>Reference image uploaded to WordPress.<\/figcaption><\/figure>\n<h3>Driving video (inputVideo)<\/h3>\n<figure><video style=\"max-width: 100%; height: auto;\" preload=\"metadata\" controls=\"controls\" width=\"300\" height=\"150\"><source src=\"https:\/\/wiro.ai\/blog\/wp-content\/uploads\/2026\/02\/dreamactor-driving-03.mp4\" type=\"video\/mp4\" \/><\/video><figcaption>Driving video uploaded to WordPress.<\/figcaption><\/figure>\n<h3>Output video<\/h3>\n<figure><video style=\"max-width: 100%; height: auto;\" preload=\"metadata\" controls=\"controls\" width=\"300\" height=\"150\"><source src=\"https:\/\/wiro.ai\/blog\/wp-content\/uploads\/2026\/02\/dreamactor-out-03.mp4\" type=\"video\/mp4\" \/><\/video><figcaption>Output from DreamActor using reference set #3 driven by motion from set #3.<\/figcaption><\/figure>\n<h2>Test 4: Portrait motion transfer (set #4)<\/h2>\n<h3>Reference image (inputImage)<\/h3>\n<figure><img decoding=\"async\" src=\"https:\/\/wiro.ai\/blog\/wp-content\/uploads\/2026\/02\/dreamactor-input-04-scaled.jpg\" alt=\"DreamActor reference image set 4 portrait\" \/><figcaption>Reference image uploaded to WordPress.<\/figcaption><\/figure>\n<h3>Driving video (inputVideo)<\/h3>\n<figure><video style=\"max-width: 100%; height: auto;\" preload=\"metadata\" controls=\"controls\" width=\"300\" height=\"150\"><source src=\"https:\/\/wiro.ai\/blog\/wp-content\/uploads\/2026\/02\/dreamactor-driving-04.mp4\" type=\"video\/mp4\" \/><\/video><figcaption>Driving video uploaded to WordPress.<\/figcaption><\/figure>\n<h3>Output video<\/h3>\n<figure><video style=\"max-width: 100%; height: auto;\" preload=\"metadata\" controls=\"controls\" width=\"300\" height=\"150\"><source src=\"https:\/\/wiro.ai\/blog\/wp-content\/uploads\/2026\/02\/dreamactor-out-04.mp4\" type=\"video\/mp4\" \/><\/video><figcaption>Output from DreamActor using reference set #4 driven by motion from set #4.<\/figcaption><\/figure>\n<h2>Test 5: Cross drive (reference #2 + motion #1)<\/h2>\n<p>This run checks identity retention when the driving motion comes from a different set. One initial attempt returned a provider error and was re-run.<\/p>\n<h3>Reference image (inputImage)<\/h3>\n<figure><img decoding=\"async\" src=\"https:\/\/wiro.ai\/blog\/wp-content\/uploads\/2026\/02\/dreamactor-input-02.jpg\" alt=\"DreamActor cross test reference image from set 2\" \/><figcaption>Reference image uploaded to WordPress.<\/figcaption><\/figure>\n<h3>Driving video (inputVideo)<\/h3>\n<figure><video style=\"max-width: 100%; height: auto;\" preload=\"metadata\" controls=\"controls\" width=\"300\" height=\"150\"><source src=\"https:\/\/wiro.ai\/blog\/wp-content\/uploads\/2026\/02\/dreamactor-driving-01.mp4\" type=\"video\/mp4\" \/><\/video><figcaption>Driving video uploaded to WordPress.<\/figcaption><\/figure>\n<h3>Output video<\/h3>\n<figure><video style=\"max-width: 100%; height: auto;\" preload=\"metadata\" controls=\"controls\" width=\"300\" height=\"150\"><source src=\"https:\/\/wiro.ai\/blog\/wp-content\/uploads\/2026\/02\/dreamactor-out-05-cross.mp4\" type=\"video\/mp4\" \/><\/video><figcaption>Output from DreamActor using reference set #2 driven by motion from set #1.<\/figcaption><\/figure>\n<h2>Quick takeaways<\/h2>\n<ul>\n<li>The sample runs tracked head motion and overall pose changes well.<\/li>\n<li>Full-body runs look best when the reference subject matches the driving subject scale.<\/li>\n<li>Cross drives can work, but results depend on how close the body proportions match.<\/li>\n<\/ul>\n<h2>Try it<\/h2>\n<p><a href=\"https:\/\/wiro.ai\/models\/bytedance\/dreamactor\">DreamActor on Wiro<\/a><\/p>\n","protected":false},"excerpt":{"rendered":"<p>DreamActor turns a single photo plus a driving video into a new clip. This review runs 5 tests and shows the raw&hellip;<\/p>\n","protected":false},"author":4,"featured_media":1146,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[52],"tags":[88,96,58],"class_list":["post-1185","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-model-reviews","tag-bytedance","tag-dreamactor","tag-image-to-video"],"_links":{"self":[{"href":"https:\/\/wiro.ai\/blog\/wp-json\/wp\/v2\/posts\/1185","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/wiro.ai\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/wiro.ai\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/wiro.ai\/blog\/wp-json\/wp\/v2\/users\/4"}],"replies":[{"embeddable":true,"href":"https:\/\/wiro.ai\/blog\/wp-json\/wp\/v2\/comments?post=1185"}],"version-history":[{"count":1,"href":"https:\/\/wiro.ai\/blog\/wp-json\/wp\/v2\/posts\/1185\/revisions"}],"predecessor-version":[{"id":1186,"href":"https:\/\/wiro.ai\/blog\/wp-json\/wp\/v2\/posts\/1185\/revisions\/1186"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/wiro.ai\/blog\/wp-json\/wp\/v2\/media\/1146"}],"wp:attachment":[{"href":"https:\/\/wiro.ai\/blog\/wp-json\/wp\/v2\/media?parent=1185"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/wiro.ai\/blog\/wp-json\/wp\/v2\/categories?post=1185"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/wiro.ai\/blog\/wp-json\/wp\/v2\/tags?post=1185"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}