Runway Creative Suite

تحريك صور احترافي مع نماذج Gen-2 و Gen-3 و Gen4. نتائج بجودة سينمائية.

✓ نماذج Gen-2, Gen-3, Gen4

✓ تحريك الصور

✓ تحكم في الحركة

✓ جودة HD

المصادقة

للوصول إلى Runway عبر واجهة برمجة تطبيقات Doitong، استخدم مفتاح API الخاص بك. قم بتضمينه في طلب Mutation الخاص بـ GraphQL أو في ترويسات REST API.

هام: حافظ على أمان مفتاح API الخاص بك ولا تكشفه أبداً في الكود البرمجي لجهة العميل. قم دائماً بإجراء استدعاءات API من خادمك الخلفي (Backend).
// GraphQL Header
{
  "Authorization": "Bearer YOUR_API_KEY"
}

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

البدء السريع

ابدأ مع Runway Gen4 API في دقائق معدودة. اتبع هذه الخطوات البسيطة لإنشاء أول text to video لك.

الخطوة 1: احصل على مفتاح API

سجل للحصول على حساب Doitong وانتقل إلى لوحة التحكم لإنشاء مفتاح API الخاص بك.

الخطوة 2: قم بإجراء طلبك الأول

استخدم أحد أمثلة الكود أدناه لإجراء أول استدعاء لواجهة برمجة التطبيقات.

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

الأسعار

يعتمد Runway Gen4 API نموذج تسعير قائم على الرصيد. يتم استهلاك الرصيد بناءً على تعقيد ومدة المحتوى الذي يتم إنشاؤه.

الميزة الرصيد الوصف
الوضع القياسي 100-200 الرصيد فيديو مدته 5-10 ثوانٍ بجودة قياسية
الوضع الاحترافي 300-500 الرصيد فيديو مدته 5-10 ثوانٍ بجودة احترافية

نقاط نهاية API

تتوفر خدمة Runway Gen4 API من خلال نقطة نهاية GraphQL الموحدة الخاصة بنا.

نقطة نهاية GraphQL

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

نقطة نهاية REST

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

المعاملات

المعاملات المتاحة لطلبات Runway Gen4 API:

المعامل النوع مطلوب الوصف
service نص (String) Yes معرف الخدمة: "runway"
prompt نص (String) Yes وصف نصي للمحتوى المراد إنشاؤه
duration عدد صحيح (Integer) No مدة الفيديو بالثواني (الافتراضي: 5)
aspectRatio نص (String) No نسبة العرض إلى الارتفاع: "16:9"، "9:16"، "1:1" (الافتراضي: "16:9")
version نص (String) No Model version: "gen-2", "gen-3", "gen-4"
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"
    }
  }
}

معالجة الأخطاء

تستخدم واجهة برمجة التطبيقات رموز حالة 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.

حمولة الويب هوك (Payload)

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

أمان الويب هوك

تتضمن جميع طلبات الويب هوك ترويسة توقيع للتحقق:

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. تحسين الأوامر (Prompts)

اكتب أوامر واضحة ووصفية للحصول على أفضل النتائج:

  • 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

هل أنت مستعد للبدء؟

انضم إلى آلاف المطورين الذين يستخدمون Runway Gen4 API لإنشاء محتوى مذهل

احصل على مفتاح API الآن عرض الأسعار