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}से लौटे कार्य कोstatusके"completed"होने तक जाँचें - सुधारें —
POST /improveसे आगे के निर्देशों द्वारा वीडियो सुधारें (वैकल्पिक, बार-बार किया जा सकता है) - ऑडियो जोड़ें — दृश्य पसंद आने पर
POST /audioसे वाचन जोड़ें - वाचन सुधारें — ज़रूरत होने पर
POST /improve-narrationइस्तेमाल करें
निर्माण और सुधार कॉल 1.5 क्रेडिट से शुरू होती हैं और प्रीसेट के अनुसार बदलती हैं। ऑडियो और improve-narration कॉल की लागत 1 क्रेडिट है। डेटा पढ़ना मुफ़्त है।
एंडपॉइंट
POST /generate
टेक्स्ट प्रॉम्प्ट से नया वीडियो बनाएँ। ऑडियो वाचन डिफ़ॉल्ट रूप से शामिल है।
अनुरोध बॉडी:
{
"message": "गुरुत्वाकर्षण समझाएँ",
"session_id": null,
"preferred_locale": "hi"
}
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": "hi"
}
उत्तर:
{
"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": "hi"
}
POST /improve-narration
वीडियो का मौजूदा वाचन बेहतर करें।
अनुरोध बॉडी:
{
"session_id": "def-456",
"message_id": "msg-123",
"high_quality": true,
"mode": "better_narration",
"instruction": "शुरुआती लोगों के लिए व्याख्या को अधिक सहज बनाएँ।",
"preferred_locale": "hi"
}
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 सेकंड लेते हैं। हर 3–5 सेकंड में GET /jobs/{job_id} जाँचें। आवृत्ति बदलने के लिए 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": "hi"
})
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": "hi"
})
# नए 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": "hi"
})
# नए 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": "hi"
})
# नए job_id को जाँचें…