Skip to content

Scail 2

Integrate

Model id scail-2
# Run the model; wait up to 20 s for the finished result in the same call
curl -X POST "https://api.doitong.com/v1/run/scail-2?wait=20" \
  -H "Authorization: Bearer $DOITONG_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "prompt": "A red fox trots through fresh snow at sunrise, soft golden light, shallow depth of field",
    "image": "https://content.doitong.com/images/showcase/v3/gen_fox_cartoon.jpg",
    "video": "https://content.doitong.com/video/showcase/v3/gen_fox_cartoon.mp4"
  }'

# Still "queued" or "running"? Poll with the id from the response:
curl "https://api.doitong.com/v1/requests/REQUEST_ID?wait=20" \
  -H "Authorization: Bearer $DOITONG_API_KEY"

Files like the example: $2.00 2,000 API credits your files are measured before the run Run it on this page

Get API key
Open model Video to Video up to 704p #stylized#transform

Animates a reference character image with motion from a driving video, or swaps it into the original scene

Open model · Video

Your first result goes here

Build a request below and run it with your API key. Outputs are copied to our storage, kept forever or 7 days for free.

Build a request

Controls are generated from the model schema. The code and the price update as you change them.

•required

Prompt specifying the desired output video.

•required image_url
Drop a file, or

Character reference image URL supplying the character to animate or substitute for a subject, with the driving video determining the animation or replacement.

•required video_url
Drop a file, or

Provide a motion-driving video by URL, featuring a single human, several humans, or an animal.

resolution default 512p

Output resolution with orientation automatically determined by the reference image's aspect ratio. In landscape, 512p maps to 896x512 and 704p to 1280x704; portrait uses 512x896 and 704x1280, respectively.

Advanced mode · driving_type · subject_type · num_inference_steps · guidance_scale · shift · seed · enable_safety_checker
mode default animation

Choose how to use the reference character: `replacement` preserves the original scene but substitutes the character for the driving subject; `animation` applies the driving motion to the character.

driving_type default end_to_end

Animation motion comes directly from a driving video masked by SAM3 with `end_to_end`, the default, recommended choice for maximum robustness. Alternatively, `pose` uses NLF/DWPose to render an explicit skeleton from that video, offering greater control with challenging inputs.

subject_type default human

Driving-video subject selection, with `animal` configuring SAM3's detection prompt for non-`human` subjects.

default 40

Diffusion sampling step count. Increasing it improves quality but takes longer.

default 5

Classifier-free guidance strength, balancing adherence to the prompt against creativity.

default 3

Noise-schedule shift for flow matching, with a recommended setting of 3.0 when using 512p.

Generation seed included in the response whether supplied explicitly or selected randomly because the input was left empty.

POST /run/scail-2?wait=20 quote → $2.00
# Run the model; wait up to 20 s for the finished result in the same call
curl -X POST "https://api.doitong.com/v1/run/scail-2?wait=20" \
  -H "Authorization: Bearer $DOITONG_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "prompt": "A red fox trots through fresh snow at sunrise, soft golden light, shallow depth of field",
    "image": "https://content.doitong.com/images/showcase/v3/gen_fox_cartoon.jpg",
    "video": "https://content.doitong.com/video/showcase/v3/gen_fox_cartoon.mp4"
  }'

# Still "queued" or "running"? Poll with the id from the response:
curl "https://api.doitong.com/v1/requests/REQUEST_ID?wait=20" \
  -H "Authorization: Bearer $DOITONG_API_KEY"

Run this request

Your key stays in this browser: it is sent only to the Doitong API and saved (localStorage) only if you tick Remember. Get an API key

About Scail 2

Takes a reference character `image_url` and a driving `video_url` showing a human, several humans or an animal. In `animation` mode the character performs the driving motion; in `replacement` mode it replaces the subject while keeping the scene. Resolution is 512p or 704p, with orientation picked from the image. `driving_type` can use direct end-to-end driving or an explicit pose skeleton.

Parameters

Send either the canonical name or the native name, not both. Canonical names

NameType DefaultAllowed Description
promptrequired
Typestring
Prompt specifying the desired output video.
image_urlrequired image
Typeurl · image
Character reference image URL supplying the character to animate or substitute for a subject, with the driving video determining the animation or replacement.
video_urlrequired video
Typeurl · video
Provide a motion-driving video by URL, featuring a single human, several humans, or an animal.
modeoptional
Typeenum
Defaultanimation
animationreplacement
Choose how to use the reference character: `replacement` preserves the original scene but substitutes the character for the driving subject; `animation` applies the driving motion to the character.
driving_typeoptional
Typeenum
Defaultend_to_end
end_to_endpose
Animation motion comes directly from a driving video masked by SAM3 with `end_to_end`, the default, recommended choice for maximum robustness. Alternatively, `pose` uses NLF/DWPose to render an explicit skeleton from that video, offering greater control with challenging inputs.
subject_typeoptional
Typeenum
Defaulthuman
humananimal
Driving-video subject selection, with `animal` configuring SAM3's detection prompt for non-`human` subjects.
resolutionoptional
Typeenum
Default512p
512p704p
Output resolution with orientation automatically determined by the reference image's aspect ratio. In landscape, 512p maps to 896x512 and 704p to 1280x704; portrait uses 512x896 and 704x1280, respectively.
num_inference_stepsoptional
Typeinteger
Default40
2 – 50
Diffusion sampling step count. Increasing it improves quality but takes longer.
guidance_scaleoptional
Typenumber
Default5
1 – 10
Classifier-free guidance strength, balancing adherence to the prompt against creativity.
shiftoptional
Typenumber
Default3
1 – 10
Noise-schedule shift for flow matching, with a recommended setting of 3.0 when using 512p.
seedoptional
Typeinteger | null
Generation seed included in the response whether supplied explicitly or selected randomly because the input was left empty.
enable_safety_checkeroptional
Typeboolean
Defaulttrue
Screening can be relaxed by setting false, provided the caller is authorized.
required Canonical name, also accepted

File parameters take a public https:// URL, a data: URI up to 10 MB, or the file_url of an upload. Files

Output

GET /requests/req_8k2m4q7x1z9c3v5b6n0p2r4t
{
  "id": "req_8k2m4q7x1z9c3v5b6n0p2r4t",
  "object": "request",
  "model": "scail-2",
  "status": "succeeded",
  "created_at": "2026-10-20T12:00:00Z",
  "started_at": "2026-10-20T12:00:02Z",
  "completed_at": "2026-10-20T12:00:09Z",
  "queue_position": null,
  "cost": {
    "credits": 2000,
    "usd": "2.00",
    "charged": 2000,
    "refunded": 0
  },
  "input": {
    "prompt": "A red fox trots through fresh snow at sunrise, soft golden light, shallow depth of field",
    "image_url": "https://content.doitong.com/images/showcase/v3/gen_fox_cartoon.jpg",
    "video_url": "https://content.doitong.com/video/showcase/v3/gen_fox_cartoon.mp4"
  },
  "output": {
    "video": {
      "url": "https://content.doitong.com/dev-api/2026/10/20/req_8k2m4q7x1z9c3v5b6n0p2r4t/0-output.mp4",
      "content_type": "video/mp4",
      "file_name": "0-output.mp4",
      "file_size": 1843200
    },
    "seed": 42,
    "preprocessing_video": {
      "url": "https://content.doitong.com/dev-api/2026/10/20/req_8k2m4q7x1z9c3v5b6n0p2r4t/0-output.mp4",
      "content_type": "video/mp4",
      "file_name": "0-output.mp4",
      "file_size": 1843200
    },
    "preprocessing_mask_video": {
      "url": "https://content.doitong.com/dev-api/2026/10/20/req_8k2m4q7x1z9c3v5b6n0p2r4t/0-output.mp4",
      "content_type": "video/mp4",
      "file_name": "0-output.mp4",
      "file_size": 1843200
    }
  },
  "outputs": [
    {
      "type": "video",
      "url": "https://content.doitong.com/dev-api/2026/10/20/req_8k2m4q7x1z9c3v5b6n0p2r4t/0-output.mp4",
      "content_type": "video/mp4",
      "file_size": 1843200,
      "width": 1280,
      "height": 720,
      "duration": 5,
      "stored": true
    }
  ],
  "error": null,
  "metrics": {
    "inference_seconds": 6.8
  },
  "urls": {
    "self": "https://api.doitong.com/v1/requests/req_8k2m4q7x1z9c3v5b6n0p2r4t",
    "cancel": "https://api.doitong.com/v1/requests/req_8k2m4q7x1z9c3v5b6n0p2r4t/cancel"
  }
}
Your files, your choiceEvery outputs[].url is a copy on our storage: kept forever (paid per GB-month) or 7 days for free, by your account setting or ?storage=.
Same shape on every modeltype, url, content_type, width, height and duration, for images, video and audio alike. output is the model’s own result object.
Fields of output
video
object {url, content_type, file_name, file_size}Video file produced by generation.
seed
integerSeed used for video generation.
preprocessing_video
object {url, content_type, file_name, file_size} | nullDebug video containing the Stage-A pose-conditioning input supplied to the diffusion model, available only with `output_preprocessing=true`. Its content depends on `driving_type`: `end_to_end` uses driving footage masked by SAM3, while `driving_type=pose` uses a skeleton rendered by NLF/DWPose.
preprocessing_mask_video
object {url, content_type, file_name, file_size} | nullStage-A driving mask video for debugging, available only with `output_preprocessing=true`.

For AI agents: this page as Markdown is at https://doitong.com/en-US/developers/models/scail-2.md. All models and guides: https://doitong.com/developers/llms.txt