Skip to content

AI Avatar Multi Text

Integrate

Model id ai-avatar/multi-text
# 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/ai-avatar/multi-text?wait=20" \
  -H "Authorization: Bearer $DOITONG_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "image": "https://content.doitong.com/images/showcase/v3/avatar/talking_avatar.jpg",
    "first_text_input": "A red fox trots through fresh snow at sunrise, soft golden light, shallow depth of field",
    "second_text_input": "A red fox trots through fresh snow at sunrise, soft golden light, shallow depth of field",
    "prompt": "A red fox trots through fresh snow at sunrise, soft golden light, shallow depth of field"
  }'

# 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"

This request: ≈$0.648 648 API credits Run it on this page

Get API key
Open model Lipsync & Avatars Lipsyncup to 720p #stylized#transform

Makes a two-person talking video from one image, with a script and a chosen voice for each speaker

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

Text that directs the video generation process.

•required

Text that directs the video generation process.

•required

Text instructions that guide video generation.

•required image_url
Drop a file, or

Source image URL, with the selected aspect ratio determining whether preprocessing is needed: a mismatch triggers resizing followed by a center crop.

resolution default 480p

Output video resolution; only 480p and 720p are supported.

default 191

Frame count for generation, ranging from 81 through 129, inclusive.

Advanced acceleration · voice1 · voice2 · seed · enable_safety_checker
acceleration default regular

Acceleration level applied during generation.

default Sarah

Voice assigned to the first person when generating speech.

default Roger

Voice assigned to the second person when generating speech.

default 81

Seed that makes generation reproducible. Setting it to None selects a seed randomly.

POST /run/ai-avatar/multi-text?wait=20 quote → $0.648
# 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/ai-avatar/multi-text?wait=20" \
  -H "Authorization: Bearer $DOITONG_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "image": "https://content.doitong.com/images/showcase/v3/avatar/talking_avatar.jpg",
    "first_text_input": "A red fox trots through fresh snow at sunrise, soft golden light, shallow depth of field",
    "second_text_input": "A red fox trots through fresh snow at sunrise, soft golden light, shallow depth of field",
    "prompt": "A red fox trots through fresh snow at sunrise, soft golden light, shallow depth of field"
  }'

# 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 AI Avatar Multi Text

Animates a single image into a conversation between two people. Provide `first_text_input` and `second_text_input` as the lines, plus a `prompt`, and pick `voice1` and `voice2` from the preset voices. Output is 480p or 720p, with `num_frames` from 41 to 241. An `acceleration` setting of none, regular or high is available.

Parameters

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

NameType DefaultAllowed Description
image_urlrequired image
Typeurl · image
Source image URL, with the selected aspect ratio determining whether preprocessing is needed: a mismatch triggers resizing followed by a center crop.
first_text_inputrequired
Typestring
Text that directs the video generation process.
second_text_inputrequired
Typestring
Text that directs the video generation process.
voice1optional
Typeenum
DefaultSarah
AriaRogerSarahLauraCharlieGeorgeCallumRiverLiamCharlotteAliceMatildaWillJessicaEricChris
+4 moreBrianDanielLilyBill
Voice assigned to the first person when generating speech.
voice2optional
Typeenum
DefaultRoger
AriaRogerSarahLauraCharlieGeorgeCallumRiverLiamCharlotteAliceMatildaWillJessicaEricChris
+4 moreBrianDanielLilyBill
Voice assigned to the second person when generating speech.
promptrequired
Typestring
Text instructions that guide video generation.
num_framesoptional
Typeinteger
Default191
41 – 241
Frame count for generation, ranging from 81 through 129, inclusive.
resolutionoptional
Typeenum
Default480p
480p720p
Output video resolution; only 480p and 720p are supported.
seedoptional
Typeinteger
Default81
0 – 4,294,967,295
Seed that makes generation reproducible. Setting it to None selects a seed randomly.
accelerationoptional
Typeenum
Defaultregular
noneregularhigh
Acceleration level applied during generation.
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": "ai-avatar/multi-text",
  "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": 648,
    "usd": "0.648",
    "charged": 648,
    "refunded": 0
  },
  "input": {
    "image_url": "https://content.doitong.com/images/showcase/v3/avatar/talking_avatar.jpg",
    "first_text_input": "A red fox trots through fresh snow at sunrise, soft golden light, shallow depth of field",
    "second_text_input": "A red fox trots through fresh snow at sunrise, soft golden light, shallow depth of field",
    "prompt": "A red fox trots through fresh snow at sunrise, soft golden light, shallow depth of field"
  },
  "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
  },
  "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 value applied during generation.

More models: Lipsync & Avatars

For AI agents: this page as Markdown is at https://doitong.com/developers/models/ai-avatar/multi-text.md. All models and guides: https://doitong.com/developers/llms.txt