# Kling 2.5 Turbo Pro Text-to-Video

> Kling 2.5 Turbo Pro Text-to-Video is a paid API for AI agents from make-video.withzero.ai, paid per call via MPP, metered — billed by usage, status unknown (last checked 2026-10-09).

Generates a 720p video clip (5 or 10 seconds) from a text prompt using Kuaishou Kling 2.5 Turbo Pro, known for top-tier realism and motion quality.

## Facts

- Endpoint: POST https://make-video.withzero.ai/kling?utm_source=zero.xyz
- Price: metered — billed by usage
- Payment: MPP
- Status: unknown
- Last checked: 2026-10-09
- Activations on Zero: 1
- Provider: make-video.withzero.ai
- Website: https://make-video.withzero.ai
- Canonical page: https://www.zero.xyz/c/make-video-withzero-ai-kling-2-5-turbo-pro-text-to-video-912a07f3
- Structured record (JSON): https://api.zero.xyz/v1/capabilities/cap_AZiF532df6zviOYffPezi

Status and success rate cover calls made through Zero and Zero's own probes. Third-party monitors may report differently.

## How to call it through Zero

Zero handles the 402 payment challenge and records the run. With the Zero CLI installed (`npm i -g @zeroxyz/cli`):

```sh
zero fetch --capability make-video-withzero-ai-kling-2-5-turbo-pro-text-to-video-912a07f3 -d '<json body>'
```

Example prompt: Generate a 10-second 720p video of a golden retriever running through a sunlit meadow with realistic motion — make sure to avoid any blurry or low-quality frames using Kling 2.5 Turbo Pro.

## When to prefer this

Choose this endpoint when you need top-tier realism and smooth motion in a 720p text-to-video clip at 5 or 10 seconds and want the Kling 2.5 Turbo Pro model specifically. Prefer it over Sora 2 or Veo 3 when Kuaishou's realism characteristics are desired, and over image-to-video models (Wan, Hailuo) when you're working purely from a text prompt with no starting image.

## Known failure modes

- Invalid or empty prompt returns 400 validation error
- Unsupported duration (not 5 or 10) rejected at preCheck
- Unsupported resolution rejected at preCheck
- Payment charge failure if USDC balance is insufficient
- Job may time out or fail on fal.ai side, detectable via GET /status/:id
- image_url provided but ignored (Kling is text-to-video only, not image-to-video)

## How this service works

Kling 2.5 Turbo Pro — text-to-video. Per-model alias for POST /run with model="kling". Kuaishou Kling 2.5 Turbo Pro — top-tier realism and motion. 720p, durations 5/10s. Preview the charge via free GET /price/kling?duration=…&resolution=…; poll the job via free GET /status/:id (returned job_id).

## Output

Returns a job_id and status_url to poll for the completed video, along with the resolved inputs (duration, resolution), price breakdown (cost, markup, charge in USD), the underlying fal.ai model ID, and estimated completion time and polling interval in seconds.

## Request schema (JSON Schema)

```json
{
 "type": "object",
 "required": [
  "prompt"
 ],
 "properties": {
  "prompt": {
   "type": "string",
   "maxLength": 2000,
   "minLength": 1,
   "description": "Text description of the video to generate."
  },
  "duration": {
   "type": "integer",
   "minimum": 0,
   "description": "Clip duration in seconds. Per-model allow-list applied at preCheck.",
   "exclusiveMinimum": true
  },
  "image_url": {
   "type": "string",
   "format": "uri",
   "description": "Public http(s) URL of the starting image. Required for image-to-video models (wan, hailuo)."
  },
  "resolution": {
   "type": "string",
   "description": "Output resolution. Per-model allow-list applied at preCheck."
  },
  "aspect_ratio": {
   "type": "string",
   "description": "Output aspect ratio. Per-model allow-list applied at preCheck."
  },
  "generate_audio": {
   "type": "boolean",
   "description": "Generate native audio track. Only accepted by models that have an audio toggle (veo3)."
  },
  "negative_prompt": {
   "type": "string",
   "maxLength": 1000,
   "description": "Optional — describe what to avoid."
  }
 },
 "additionalProperties": false
}
```

## Response schema (JSON Schema)

```json
{
 "type": "object",
 "required": [
  "job_id",
  "status_url",
  "endpoint",
  "model",
  "model_name",
  "inputs",
  "price",
  "estimated_seconds",
  "poll_interval_seconds"
 ],
 "properties": {
  "model": {
   "type": "string",
   "description": "Underlying fal.ai model id."
  },
  "price": {
   "type": "object",
   "required": [
    "cost_usd",
    "markup_usd",
    "charge_usd",
    "breakdown"
   ],
   "properties": {
    "cost_usd": {
     "type": "number"
    },
    "breakdown": {
     "type": "string"
    },
    "charge_usd": {
     "type": "number"
    },
    "markup_usd": {
     "type": "number"
    }
   },
   "additionalProperties": false
  },
  "inputs": {
   "type": "object",
   "required": [
    "duration",
    "resolution"
   ],
   "properties": {
    "duration": {
     "type": "number"
    },
    "resolution": {
     "type": "string"
    },
    "generate_audio": {
     "type": "boolean"
    }
   },
   "description": "Echo of resolved inputs (after defaults applied).",
   "additionalProperties": false
  },
  "job_id": {
   "type": "string",
   "description": "Internal id; pass to GET /status/:job_id."
  },
  "endpoint": {
   "type": "string",
   "description": "The model slug that handled this submit."
  },
  "model_name": {
   "type": "string",
   "description": "Human-readable model name."
  },
  "status_url": {
   "type": "string",
   "format": "uri",
   "description": "Full URL to poll for completion."
  },
  "estimated_seconds": {
   "type": "number"
  },
  "poll_interval_seconds": {
   "type": "number"
  }
 },
 "additionalProperties": false
}
```

## More

- Live health (JSON, refreshed every minute): https://www.zero.xyz/c/make-video-withzero-ai-kling-2-5-turbo-pro-text-to-video-912a07f3/health.json
- [Zero catalog index](https://www.zero.xyz/llms.txt)
- [Other services from make-video.withzero.ai](https://www.zero.xyz/host/make-video.withzero.ai/llms.txt)
