تخطَّ إلى المحتوى

مستندات المطور UlazAI

Sora 2 API: إنشاء الفيديو والتسعير والوصول

Sora 2 API: إنشاء الفيديو والتسعير والوصول

أنشئ مقاطع فيديو Sora 2 من خلال UlazAI بنقاط نهاية واضحة وتسعير ائتماني وقواعد prompt واستقصاء الحالة ومعالجة مخرجات CDN.

تحقق من سعر طراز Sora الحالي وأي عرض حساب نشط قبل الإنشاء.

✨مميزات Sora 2

✅ تحويل النص إلى فيديو جيل

✅ صورة إلى فيديو الرسوم المتحركة

✅ خيارات المدة يظهر بواسطة مسار API الحالي

✅ إعدادات الإخراج هو موضح في وثائق API الحالية

✅ نسب العرض إلى الارتفاع المدعومة تعتمد على المسار المحدد

✅ معالجة غير متزامنة مع استطلاع الحالة

✅ تخزين R2 التلقائي مع CDN

✅ إشعارات البريد الإلكتروني عند اكتماله

بريد /api/v1/sora/generate/text-to-video/

توليد فيديو من النص

قم بإنشاء فيديو مدته 10 ثوانٍ من النص prompt باستخدام Sora 2.

هيئة الطلب

{
  "prompt": "A serene mountain landscape at sunrise with birds flying",
  "aspect_ratio": "landscape",  // Options: "landscape", "portrait", "square"
  "quality": "standard"          // Options: "standard", "high"
}

حدود

prompt * (سلسلة)

الوصف النصي للفيديو المراد إنشاؤه. الحد الأقصى 5000 حرف. كن وصفيًا للحصول على أفضل النتائج.

aspect_ratio (سلسلة)

نسبة العرض إلى الارتفاع للفيديو. الخيارات: landscape (16:9), portrait (9:16), square (1:1). الافتراضي: landscape

جودة (سلسلة)

الجودة محددة مسبقا. الخيارات: standard, high. الجودة العالية تستهلك المزيد من وقت المعالجة. الافتراضي: standard

prompt_directory_optin (منطقي) 💰 -10 اعتمادات

شارك مقطع الفيديو الخاص بك في دليل Prompt العام الخاص بنا واحصل على خصم 10 اعتمادات! الافتراضي: true

استجابة النجاح (201)

{
  "success": true,
  "data": {
    "task_id": "sra_2_1234567890abcdef",
    "status": "processing",
    "estimated_completion": "varies by queue",
    "credits_charged": 80,
    "credits_remaining": 920,
    "webhook_url": "https://ulazai.com/api/v1/sora/status/sra_2_1234567890abcdef/",
    "message": "Sora 2 video generation started successfully"
  }
}

مثال الضفيرة

curl -X POST https://ulazai.com/api/v1/sora/generate/text-to-video/ \
  -H "Authorization: Token YOUR_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "prompt": "A serene mountain landscape at sunrise with birds flying across the sky",
    "aspect_ratio": "landscape",
    "quality": "standard"
  }'
بريد /api/v1/sora/generate/image-to-video/

توليد الفيديو من الصورة

قم بتحريك صورة ثابتة إلى فيديو مدته 10 ثوانٍ باستخدام Sora 2.

هيئة الطلب

{
  "image_url": "https://example.com/your-image.jpg",
  "prompt": "Camera slowly zooms in as the character turns and smiles",
  "aspect_ratio": "landscape",
  "quality": "standard"
}

حدود

image_url * (سلسلة)

عنوان URL للصورة المصدر المراد تحريكها. يجب أن تكون في متناول الجمهور. التنسيقات المدعومة: JPG، PNG، WebP.

prompt * (سلسلة)

شرح كيفية تحريك الصورة الحد الأقصى 5000 حرف.

aspect_ratio (سلسلة)

يجب أن تتطابق مع نسبة العرض إلى الارتفاع للصورة المصدر للحصول على أفضل النتائج.

جودة (سلسلة)

الجودة محددة مسبقا. الافتراضي: standard

prompt_directory_optin (منطقي) 💰 -10 اعتمادات

شارك مقطع الفيديو الخاص بك في دليل Prompt العام الخاص بنا واحصل على خصم 10 اعتمادات! الافتراضي: true

احصل على /api/v1/sora/status/{task_id}/

التحقق من حالة الجيل

احصل على الحالة الحالية ونتيجة مهمة إنشاء فيديو Sora.

دول الاستجابة

يعالج

{
  "success": true,
  "data": {
    "task_id": "sra_2_1234567890abcdef",
    "status": "processing",
    "progress": 45,
    "estimated_completion": "varies by queue"
  }
}

النجاح

{
  "success": true,
  "data": {
    "task_id": "sra_2_1234567890abcdef",
    "status": "success",
    "video_url": "https://cdn.ulazai.com/sora/videos/sra_2_1234567890abcdef.mp4",
    "thumbnail_url": "https://cdn.ulazai.com/sora/thumbnails/sra_2_1234567890abcdef.jpg",
    "duration": 10,
    "resolution": "1920x1080",
    "file_size": "15.2 MB",
    "created_at": "2025-01-03T10:15:30Z"
  }
}

فشل

{
  "success": false,
  "error": "Video generation failed",
  "error_details": "Content policy violation detected in prompt",
  "credits_refunded": 80
}

مثال الضفيرة

curl -X GET https://ulazai.com/api/v1/sora/status/sra_2_1234567890abcdef/ \
  -H "Authorization: Token YOUR_API_KEY"

🔑 الوصول إلى Sora 2 API: الوصول الرسمي مقابل UlazAI

الوصول إلى Sora 2 API يعتمد على الموفر والتحقق من المؤسسة ومستوى الحساب. تحقق من الوصول الحالي والتسعير قبل التكامل.

الرسمية OpenAI API

  • دعوة / التحقق من المنظمة بوابات
  • تتم المحاسبة لكل ثانية من الفيديو
  • يمكنك إدارة مفتاح OpenAI والحصص النسبية الخاصة بك

Sora 2 على UlazAI

  • اتصل بها الآن باستخدام مفتاح UlazAI API - بدون دعوة منفصلة
  • يتم تسعيرها بالأرصدة المشتركة، ويتم ردها على المهام الفاشلة
  • نفس المفتاح يستدعي أيضًا Veo 3 وSeedance وKling - قارن التكلفة وزمن الوصول من رصيد واحد

هل تريد موازنة Sora 2 مع البدائل أولاً؟ انظر دليل نماذج فيديو الذكاء الاصطناعي 2026.

💰 تسعير Sora 2

تحويل النص إلى فيديو

تحقق من أسعار API الحالية

للمدة والنموذج المحدد

• التحقق من إعدادات الإخراج الحالية

• التحقق من نسب العرض إلى الارتفاع المدعومة

• يختلف وقت المعالجة حسب قائمة الانتظار

صورة إلى فيديو

تحقق من أسعار API الحالية

لتحويل الصورة إلى فيديو

• قم بتحميل صورة مدعومة قد تستخدمها

• حركة مخصصة prompts

• يختلف وقت المعالجة حسب قائمة الانتظار

احسب الدفعة الخاصة بك من تكلفة النموذج الحالي ومعدل إعادة المحاولة المتوقع.

📚 أفضل الممارسات

المبادئ التوجيهية Prompt

  • كن محددًا بشأن حركات الكاميرا (التحريك والتكبير/التصغير والإمالة)
  • وصف الإضاءة والجو
  • تضمين إجراءات الشخصية والتعبيرات
  • تحديد توقيت للحظات الرئيسية
  • تجنب الشخصيات أو العلامات التجارية المحمية بحقوق الطبع والنشر

نصائح حول تحويل الصورة إلى فيديو

  • استخدم صور مصدر عالية الجودة (1024 بكسل على الأقل)
  • مطابقة نسبة العرض إلى الارتفاع لتجنب الاقتصاص
  • وصف الحركة الواقعية للمشهد
  • النظر في الفيزياء والحركة الطبيعية

التكامل عبر الويب

  • يتم تخزين مقاطع الفيديو تلقائيًا في R2 مع تسليم CDN
  • يتم إرسال إشعارات البريد الإلكتروني عند اكتمال الإنشاء
  • قم باستقصاء نقطة نهاية الحالة كل 30 ثانية للحصول على التحديثات
  • تقوم الأجيال الفاشلة باسترداد الاعتمادات تلقائيًا

⚠️ رموز الخطأ

400 معلمات الطلب غير صالحة أو prompt طويلة جدًا
401 مفتاح API غير صالح أو مفقود
402 الاعتمادات غير كافية
422 انتهاك سياسة المحتوى
429 تم تجاوز حد المعدل (بحد أقصى 10 متزامنة)
500 خطأ في الخادم - سيتم رد الاعتمادات

💻 أمثلة على الكود

بايثون

import requests
import time

API_KEY = "YOUR_API_KEY"
BASE_URL = "https://ulazai.com/api/v1"

# Generate video
response = requests.post(
    f"{BASE_URL}/sora/generate/text-to-video/",
    headers={"Authorization": f"Token {API_KEY}"},
    json={
        "prompt": "A beautiful sunset over the ocean with waves",
        "aspect_ratio": "landscape",
        "quality": "standard"
    }
)

if response.status_code == 201:
    task_id = response.json()["data"]["task_id"]

    # Poll for status
    while True:
        status_response = requests.get(
            f"{BASE_URL}/sora/status/{task_id}/",
            headers={"Authorization": f"Token {API_KEY}"}
        )

        status_data = status_response.json()["data"]

        if status_data["status"] == "success":
            print(f"Video ready: {status_data['video_url']}")
            break
        elif status_data["status"] == "failed":
            print("Generation failed")
            break

        time.sleep(30)  # Wait 30 seconds before next check

جافا سكريبت (Node.js)

const axios = require('axios');

const API_KEY = 'YOUR_API_KEY';
const BASE_URL = 'https://ulazai.com/api/v1';

async function generateSoraVideo() {
    try {
        // Generate video
        const response = await axios.post(
            `${BASE_URL}/sora/generate/text-to-video/`,
            {
                prompt: 'A beautiful sunset over the ocean with waves',
                aspect_ratio: 'landscape',
                quality: 'standard'
            },
            {
                headers: { 'Authorization': `Token ${API_KEY}` }
            }
        );

        const taskId = response.data.data.task_id;
        console.log(`Generation started: ${taskId}`);

        // Poll for status
        const checkStatus = async () => {
            const statusResponse = await axios.get(
                `${BASE_URL}/sora/status/${taskId}/`,
                { headers: { 'Authorization': `Token ${API_KEY}` } }
            );

            const status = statusResponse.data.data.status;

            if (status === 'success') {
                console.log(`Video ready: ${statusResponse.data.data.video_url}`);
            } else if (status === 'failed') {
                console.log('Generation failed');
            } else {
                setTimeout(checkStatus, 30000); // Check again in 30 seconds
            }
        };

        setTimeout(checkStatus, 30000);

    } catch (error) {
        console.error('Error:', error.response?.data || error.message);
    }
}

generateSoraVideo();

🚀 جاهز للبدء؟

تحقق من حسابك لمعرفة عروض الائتمان الحالية.