Kling profesionalus vaizdo įrašas

Profesionalus vaizdo įrašų generavimas su pažangiu judesio valdymu. Modeliai nuo v1 iki v2.1 su Standartiniu ir Pro režimais.

✓ Iki 10 sekundžių vaizdo įrašai

✓ Pro ir Standartinis režimai

✓ Kameros valdymas

✓ 1080p raiška

Autentifikavimas

Norėdami pasiekti Kling per „Doitong“ API, naudokite savo „Doitong“ API raktą. Įtraukite jį į „GraphQL“ mutaciją arba REST API antraštes.

Svarbu: Saugokite savo „Doitong“ API raktą ir niekada nenaudokite jo kliento pusės kode. API užklausas visada vykdykite iš savo serverio.
// GraphQL Header
{
  "Authorization": "Bearer YOUR_API_KEY"
}

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

Greita pradžia

Pradėkite naudotis Kling API vos per kelias minutes. Atlikite šiuos paprastus veiksmus, kad sugeneruotumėte savo pirmąjį text to video.

1 žingsnis: Gaukite API raktą

Užsiregistruokite „Doitong“ paskyroje ir eikite į valdymo skydą, kad sugeneruotumėte API raktą.

2 žingsnis: Atlikite pirmąją užklausą

Pasinaudokite vienu iš žemiau pateiktų kodo pavyzdžių savo pirmajai API užklausai.

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

Kainodara

Kling API naudoja kreditais pagrįstą kainodaros modelį. Kreditai nurašomi atsižvelgiant į kuriamo turinio sudėtingumą ir trukmę.

Funkcija Kreditai Aprašymas
Standartinis režimas 100-200 Kreditai 5–10 sek. standartinės kokybės vaizdo įrašas
Pro režimas 300-500 Kreditai 5–10 sek. profesionalios kokybės vaizdo įrašas

API prieigos taškai

Kling API paslauga pasiekiama per mūsų bendrą „GraphQL“ prieigos tašką.

GraphQL prieigos taškas

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

REST prieigos taškas

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

Parametrai

Galimi Kling API užklausų parametrai:

Parametras Tipas Privaloma Aprašymas
service String Yes Paslaugos identifikatorius: "kling"
prompt String Yes Tekstinis aprašymas to, ką norite sugeneruoti
duration Integer No Vaizdo įrašo trukmė sekundėmis (numatytoji: 5)
aspectRatio String No Kraštinių santykis: „16:9“, „9:16“, „1:1“ (numatytasis: „16:9“)
version String No Model version: "1.0", "1.5", "1.6", "2.0", "2.1", "2.1-master"
webhookUrl String No URL adresas pranešimams apie užbaigimą gauti

Atsakymo formatas

Visi API atsakymai pateikiami vienodu formatu:

Sėkmingas atsakymas

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

Užbaigtas atsakymas

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

Klaidų valdymas

API naudoja standartinius HTTP būsenos kodus ir pateikia išsamius klaidų pranešimus.

Dažni klaidų kodai

Būsenos kodas Klaidos tipas Aprašymas
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

Klaidos atsakymo formatas

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

Webhooks

Gaukite pranešimus realiuoju laiku, kai jūsų text to video kūrimas bus baigtas.

Webhooks nustatymas

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

Webhook duomenys

{
  "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 saugumas

Visos webhook užklausos turi parašo antraštę patikrai:

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

Užklausų ribojimai

Siekiant užtikrinti sąžiningą naudojimąsi ir sistemos stabilumą, taikomi šie ribojimai:

Planas Užklausos per minutę Lygiagretūs darbai Dienos limitas
Nemokamas 10 1 100
Starter 30 3 1,000
Pro 60 10 10,000
Enterprise Individualus Individualus Neribota
Ribojimų antraštės: Dabartinę ribojimų būseną tikrinkite atsakymo antraštėse:
  • X-RateLimit-Limit: Maximum requests per window
  • X-RateLimit-Remaining: Requests remaining
  • X-RateLimit-Reset: Window reset timestamp

Geriausios praktikos

1. Optimizuokite užklausas

Rašykite aiškias, aprašomąsias užklausas (prompts) geriausiems rezultatams pasiekti:

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

2. Valdykite asinchroninį apdorojimą

Kūrimas vyksta asinchroniškai. Įdiekite tinkamą būsenos tikrinimą (polling) arba naudokite 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. Klaidų atitaisymas

Įdiekite pakartotinio bandymo logiką su eksponentiniu atidėjimu:

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. Stebėkite kreditų likutį

Sekite kreditų suvartojimą, kad išvengtumėte paslaugų pertrūkių:

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

Pasiruošę pradėti?

Prisijunkite prie tūkstančių kūrėjų, naudojančių Kling API nuostabiam turiniui kurti

Gauti API raktą Peržiūrėti kainas