Luma AI Dream Machine

Artistisk videogenerering med en unik surrealistisk stil og kreative effekter.

✓ Surrealistisk stil

✓ Kreative effekter

✓ Hurtig behandling

✓ Unik æstetik

Autentificering

Brug din Doitong API-nøgle for at få adgang til Luma Dream Machine via Doitong API. Inkluder den i din GraphQL-mutation eller i REST API-headers.

Vigtigt: Opbevar din Doitong API-nøgle sikkert, og eksponer den aldrig i kode på klientsiden. Foretag altid API-kald fra din backend-server.
// GraphQL Header
{
  "Authorization": "Bearer YOUR_API_KEY"
}

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

Hurtig start

Kom i gang med Luma Labs API på få minutter. Følg disse enkle trin for at generere din første text to video.

Trin 1: Hent din API-nøgle

Opret en Doitong-konto og gå til dit dashboard for at generere en API-nøgle.

Trin 2: Foretag dit første kald

Brug et af kodeeksemplerne nedenfor til at foretage dit første API-kald.

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": "luma",
        "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: 'luma',
        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": "luma",
        "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": "luma",
    "input": {
      "text": "A serene landscape with mountains and a lake at sunset"
    },
    "options": {
      "duration": 5,
      "aspectRatio": "16:9",
      "version": "dream-machine",
      "quality": "high"
    }
  }
}

Priser

Luma Labs API bruger en kreditbaseret prismodel. Forbruget af kreditter afhænger af det genererede indholds kompleksitet og varighed.

Funktion Kreditter Beskrivelse
Standard-tilstand 100-200 Kreditter 5-10 sekunders video i standardkvalitet
Pro-tilstand 300-500 Kreditter 5-10 sekunders video i professionel kvalitet

API-endpoints

Luma Labs API er tilgængelig via vores forenede GraphQL-endpoint.

GraphQL-endpoint

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

REST-endpoint

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

Parametre

Tilgængelige parametre for Luma Labs API-anmodninger:

Parameter Type Påkrævet Beskrivelse
service String Yes Service-identifikator: "luma"
prompt String Yes Tekstbeskrivelse af hvad der skal genereres
duration Integer No Videovarighed i sekunder (standard: 5)
aspectRatio String No Billedformat: "16:9", "9:16", "1:1" (standard: "16:9")
version String No Model version: "dream-machine"
webhookUrl String No URL til modtagelse af notifikationer om færdiggørelse

Svarsformat

Alle API-svar følger et fast format:

Succes-svar

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

Gennemført-svar

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

Fejlhåndtering

API'en bruger standard HTTP-statuskoder og returnerer detaljerede fejlmeddelelser.

Almindelige fejlkoder

Statuskode Fejltype 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 fejlsvar

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

Webhooks

Modtag notifikationer i realtid, når din text to video-generering er færdig.

Opsætning af webhooks

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

Webhook-payload

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

Webhook-sikkerhed

Alle webhook-anmodninger inkluderer en signatur-header til verificering:

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

Rate limits

For at sikre fair brug og systemstabilitet gælder følgende hastighedsbegrænsninger:

Abonnement Anmodninger/minut Samtidige jobs Daglig grænse
Gratis 10 1 100
Starter 30 3 1,000
Pro 60 10 10,000
Enterprise Brugerdefineret Brugerdefineret Ubegrænset
Rate limit-headers: Tjek svars-headers for aktuel status på dine begrænsninger:
  • X-RateLimit-Limit: Maximum requests per window
  • X-RateLimit-Remaining: Requests remaining
  • X-RateLimit-Reset: Window reset timestamp

Best practices

1. Optimer dine prompts

Skriv klare og beskrivende prompts for at få de bedste resultater:

  • 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 behandling

Genereringen er asynkron. Implementer korrekt 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. Fejlhåndtering og recovery

Implementer retry-logik med eksponentiel 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. Overvåg kreditforbrug

Hold øje med dit forbrug af kreditter for at undgå afbrydelser:

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

Klar til at komme i gang?

Slut dig til tusindvis af udviklere, der bruger Luma Labs API til at skabe fantastisk indhold

Hent API-nøgle nu Se priser