ByteDance · motion control

    DreamActor V2 Prompting Guide

    What this model actually wants — from its schema, not from vibes.

    DreamActor V2 is ByteDance's motion control model on Versely. This page is its structured prompting reference: the 2 parameters its schema actually exposes, the motion-control technique that applies to it, copy-ready templates.

    Everything here is grounded in the same sources Versely's agent reads — the model's input schema. Where a line is general craft advice rather than a documented fact about DreamActor V2, the page says so.

    What DreamActor V2 wants

    The exact input surface, from the same schema the Versely agent fetches with get_model_input_schema before every generation.

    ParameterWhat it doesValues
    image_urlreqReference character image (jpeg/jpg/png, ≤4.7MB, 480x480-1920x1080)string
    video_urlreqDriving motion video (≤30s, mp4/mov/webm, 200x200-2048x1440)string
    • Verified against fal.ai/models/fal-ai/bytedance/dreamactor/v2 — `resolution` and `seed` are NOT valid fields

    Technique that applies here

    Motion transfer: reference video + character image; prompt describes retained vs replaced elements

    • DreamActor V2 (ByteDance) has no text prompt field at all — its schema is just image_url (the character reference photo) and video_url (the motion-reference clip), plus a trim_first_second toggle (default true) that crops the opening second of the output. All of your creative control comes from which two files you pick, not from typed instructions.
    • Kling Video V3 Motion Control's input.prompt is optional guidance (0–2500 chars) layered on top of the motion the reference video already supplies — use it for what the video can't show (wardrobe, backdrop, mood), not for describing the movement itself, which comes from input.video_urls.
    • Both of Kling Motion Control's uploads carry hard framing requirements straight from the schema: the character image (input.input_urls) and the motion video (input.video_urls) must each show head, shoulders, and torso, at an aspect ratio between 2:5 and 5:2 — crop your source assets to that before upload rather than trying to fix framing with prompt text.

    Copy-ready templates

    Replace the bracketed slots; each template says when it's the right shape.

    Template 1
    Character reference: [SUBJECT DESCRIPTION], front-facing, one static photo (480x480–1920x1080px) · Motion reference: [ACTION] clip, ≤30s, subject fully in frame, head/shoulders/torso visible

    Use when: Briefing which two files to source or shoot for DreamActor V2, since it has no text prompt field — only image_url and video_url.

    Template 2
    Motion reference needs its first second kept — disable trim_first_second before generating.

    Use when: DreamActor V2, when the opening beat of your driving video matters (the default crops it).

    Template 3
    New identity: [CHARACTER DESCRIPTION] · Motion source: [describe the reference clip's action] · Keep: [what should carry over from the reference] · Replace: [what should change]

    Use when: General framing for any motion-transfer brief (DreamActor or Kling Motion Control) before you pick your two source files.

    How the Versely agent does this automatically

    You can use this page by hand, or let the agent apply the same knowledge. Four real mechanisms — no more, no less:

    • get_model_input_schema — before generating, the agent looks up DreamActor V2's exact input fields, required fields, allowed values, defaults, and min/max bounds. The parameter table above is that same surface.
    • The prompt enhancer's family rules — 12 per-family rewrite rules (this model's family isn't one of the 12, so only general enhancement applies) shape how a rough prompt gets rewritten.
    • The per-provider speech guide — for TTS scripts, the agent follows a provider-specific tag scheme — not relevant to this model, but it's why voiceover scripts come out marked up correctly.
    • expand_movie_scene — in movie flows, brief scene ideas are rewritten into detailed cinematic descriptions before generation.

    Mistakes that waste generations

    • Writing a cinematic, camera-movement-heavy prompt for Kling Motion Control's input.prompt and expecting it to steer the motion — the field is capped at 2500 chars of optional guidance, and the actual movement comes from input.video_urls, not the text.
    • Looking for a prompt box on DreamActor V2 — the schema has exactly two required fields (image_url, video_url); there's no text field to type into, and resolution/seed aren't valid fields either.
    • Uploading a tightly-cropped headshot as Kling Motion Control's character image or motion video — the schema requires both to show head, shoulders, and torso at a 2:5–5:2 aspect ratio, so a face-only crop fails the framing requirement.

    Frequently asked questions

    Does DreamActor V2 support negative prompts?+

    No — DreamActor V2's published schema has no negative_prompt parameter. Exclusions have to be phrased positively inside the main prompt, or dropped.

    How does the Versely agent know DreamActor V2's parameters?+

    Before generating, the agent calls its get_model_input_schema tool, which looks up the exact input fields, required fields, allowed values, defaults, and min/max bounds for the model. Nothing on this page is guessed — it is the same schema surface those tools read.

    Related prompting guides

    Generate with DreamActor V2

    DreamActor V2 is live in Versely — paste a template above, or just describe what you want and let the agent map it onto the schema for you.