Kling Image Animation API

Transform static images into smooth videos with natural motion

✓ 5-10 seconds

✓ Natural motion

✓ Pro mode

✓ High quality

Autentisering

For å få tilgang til Kling Image-to-Video API via Doitong-API-et, bruk din Doitong-API-nøkkel. Inkluder den i GraphQL-mutasjonen eller i REST-API-headerne.

Viktig: Hold Doitong-API-nøkkelen din trygg og eksponer den aldri i kode på klientsiden. Gjør alltid API-kall fra din backend-server.
// GraphQL Header
{
  "Authorization": "Bearer YOUR_API_KEY"
}

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

Hurtigstart

Kom i gang med Kling Image-to-Video API på bare noen få minutter. Følg disse enkle trinnene for å generere din første image to video.

Trinn 1: Hent din API-nøkkel

Registrer en Doitong-konto og gå til kontrollpanelet ditt for å generere en API-nøkkel.

Trinn 2: Gjør din første forespørsel

Bruk et av kodeeksemplene nedenfor for å gjøre ditt første API-kall.

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

Priser

Kling Image-to-Video API bruker en kredittbasert prismodell. Kreditter forbrukes basert på kompleksiteten og varigheten til det genererte innholdet.

Funksjon Kreditter Beskrivelse
Grunnleggende bruk 10-50 Kreditter Standard kvalitet og varighet
Premium-bruk 100-500 Kreditter Høy kvalitet og utvidede funksjoner

API-endepunkter

Kling Image-to-Video API er tilgjengelig via vårt enhetlige GraphQL-endepunkt.

GraphQL-endepunkt

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

REST-endepunkt

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

Parametere

Tilgjengelige parametere for Kling Image-to-Video API-forespørsler:

Parameter Type Obligatorisk Beskrivelse
service String Yes Tjenesteidentifikator: "kling-i2v"
prompt String Yes Tekstbeskrivelse av hva som skal genereres
duration Integer No Videovarighet i sekunder (standard: 5)
aspectRatio String No Sideforhold: "16:9", "9:16", "1:1" (standard: "16:9")
version String No Model version: "1.0", "1.5", "1.6"
webhookUrl String No URL for å motta varsler om fullføring

Svarformat

Alle API-svar følger et konsekvent format:

Vellykket svar

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

Fullført svar

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

Feilhåndtering

API-et bruker standard HTTP-statuskoder og returnerer detaljerte feilmeldinger.

Vanlige feilkoder

Statuskode Feiltype Beskrivelse
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

Format for feilsvar

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

Webhooks

Motta varsler i sanntid når din image to video-generering er fullført.

Sette opp webhooks

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

Webhook-nyttelast

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

Webhook-sikkerhet

Alle webhook-forespørsler inkluderer en signatur-header for verifisering:

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

Grenser for forespørsler

For å sikre rettferdig bruk og systemstabilitet gjelder følgende grenser:

Plan Forespørsler/minutt Samtidige jobber Daglig grense
Gratis 10 1 100
Starter 30 3 1,000
Pro 60 10 10,000
Enterprise Tilpasset Tilpasset Ubegrenset
Headere for hastighetsbegrensning: Sjekk svar-headerne for gjeldende status:
  • X-RateLimit-Limit: Maximum requests per window
  • X-RateLimit-Remaining: Requests remaining
  • X-RateLimit-Reset: Window reset timestamp

Beste praksis

1. Optimaliser ledetekstene dine

Skriv klare og beskrivende ledetekster (prompts) for best mulig resultat:

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

2. Håndter asynkron prosessering

Genereringen er asynkron. Implementer riktig polling eller 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. Feilretting

Implementer logikk for nye forsøk med eksponentiell ventetid:

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. Overvåk kredittforbruk

Spor kredittforbruket ditt for å unngå avbrudd i tjenesten:

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

Klar til å komme i gang?

Bli med tusenvis av utviklere som bruker Kling Image-to-Video API for å skape fantastisk innhold

Hent API-nøkkel nå Se priser