Runway Creative Suite

Profesjonell bildeanimering med Gen-2, Gen-3 og Gen4-modeller. Resultater i kinokvalitet.

✓ Gen-2, Gen-3, Gen4-modeller

✓ Bildeanimering

✓ Bevegelseskontroll

✓ HD-kvalitet

Autentisering

For å få tilgang til Runway 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 Runway Gen4 API på bare noen få minutter. Følg disse enkle trinnene for å generere din første text 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": "runway",
        "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: 'runway',
        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": "runway",
        "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": "runway",
    "input": {
      "text": "A serene landscape with mountains and a lake at sunset"
    },
    "options": {
      "duration": 5,
      "aspectRatio": "16:9",
      "version": "gen-4",
      "quality": "high"
    }
  }
}

Priser

Runway Gen4 API bruker en kredittbasert prismodell. Kreditter forbrukes basert på kompleksiteten og varigheten til det genererte innholdet.

Funksjon Kreditter Beskrivelse
Standard-modus 100-200 Kreditter 5–10 sekunders video i standard kvalitet
Pro-modus 300-500 Kreditter 5–10 sekunders video i profesjonell kvalitet

API-endepunkter

Runway Gen4 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/text_to_video

Parametere

Tilgjengelige parametere for Runway Gen4 API-forespørsler:

Parameter Type Obligatorisk Beskrivelse
service String Yes Tjenesteidentifikator: "runway"
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: "gen-2", "gen-3", "gen-4"
webhookUrl String No URL for å motta varsler om fullføring

Svarformat

Alle API-svar følger et konsekvent format:

Vellykket svar

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

Fullført svar

{
  "data": {
    "generatevideo": {
      "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 text 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": "runway",
  "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 Runway Gen4 API for å skape fantastisk innhold

Hent API-nøkkel nå Se priser