DeepManim API مہارت
آپ DeepManim API سے ٹیکسٹ پرامپٹس کے ذریعے متحرک تعلیمی ویڈیوز بنا، بہتر اور وائس اوور کے ساتھ تیار کر سکتے ہیں۔
بنیادی URL
https://api.deepmanim.com/api/v1
تصدیق
تمام درخواستوں کے Authorization ہیڈر میں API کی درکار ہے:
Authorization: Bearer dm_k_YOUR_API_KEY
ورک فلو
عام ورک فلو یہ ہے:
- ٹیکسٹ پرامپٹ سے
POST /generateکے ذریعے ویڈیو بنائیں GET /jobs/{job_id}سے جاب مکمل ہونے تک حالت چیک کریںPOST /improveکے ذریعے فالو اَپ ہدایات سے ویڈیو بہتر بنائیں (اختیاری، بار بار ممکن)- بصری نتیجے سے مطمئن ہونے پر
POST /audioکے ذریعے وائس اوور شامل کریں - ضرورت ہو تو
POST /improve-narrationکے ذریعے وائس اوور بہتر کریں
تخلیق اور بہتری کی کالز 1.5 کریڈٹس سے شروع ہوتی ہیں اور پری سیٹ کے مطابق بدلتی ہیں۔ آڈیو اور improve-narration کالز کی قیمت 1 کریڈٹ ہے۔ ڈیٹا پڑھنا مفت ہے۔
اینڈ پوائنٹس
POST /generate
ٹیکسٹ پرامپٹ سے نئی ویڈیو بنائیں۔ وائس اوور ڈیفالٹ طور پر شامل ہے۔
درخواست کا باڈی:
{
"message": "کششِ ثقل سمجھائیں",
"session_id": null,
"preferred_locale": "ur"
}
message(required): کیا اینیمیٹ کرنا ہے، یہ بیان کرنے والا پرامپٹ۔session_id(optional): گفتگو جاری رکھنے کے لیے موجودہ سیشن ID دیں۔
جواب:
{
"job_id": "abc-123",
"session_id": "def-456",
"status": "pending"
}
POST /improve
موجودہ ویڈیو بہتر یا تبدیل کریں۔ آڈیو شامل نہیں؛ تمام تبدیلیوں کے بعد /audio کے ذریعے شامل کریں۔
درخواست کا باڈی:
{
"session_id": "def-456",
"message": "مزید رنگ شامل کریں اور اینیمیشن آہستہ کریں",
"preferred_locale": "ur"
}
جواب:
{
"job_id": "ghi-789",
"session_id": "def-456",
"status": "pending"
}
POST /audio
موجودہ ویڈیو میں وائس اوور آڈیو شامل کریں۔
درخواست کا باڈی:
{
"session_id": "def-456",
"message_id": "msg-123",
"high_quality": false,
"preferred_locale": "ur"
}
POST /improve-narration
ویڈیو کے موجودہ وائس اوور کو بہتر کریں۔
درخواست کا باڈی:
{
"session_id": "def-456",
"message_id": "msg-123",
"high_quality": true,
"mode": "better_narration",
"instruction": "وضاحت کو مبتدیوں کے لیے زیادہ بدیہی بنائیں۔",
"preferred_locale": "ur"
}
GET /jobs/{job_id}
جاب کی حالت دیکھیں۔ phase فیلڈ پیش رفت بتاتا ہے: brainstorming → crafting_vision → assembling_pieces → polishing → done
مکمل ہونے پر جواب:
مکمل جواب:
{
"job_id": "abc-123",
"status": "completed",
"phase": "done",
"estimated_time_remaining_seconds": 0,
"result": {
"video_url": "https://...",
"description": "کششِ ثقل سمجھائیں",
"session_id": "def-456",
"message_id": "msg-789",
"duration_seconds": 24.6,
"has_audio": true,
"follow_up": "وضاحت کو مبتدیوں کے لیے زیادہ بدیہی بنائیں۔"
}
}
status کی ممکنہ قدریں: pending، running، completed، failed۔
POST /jobs/{job_id}/cancel — چلتے یا زیرِ انتظار جاب کو منسوخ کریں۔
GET /sessions — اپنے تمام سیشنز کی فہرست حاصل کریں۔
GET /sessions/{session_id} — پیغامات کی مکمل تاریخ کے ساتھ سیشن حاصل کریں۔
DELETE /sessions/{session_id} — سیشن اور اس کے تمام پیغامات حذف کریں۔
GET /sessions/{session_id}/jobs
سیشن کے جابز کی فہرست۔ اختیاری کوئری پیرامیٹر: ?status=completed
GET /messages/{message_id} — ID کے ذریعے ایک پیغام حاصل کریں۔
GET /credits
بیلنس حاصل کریں: balance، total_used، total_purchased، plan۔
GET /me
صارف کی معلومات حاصل کریں: id، email، display_name۔
خرابی کے کوڈز
401— API کی غائب یا غیر درست402— ناکافی کریڈٹس404— وسیلہ نہیں ملا400— غیر درست درخواست
پولنگ کی حکمتِ عملی
جاب عموماً 60–120 سیکنڈ لیتے ہیں۔ GET /jobs/{job_id} کو ہر 3–5 سیکنڈ بعد چیک کریں۔ رفتار بدلنے کے لیے estimated_time_remaining_seconds استعمال کریں۔ status کے completed یا failed ہونے پر رک جائیں۔
مثال: مکمل ورک فلو
import requests, time
API_KEY = "dm_k_YOUR_KEY"
BASE = "https://api.deepmanim.com/api/v1"
headers = {"Authorization": f"Bearer {API_KEY}"}
# 1. بنائیں
r = requests.post(f"{BASE}/generate", headers=headers, json={
"message": "کششِ ثقل سمجھائیں",
"preferred_locale": "ur"
})
job_id = r.json()["job_id"]
session_id = r.json()["session_id"]
# 2. مکمل ہونے تک چیک کریں
while True:
job = requests.get(f"{BASE}/jobs/{job_id}", headers=headers).json()
if job["status"] in ("completed", "failed"):
break
time.sleep(4)
# 3. نتیجہ حاصل کریں
video_url = job["result"]["video_url"]
message_id = job["result"]["message_id"]
# 4. اختیاری بہتری
r = requests.post(f"{BASE}/improve", headers=headers, json={
"session_id": session_id,
"message": "مزید رنگ شامل کریں اور اینیمیشن آہستہ کریں",
"preferred_locale": "ur"
})
# نئے job_id کی بھی اسی طرح پولنگ کریں…
# 5. بہتری کے بعد آڈیو شامل کریں
r = requests.post(f"{BASE}/audio", headers=headers, json={
"session_id": session_id,
"message_id": message_id,
"high_quality": False,
"preferred_locale": "ur"
})
# نئے job_id کی پولنگ کریں…
# 6. وائس اوور کی تدریسی کیفیت اختیاری طور پر بہتر کریں
r = requests.post(f"{BASE}/improve-narration", headers=headers, json={
"session_id": session_id,
"message_id": message_id,
"high_quality": True,
"mode": "better_narration",
"instruction": "وضاحت کو مبتدیوں کے لیے زیادہ بدیہی بنائیں۔",
"preferred_locale": "ur"
})
# نئے job_id کی پولنگ کریں…