Luma AI Dream Machine

אַרטיסטישע ווידעאָ גענערירונג מיט אַן אײגנאַרטיקן סוררעאַליסטישן סטיל און קרעאַטיווע עפֿעקטן.

✓ סוררעאַליסטישער סטיל

✓ קרעאַטיווע עפֿעקטן

✓ שנעלע פּראָצעסירונג

✓ אייגנאַרטיקע עסטעטיק

אָטענטיפֿיקאַציע

כדי צוצוטרעטן צו Luma Dream Machine דורך דעם Doitong API, ניצט אייער Doitong API שליסל. לייגט אים אַרײַן אין די GraphQL mutation אָדער REST API headers.

וויכטיק: היט אָפּ אייער Doitong API שליסל אויף אַ זיכערן אָרט און אַנטפּלעקט אים קיינמאָל נישט אין קליענט-זייט קאָד. מאַכט שטענדיק API רופֿן פֿון אייער באַקענד-סערווער.
// GraphQL Header
{
  "Authorization": "Bearer YOUR_API_KEY"
}

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

שנעלער אָנהייב

הייבט אָן ניצן Luma Labs API אין בלויז עטלעכע מינוט. פֿאָלגט די דאָזיקע פּשוטע טריט צו גענערירן אייער ערשטן text to video.

שריט 1: באַקומט אייער API שליסל

רעגיסטרירט זיך פֿאַר אַ Doitong קאָנטאָ און גייט צו אייער קאָנטראָל-פּאַנעל צו גענערירן אַן API שליסל.

שריט 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": "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"
    }
  }
}

פּרייזן

Luma Labs API ניצט אַ מאָדעל פֿון פּרייזן באזירט אויף קרעדיטן. קרעדיטן ווערן פֿאַרנוצט לויט דער קאָמפּליצירטקייט און לענג פֿון דעם גענערירטן אינהאַלט.

פֿונקציע קרעדיטן באַשרײַבונג
סטאַנדאַרט מאָדע 100-200 קרעדיטן 5-10 סעקונדעס ווידעאָ אין סטאַנדאַרט קוואַליטעט
פּראָ מאָדע 300-500 קרעדיטן 5-10 סעקונדעס ווידעאָ אין פּראָפֿעסיאָנעלער קוואַליטעט

API ענדפּונקטן

Luma Labs API איז בנימצא דורך אונדזער פֿאַראייניקטן GraphQL ענדפּונקט.

GraphQL ענדפּונקט

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

REST ענדפּונקט

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

פּאַראַמעטערס

בנימצאדיקע פּאַראַמעטערס פֿאַר Luma Labs API בקשות:

פּאַראַמעטער טיפּ פֿאָדערט זיך באַשרײַבונג
service String Yes סערוויס אידענטיפֿיקאַטאָר: "luma"
prompt String Yes טעקסט-באַשרײַבונג פֿון דעם וואָס צו גענערירן
duration Integer No ווידעאָ לענג אין סעקונדעס (סטאַנדאַרט: 5)
aspectRatio String No פּראָפּאָרץ: "16:9", "9:16", "1:1" (סטאַנדאַרט: "16:9")
version String No Model version: "dream-machine"
webhookUrl String No URL צו באַקומען מעלדונגען וועגן פֿאַרטיקייט

פֿאָרמאַט פֿון ענטפֿער

אַלע API ענטפֿערס פֿאָלגן אַ קאָנסיסטענטן פֿאָרמאַט:

ענטפֿער פֿון דערפֿאָלג

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

פֿאַרענדיקטער ענטפֿער

{
  "data": {
    "generatevideo": {
      "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
      }
    }
  ]
}

וועבהוקס (Webhooks)

באַקומט מעלדונגען אין עכט-צײַט ווען אייער text to video גענערירונג איז פֿאַרטיק.

אויפֿשטעלן וועבהוקס

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

וועבהוק פּיילאָוד

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

וועבהוק זיכערקייט

אַלע וועבהוק בקשות פֿאַרמאָגן אַ חתימה-העדער (signature header) פֿאַר באַשטעטיקונג:

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

ראַטע-לימיטן

כדי צו פֿאַרזיכערן אַ יושרדיקע באַניצונג און סיסטעם-סטאַביליטעט, גילטן די פֿאָלגנדע לימיטן:

פּלאַן בקשות פּער מינוט פּאַראַלעלע אַרבעטן טעגלעכער לימיט
בחינם 10 1 100
סטאַרטער 30 3 1,000
פּראָ 60 10 10,000
ענטערפּרייז צוגעפּאַסט צוגעפּאַסט אָן אַ לימיט
ראַטע-לימיט העדערס: קאָנטראָלירט די ענטפֿער-העדערס פֿאַרן איצטיקן לימיט-סטאַטוס:
  • 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

גרייט אָנצוהייבן?

פֿאַרבינדט זיך מיט טויזנטער דעוועלאָפּערס וואָס ניצן Luma Labs API צו שאַפֿן מוראדיקן אינהאַלט

באַקומט API שליסל איצט זעט פּרייזן