Kling Image Animation API

Transform static images into smooth videos with natural motion

✓ 5-10 seconds

✓ Natural motion

✓ Pro mode

✓ High quality

Аутентификация

Kling Image-to-Video API қызметіне Doitong API арқылы қол жеткізу үшін Doitong API кілтін пайдаланыңыз. Оны GraphQL мутациясына немесе REST API тақырыптарына (headers) қосыңыз.

Маңызды: Doitong API кілтін қауіпсіз сақтаңыз және оны ешқашан клиенттік кодта көрсетпеңіз. API сұрауларын әрдайым өзіңіздің backend серверіңізден жасаңыз.
// GraphQL Header
{
  "Authorization": "Bearer YOUR_API_KEY"
}

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

Жылдам бастау

Kling Image-to-Video API қызметімен бірнеше минутта жұмысты бастаңыз. Алғашқы image to video жасау үшін осы қарапайым қадамдарды орындаңыз.

1-қадам: API кілтін алу

Doitong тіркелгісіне тіркеліп, API кілтін жасау үшін бақылау тақтасына (dashboard) өтіңіз.

2-қадам: Алғашқы сұрауды жасау

Алғашқы API сұрауын жасау үшін төмендегі код мысалдарының бірін пайдаланыңыз.

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-i2v",
        "input": {
          "image": "https://example.com/your-image.jpg"
        },
        "options": {
          "duration": 5,
          "motionIntensity": "medium"
        }
      }
    }
  }'
const response = await fetch('https://api.doitong.com/graphql', {
  method: 'POST',
  headers: {
    'Content-Type': 'application/json',
    'Authorization': 'Bearer YOUR_API_KEY'
  },
  body: JSON.stringify({
    query: `
      mutation AnimateImage($input: ImageAnimationInput!) {
        animateImage(input: $input) {
          id
          status
          url
        }
      }
    `,
    variables: {
      input: {
        service: 'kling-i2v',
        imageUrl: 'https://example.com/your-image.jpg',
        duration: 5,
        motionIntensity: 'medium'
      }
    }
  })
});

const data = await response.json();
console.log('Animated Video:', data.data.animateImage);
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-i2v",
        "input": {
            "imageUrl": "https://example.com/your-image.jpg"
        },
        "options": {
            "duration": 5,
            "motionIntensity": "medium"
        }
    }
}

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-i2v",
    "input": {
      "imageUrl": "https://example.com/your-image.jpg"
    },
    "options": {
      "duration": 5,
      "motionIntensity": "medium",
      "version": "1.6"
    }
  }
}

Бағалар

Kling Image-to-Video API кредиттік баға үлгісін пайдаланады. Кредиттер жасалған мазмұнның күрделілігі мен ұзақтығына байланысты жұмсалады.

Мүмкіндік Кредиттер Сипаттама
Негізгі пайдалану 10-50 Кредиттер Стандартты сапа мен ұзақтық
Премиум пайдалану 100-500 Кредиттер Жоғары сапа мен кеңейтілген мүмкіндіктер

API соңғы нүктелері

Kling Image-to-Video API біздің бірыңғай GraphQL соңғы нүктесі арқылы қолжетімді.

GraphQL соңғы нүктесі

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

REST соңғы нүктесі

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

Параметрлер

Kling Image-to-Video API сұраулары үшін қолжетімді параметрлер:

Параметр Түрі Міндетті Сипаттама
service Жол (String) Yes Қызмет идентификаторы: "kling-i2v"
prompt Жол (String) Yes Жасалатын нәрсенің мәтіндік сипаттамасы
duration Бүтін сан (Integer) No Видео ұзақтығы секундпен (әдепкі: 5)
aspectRatio Жол (String) No Пропорция: "16:9", "9:16", "1:1" (әдепкі: "16:9")
version Жол (String) No Model version: "1.0", "1.5", "1.6"
webhookUrl Жол (String) No Хабарландыруларды алуға арналған URL

Жауап форматы

Барлық API жауаптары бірыңғай форматқа сәйкес келеді:

Сәтті жауап

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

Аяқталған жауап

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

Қателерді өңдеу

API стандартты HTTP күй кодтарын пайдаланады және егжей-тегжейлі қате хабарларын қайтарады.

Жиі кездесетін қате кодтары

Күй коды Қате түрі Сипаттама
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

Қате жауабының форматы

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

Вебхуктар

image to video жасау аяқталған кезде нақты уақыт режимінде хабарландырулар алыңыз.

Вебхуктарды баптау

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

Вебхук деректері (payload)

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

Вебхук қауіпсіздігі

Барлық вебхук сұраулары тексеру үшін қолтаңба тақырыбын (signature header) қамтиды:

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

Сұрау шектеулері

Әділ пайдалану мен жүйе тұрақтылығын қамтамасыз ету үшін келесі шектеулер қолданылады:

Тариф Минутына сұраулар Бір мезгілдегі тапсырмалар Күндік шектеу
Тегін 10 1 100
Бастапқы 30 3 1,000
Pro 60 10 10,000
Enterprise Арнайы Арнайы Шексіз
Шектеу тақырыптары: Ағымдағы шектеу күйін жауап тақырыптарынан тексеріңіз:
  • X-RateLimit-Limit: Maximum requests per window
  • X-RateLimit-Remaining: Requests remaining
  • X-RateLimit-Reset: Window reset timestamp

Үздік тәжірибелер

1. Промптарды оңтайландыру

Жақсы нәтиже алу үшін анық, сипаттамалық промптар жазыңыз:

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

2. Асинхронды өңдеуді басқару

Жасау процесі асинхронды. Тиісті сұрау (polling) немесе вебхуктарды енгізіңіз:

// 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. Қателерден кейін қалпына келтіру

Экспоненциалды күту (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. Кредиттердің жұмсалуын бақылау

Жұмыстың үзілмеуі үшін кредиттердің жұмсалуын қадағалаңыз:

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

Бастауға дайынсыз ба?

Керемет мазмұн жасау үшін Kling Image-to-Video API қызметін пайдаланатын мыңдаған әзірлеушілерге қосылыңыз

API кілтін алу Бағаларды көру