Skip to main content
Fhddos provides full API compatibility with the official Kling AI (快手可灵) platform. Every request under the /kling prefix is routed to the Kling backend with the exact same request bodies, response shapes, and error codes as the official API — so your existing Kling integration works without modification.

Key Concepts

Full API Compatibility

Request and response bodies, field names, constraints, and error codes under /kling match the official Kling API exactly.

Dual Task IDs

Every task returns two IDs: task_id (upstream Kling ID) and platform_id (Fhddos tracking ID in video_<ULID> or image_<ULID> format).

Pay-on-Success Billing

Tasks are only billed when they succeed. Failed tasks are never charged. Billing is settled asynchronously after the task reaches a terminal state.

Unified Routing

Authenticate with your Fhddos token and use the /kling prefix. No Kling-specific credentials needed on the client side.

Authentication & Base URL

export TOKEN="oh-xxxxxxxxxxxxxxxx"
Authorization: Bearer <TOKEN>
Content-Type: application/json
All Kling endpoints are mounted under https://aiapi.fhddos.com/kling.

Quick Start

Generate a text-to-video in one request:
curl -X POST "https://aiapi.fhddos.com/kling/v1/videos/text2video" \
  -H "Authorization: Bearer $TOKEN" \
  -H "Content-Type: application/json" \
  -d '{
    "model_name": "kling-v1",
    "prompt": "A sunset beach with gentle waves lapping the shore",
    "mode": "std",
    "duration": "5",
    "aspect_ratio": "16:9"
  }'
Then query the returned task_id to check progress:
curl "https://aiapi.fhddos.com/kling/v1/videos/text2video/$TASK_ID" \
  -H "Authorization: Bearer $TOKEN"

Task ID System

Every task creation response includes two identifiers:
FieldFormatDescription
task_idKling-assigned stringThe upstream original task ID from Kling’s system
platform_idvideo_<ULID> or image_<ULID>Fhddos’s internal tracking ID — use this for cross-feature consistency
When querying tasks, you can use either task_id, platform_id, or external_task_id (if you set one at creation). See Task Query for details.

Billing Model

Kling AI uses a pay-on-success async billing model:
  • Creating a task does not immediately charge you
  • Fhddos polls the task status in the background
  • Only tasks that reach a success terminal state are billed
  • If final_unit_deduction is present in the response, billing is calculated as:
    • Video: 1 credit = ¥1
    • Image: 1 credit = ¥0.025
  • Tasks without final_unit_deduction are not charged

Supported Models

Video Models

ModelUse Case
kling-v2-6Latest generation — supports audio and motion control
kling-v2-5Latest generation video
kling-v2-5-turboLatest generation video (Turbo speed)
kling-v2-1Professional text/image to video
kling-v2-1-masterProfessional-grade video generation
kling-v2-masterAdvanced video generation
kling-v1-6Text/image to video, multi-image reference, multimodal editing
kling-v1-5Text/image to video
kling-v1Text/image to video (baseline)
kling-video-o1Omni video generation

Image Models

ModelUse Case
kling-image-o1Omni image generation
kling-v2-1Text-to-image, multi-image reference
kling-v2Text-to-image, style transfer
kling-v2-newStyle transfer and image-to-image
kling-v1-5Text/image to image with reference support
kling-v1Text-to-image (baseline)
Some models (like kling-v1, kling-v1-5, kling-v2-1) are shared between video and image endpoints. Billing is determined by the task type, not just the model name.

Feature Navigation

Text-to-Video

Generate video from a text prompt using POST /kling/v1/videos/text2video.

Image-to-Video

Animate a reference image into video using POST /kling/v1/videos/image2video.

Image Generation

Generate images from text or references using POST /kling/v1/images/generations.

Task Query

Poll task status, retrieve results, and list tasks across all Kling endpoints.