Skip to content

Kling 4.0 Text to Video

Integrate

Model id kling/v4/text-to-video
# Run the model; wait up to 20 s for the finished result in the same call
curl -X POST "https://vit.doitong.com/api/v1/run/kling/v4/text-to-video?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"
  }'

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

Files like the example: $1.175 1,175 API credits your files are measured before the run Run it on this page

Get API key
Kling Text to Video 3–30 sup to 1080p #text-to-video#multi-shot#cinematic#kling

Text-only video generation with optional per-shot prompts, 3 to 30 second clips at 720p or 1080p

Kling · 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.

88 / 2500

Text instructions for generation; supply either `prompt` or `multi_prompt`.

resolution default 1080p

Resolution of the output.

aspect_ratio default 16:9

Aspect ratio for the resulting video.

default 5

Length of the video in seconds, from 3 to 30.

Advanced multi_prompt

Shot-by-shot generation instructions, with each prompt defining one shot whose duration contributes to the video's total length.

POST /run/kling/v4/text-to-video?wait=20 quote → $1.175
# Run the model; wait up to 20 s for the finished result in the same call
curl -X POST "https://vit.doitong.com/api/v1/run/kling/v4/text-to-video?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"
  }'

# Still "queued" or "running"? Poll with the id from the response:
curl "https://vit.doitong.com/api/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 Kling 4.0 Text to Video

Creates video from a text prompt of up to 2500 characters, with no image or video inputs. Alternatively, `multi_prompt` supplies one prompt per shot for multi-shot clips, and the total length is the sum of the shot durations. `duration` ranges from 3 to 30 seconds with a default of 5. Resolution can be 720p or 1080p, and `aspect_ratio` can be 16:9, 9:16, 1:1 or 21:9.

Parameters

NameType DefaultAllowed Description
promptoptional
Typestring | null
≤ 2,500 characters
Text instructions for generation; supply either `prompt` or `multi_prompt`.
multi_promptoptional
Typeobject[]
Shot-by-shot generation instructions, with each prompt defining one shot whose duration contributes to the video's total length.
multi_prompt[].promptrequired
Typestring
1 – 512 characters
Text instructions for the current shot.
multi_prompt[].durationoptional
Typeinteger
Default5
1 – 30
Duration of an individual shot, measured in seconds.
durationoptional
Typeinteger
Default5
3 – 30
Length of the video in seconds, from 3 to 30.
resolutionoptional
Typeenum
Default1080p
720p1080p
Resolution of the output.
aspect_ratiooptional
Typeenum
Default16:9
16:99:161:121:9
Aspect ratio for the resulting video.
required

Output

GET /requests/req_8k2m4q7x1z9c3v5b6n0p2r4t
{
  "id": "req_8k2m4q7x1z9c3v5b6n0p2r4t",
  "object": "request",
  "model": "kling/v4/text-to-video",
  "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": 1175,
    "usd": "1.175",
    "charged": 1175,
    "refunded": 0
  },
  "input": {
    "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
    }
  },
  "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://vit.doitong.com/api/v1/requests/req_8k2m4q7x1z9c3v5b6n0p2r4t",
    "cancel": "https://vit.doitong.com/api/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 produced by the model.

More models: Text to Video

For AI agents: this page as Markdown is at https://doitong.com/developers/models/kling/v4/text-to-video.md. All models and guides: https://doitong.com/developers/llms.txt