Kling Professional Video

Profesionāla video ģenerēšana ar uzlabotu kustību vadību. Modeļi no v1 līdz v2.1 ar Standarta un Pro režīmiem.

✓ Līdz 10 sekunžu video

✓ Pro un Standarta režīmi

✓ Kameras vadība

✓ 1080p izšķirtspēja

Autentifikācija

Lai piekļūtu Kling, izmantojot Doitong API, lietojiet savu Doitong API atslēgu. Iekļaujiet to GraphQL mutācijā vai REST API galvenēs (headers).

Svarīgi: Glabājiet savu Doitong API atslēgu drošībā un nekad neizpaudiet to klienta puses kodā. API izsaukumus vienmēr veiciet no sava backend servera.
// GraphQL Header
{
  "Authorization": "Bearer YOUR_API_KEY"
}

// REST Header
"X-API-Key": "YOUR_API_KEY"

Ātrais darba sākums

Sāciet lietot Kling API dažu minūšu laikā. Izpildiet šos vienkāršos soļus, lai ģenerētu savu pirmo text to video.

1. solis: Saņemiet API atslēgu

Reģistrējieties Doitong kontam un dodieties uz vadības paneli, lai izveidotu API atslēgu.

2. solis: Veiciet pirmo pieprasījumu

Izmantojiet kādu no zemāk redzamajiem koda piemēriem, lai veiktu savu pirmo API izsaukumu.

curl -X POST https://api.doitong.com/graphql \
  -H "Content-Type: application/json" \
  -H "Authorization: Bearer YOUR_API_KEY" \
  -H "Idempotency-Key: unique-request-id-123" \
  -d '{
    "query": "mutation Generate($input: GenerateInput!) { generate(input: $input) { id status type provider url metadata creditCost } }",
    "variables": {
      "input": {
        "type": "VIDEO",
        "provider": "kling",
        "input": {
          "text": "A serene landscape with mountains and a lake at sunset"
        },
        "options": {
          "duration": 5,
          "aspectRatio": "16:9"
        }
      }
    }
  }'
const response = await fetch('https://api.doitong.com/graphql', {
  method: 'POST',
  headers: {
    'Content-Type': 'application/json',
    'Authorization': 'Bearer YOUR_API_KEY',
    'Idempotency-Key': 'unique-request-id-123'
  },
  body: JSON.stringify({
    query: `
      mutation Generate($input: GenerateInput!) {
        generate(input: $input) {
          id
          status
          type
          provider
          url
          metadata
          creditCost
        }
      }
    `,
    variables: {
      input: {
        type: 'VIDEO',
        provider: 'kling',
        input: {
          text: 'A serene landscape with mountains and a lake at sunset'
        },
        options: {
          duration: 5,
          aspectRatio: '16:9'
        }
      }
    }
  })
});

const data = await response.json();
console.log('Result:', data.data.generate);
import requests
import json

url = "https://api.doitong.com/graphql"
headers = {
    "Content-Type": "application/json",
    "Authorization": "Bearer YOUR_API_KEY"
}

query = """
mutation Generate($input: GenerateInput!) {
  generate(input: $input) {
    id
    status
    type
    provider
    url
    metadata
    creditCost
  }
}
"""

variables = {
    "input": {
        "type": "VIDEO",
        "provider": "kling",
        "input": {
            "text": "A serene landscape with mountains and a lake at sunset"
        },
        "options": {
            "duration": 5,
            "aspectRatio": "16:9"
        }
    }
}

response = requests.post(url, json={
    "query": query,
    "variables": variables
}, headers=headers)

data = response.json()
print("Result:", data["data"]["generate"])
mutation Generate($input: GenerateInput!) {
  generate(input: $input) {
    id
    status
    type
    provider
    url
    metadata
    creditCost
    createdAt
  }
}

# Variables
{
  "input": {
    "type": "VIDEO",
    "provider": "kling",
    "input": {
      "text": "A serene landscape with mountains and a lake at sunset"
    },
    "options": {
      "duration": 5,
      "aspectRatio": "16:9",
      "version": "2.1-master",
      "quality": "high"
    }
  }
}

Cenas

Kling API izmanto kredītpunktu cenu modeli. Kredīti tiek patērēti atkarībā no ģenerētā satura sarežģītības un ilguma.

Funkcija Kredīti Apraksts
Standarta režīms 100-200 Kredīti 5–10 sekunžu video standarta kvalitātē
Pro režīms 300-500 Kredīti 5–10 sekunžu video profesionālā kvalitātē

API galapunkti

Kling API ir pieejams caur mūsu vienoto GraphQL galapunktu.

GraphQL galapunkts

POST https://api.doitong.com/graphql

REST galapunkts

POST https://api.doitong.com/v1/text_to_video

Parametri

Pieejamie parametri Kling API pieprasījumiem:

Parametrs Tips Obligāts Apraksts
service String Yes Pakalpojuma identifikators: "kling"
prompt String Yes Teksta apraksts tam, ko nepieciešams ģenerēt
duration Integer No Video ilgums sekundēs (noklusējums: 5)
aspectRatio String No Malu attiecība: "16:9", "9:16", "1:1" (noklusējums: "16:9")
version String No Model version: "1.0", "1.5", "1.6", "2.0", "2.1", "2.1-master"
webhookUrl String No URL pabeigšanas paziņojumu saņemšanai

Atbildes formāts

Visas API atbildes tiek sniegtas vienotā formātā:

Sekmīga atbilde

{
  "data": {
    "generatevideo": {
      "id": "abc123xyz",
      "status": "processing",
      "url": null,
      "webhookUrl": "https://your-webhook.com/callback",
      "createdAt": "2024-01-01T00:00:00Z"
    }
  }
}

Pabeigta darbība

{
  "data": {
    "generatevideo": {
      "id": "abc123xyz",
      "status": "completed",
      "url": "https://cdn.doitong.com/outputs/abc123xyz.mp4",
      "duration": 5,
      "createdAt": "2024-01-01T00:00:00Z"
    }
  }
}

Kļūdu apstrāde

API izmanto standarta HTTP statusa kodus un atgriež detalizētus kļūdu ziņojumus.

Biežākie kļūdu kodi

Statusa kods Kļūdas veids Apraksts
400 Bad Request Invalid parameters or malformed request
401 Unauthorized Missing or invalid API key
402 Payment Required Insufficient credits
429 Too Many Requests Rate limit exceeded
500 Internal Server Error Server error, please retry

Kļūdas atbildes formāts

{
  "errors": [
    {
      "message": "Insufficient credits for this operation",
      "extensions": {
        "code": "INSUFFICIENT_CREDITS",
        "creditsRequired": 100,
        "creditsAvailable": 50
      }
    }
  ]
}

Webhooks

Saņemiet reāllaika paziņojumus, kad jūsu text to video ģenerēšana ir pabeigta.

Webhook iestatīšana

Include a <code>webhookUrl</code> parameter in your request to receive a POST notification when processing is complete.

Webhook dati (payload)

{
  "id": "abc123xyz",
  "status": "completed",
  "url": "https://cdn.doitong.com/outputs/abc123xyz.mp4",
  "service": "kling",
  "createdAt": "2024-01-01T00:00:00Z",
  "completedAt": "2024-01-01T00:01:00Z",
  "metadata": {
    "duration": 5,
    "width": 1920,
    "height": 1080
  }
}

Webhook drošība

Visi Webhook pieprasījumi ietver paraksta galveni verifikācijai:

X-Doitong-Signature: sha256=abc123...

Pieprasījumu ierobežojumi

Lai nodrošinātu godīgu lietošanu un sistēmas stabilitāti, tiek piemēroti šādi ierobežojumi:

Plāns Pieprasījumi/minūtē Vienlaicīgi uzdevumi Dienas ierobežojums
Bezmaksas 10 1 100
Starter 30 3 1,000
Pro 60 10 10,000
Enterprise Pielāgots Pielāgots Neierobežots
Ierobežojumu galvenes: Pārbaudiet atbildes galvenes, lai uzzinātu pašreizējo ierobežojumu statusu:
  • X-RateLimit-Limit: Maximum requests per window
  • X-RateLimit-Remaining: Requests remaining
  • X-RateLimit-Reset: Window reset timestamp

Labā prakse

1. Optimizējiet uzvednes (prompts)

Rakstiet skaidras un aprakstošas uzvednes labākiem rezultātiem:

  • Be specific about visual elements, style, and mood
  • Include details about lighting, camera angles, and composition
  • Avoid contradictory or impossible requests

2. Apstrādājiet asinhronos procesus

Ģenerēšana ir asinhrona. Ieviesiet atbilstošu aptauju (polling) vai Webhooks:

// Polling example
async function pollStatus(jobId) {
  let status = 'processing';
  while (status === 'processing') {
    await sleep(2000); // Wait 2 seconds
    const result = await checkJobStatus(jobId);
    status = result.status;
  }
  return result;
}

3. Kļūdu novēršana

Ieviesiet atkārtošanas loģiku ar eksponenciālo atpakaļatkāpi (exponential backoff):

async function retryWithBackoff(fn, maxRetries = 3) {
  for (let i = 0; i < maxRetries; i++) {
    try {
      return await fn();
    } catch (error) {
      if (i === maxRetries - 1) throw error;
      await sleep(Math.pow(2, i) * 1000);
    }
  }
}

4. Uzraugiet kredītu patēriņu

Sekojiet līdzi kredītu atlikumam, lai izvairītos no pakalpojuma pārtraukumiem:

  • Check credit balance before large batch operations
  • Set up alerts for low credit thresholds
  • Implement credit-aware request queuing

Vai esat gatavs sākt?

Pievienojieties tūkstošiem izstrādātāju, kuri izmanto Kling API, lai radītu pārsteidzošu saturu

Saņemt API atslēgu tūlīt Skatīt cenas