Runway Image Animation API

Professional image animation with cinema-quality results

✓ Cinema quality

✓ 16:9/9:16

✓ Pro tools

✓ Motion control

Autentifikavimas

Norėdami pasiekti Runway Image-to-Video API 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 Runway Image-to-Video API vos per kelias minutes. Atlikite šiuos paprastus veiksmus, kad sugeneruotumėte savo pirmąjį image 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": "runway-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: 'runway-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": "runway-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": "runway-i2v",
    "input": {
      "imageUrl": "https://example.com/your-image.jpg"
    },
    "options": {
      "duration": 5,
      "motionIntensity": "medium",
      "version": "gen-4"
    }
  }
}

Kainodara

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

Funkcija Kreditai Aprašymas
Bazinis naudojimas 10-50 Kreditai Standartinė kokybė ir trukmė
Premium naudojimas 100-500 Kreditai Aukšta kokybė ir išplėstinės funkcijos

API prieigos taškai

Runway Image-to-Video 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/image_to_video

Parametrai

Galimi Runway Image-to-Video API užklausų parametrai:

Parametras Tipas Privaloma Aprašymas
service String Yes Paslaugos identifikatorius: "runway-i2v"
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: "gen-2", "gen-3", "gen-4"
webhookUrl String No URL adresas pranešimams apie užbaigimą gauti

Atsakymo formatas

Visi API atsakymai pateikiami vienodu formatu:

Sėkmingas atsakymas

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

Užbaigtas atsakymas

{
  "data": {
    "imagevideo": {
      "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ų image 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": "runway-i2v",
  "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ų Runway Image-to-Video API nuostabiam turiniui kurti

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