Luma AI Dream Machine
Uundaji wa video wa kisanii wenye mtindo wa kipekee wa surreal na madoido ya kibunifu.
✓ Mtindo wa surreal
✓ Madoido ya kibunifu
✓ Uchakataji wa haraka
✓ Muonekano wa kipekee
Uthibitishaji
Ili kufikia Luma Dream Machine kupitia API ya Doitong, tumia ufunguo wako wa API ya Doitong. Ujumuishe kwenye mutation ya GraphQL au vichwa vya habari vya REST API.
// GraphQL Header
{
"Authorization": "Bearer YOUR_API_KEY"
}
// REST Header
"X-API-Key": "YOUR_API_KEY"
Anza Haraka
Anza kutumia Luma Labs API ndani ya dakika chache tu. Fuata hatua hizi rahisi ili kuunda text to video yako ya kwanza.
Hatua ya 1: Pata Ufunguo Wako wa API
Jisajili kwa akaunti ya Doitong na uende kwenye dashibodi yako ili kutengeneza ufunguo wa API.
Hatua ya 2: Tuma Ombi Lako la Kwanza
Tumia mojawapo ya mifano ya kodi hapa chini ili kutuma ombi lako la kwanza la 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"
}
}
}
Bei
Luma Labs API hutumia mfumo wa bei unaozingatia salio. Salio hutumiwa kulingana na ugumu na muda wa maudhui yaliyoundwa.
| Kipengele | Salio | Maelezo |
|---|---|---|
| Hali ya Kawaida | 100-200 Salio | Video ya sekunde 5-10 katika ubora wa kawaida |
| Hali ya Pro | 300-500 Salio | Video ya sekunde 5-10 katika ubora wa kitaalamu |
Vituo vya API
Luma Labs API inapatikana kupitia kituo chetu kimoja cha GraphQL.
Kituo cha GraphQL
POST https://api.doitong.com/graphql
Kituo cha REST
POST https://api.doitong.com/v1/text_to_video
Vigezo
Vigezo vinavyopatikana kwa maombi ya Luma Labs API:
| Kigezo | Aina | Lazima | Maelezo |
|---|---|---|---|
service |
String | Yes | Kitambulisho cha huduma: "luma" |
prompt |
String | Yes | Maelezo ya maandishi ya kile unachotaka kuunda |
duration |
Integer | No | Muda wa video kwa sekunde (msingi: 5) |
aspectRatio |
String | No | Uwiano wa skrini: "16:9", "9:16", "1:1" (msingi: "16:9") |
version |
String | No | Model version: "dream-machine" |
webhookUrl |
String | No | URL ya kupokea arifa za kukamilika |
Mfumo wa Majibu
Majibu yote ya API hufuata mfumo thabiti:
Jibu la Mafanikio
{
"data": {
"generatevideo": {
"id": "abc123xyz",
"status": "processing",
"url": null,
"webhookUrl": "https://your-webhook.com/callback",
"createdAt": "2024-01-01T00:00:00Z"
}
}
}
Jibu la Kukamilika
{
"data": {
"generatevideo": {
"id": "abc123xyz",
"status": "completed",
"url": "https://cdn.doitong.com/outputs/abc123xyz.mp4",
"duration": 5,
"createdAt": "2024-01-01T00:00:00Z"
}
}
}
Ushughulikiaji wa Hitilafu
API hutumia misimbo ya hali ya HTTP ya kawaida na hutoa ujumbe wa hitilafu wenye maelezo ya kina.
Misimbo ya Hitilafu ya Kawaida
| Msimbo wa Hali | Aina ya Hitilafu | Maelezo |
|---|---|---|
| 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 |
Mfumo wa Jibu la Hitilafu
{
"errors": [
{
"message": "Insufficient credits for this operation",
"extensions": {
"code": "INSUFFICIENT_CREDITS",
"creditsRequired": 100,
"creditsAvailable": 50
}
}
]
}
Webhooks
Pokea arifa za papo hapo wakati uundaji wa text to video yako unapokamilika.
Kusanidi Webhooks
Include a <code>webhookUrl</code> parameter in your request to receive a POST notification when processing is complete.
Data ya Webhook
{
"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
}
}
Usalama wa Webhook
Maombi yote ya webhook yanajumuisha saini kwenye kichwa cha habari kwa ajili ya uthibitishaji:
X-Doitong-Signature: sha256=abc123...
Vikomo vya Matumizi
Ili kuhakikisha matumizi ya haki na utulivu wa mfumo, vikomo vifuatavyo vinatumika:
| Mpango | Maombi/Dakika | Kazi Zinazoendelea Pamoja | Kikomo cha Kila Siku |
|---|---|---|---|
| Bure | 10 | 1 | 100 |
| Starter | 30 | 3 | 1,000 |
| Pro | 60 | 10 | 10,000 |
| Enterprise | Maalum | Maalum | Bila Kikomo |
X-RateLimit-Limit: Maximum requests per windowX-RateLimit-Remaining: Requests remainingX-RateLimit-Reset: Window reset timestamp
Mbinu Bora
1. Boresha Maelekezo Yako
Andika maelekezo (prompts) yaliyo wazi na yenye maelezo kwa matokeo bora zaidi:
- Be specific about visual elements, style, and mood
- Include details about lighting, camera angles, and composition
- Avoid contradictory or impossible requests
2. Shughulikia Uchakataji wa Async
Uundaji hufanyika kwa njia ya asinkronasi. Weka mfumo mzuri wa polling au 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. Urejeshi wa Hitilafu
Weka mantiki ya kujaribu tena yenye kuchelewa kwa ongezeko (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. Fuatilia Matumizi ya Salio
Fuatilia matumizi yako ya salio ili kuepuka kukatizwa kwa huduma:
- Check credit balance before large batch operations
- Set up alerts for low credit thresholds
- Implement credit-aware request queuing
Uko Tayari Kuanza?
Jiunge na maelfu ya watengenezaji wanaotumia Luma Labs API kuunda maudhui ya kustaajabisha