এজেন্ট স্কিল
নিচের নির্দেশনাগুলো কপি করে আপনার AI এজেন্টকে (Claude, GPT, Cursor ইত্যাদি) দিন, যাতে সে আপনার হয়ে DeepManim API ব্যবহার করতে পারে।
SKILL.md
# DeepManim API স্কিল
টেক্সট প্রম্পট থেকে অ্যানিমেটেড ব্যাখ্যামূলক ভিডিও তৈরি, উন্নত করতে ও এতে বর্ণনা যোগ করতে DeepManim API ব্যবহার করতে পারেন।
## বেস URL
```
https://api.deepmanim.com/api/v1
```
## প্রমাণীকরণ
প্রতিটি অনুরোধে Authorization হেডারে একটি API কী লাগবে:
```
Authorization: Bearer dm_k_YOUR_API_KEY
```
## ওয়ার্কফ্লো
সাধারণ ওয়ার্কফ্লো হলো:
1. টেক্সট প্রম্পট থেকে POST /generate দিয়ে ভিডিও **তৈরি করুন**
2. status = "completed" না হওয়া পর্যন্ত GET /jobs/{job_id} দিয়ে কাজটি **পর্যবেক্ষণ করুন**
3. ঐচ্ছিকভাবে POST /improve দিয়ে ফলো-আপ নির্দেশনায় ভিডিও **উন্নত করুন**
4. ভিজ্যুয়ালে সন্তুষ্ট হলে POST /audio দিয়ে **বর্ণনা যোগ করুন**
5. প্রয়োজনে POST /improve-narration দিয়ে **বর্ণনা উন্নত করুন**
তৈরি ও উন্নত করার কল 1.5 ক্রেডিট থেকে শুরু হয় এবং প্রিসেট অনুযায়ী বদলায়। অডিও ও improve-narration কলের খরচ 1 ক্রেডিট। ডেটা পড়া বিনামূল্যে।
## এন্ডপয়েন্ট
### ভিডিও তৈরি করুন
একটি টেক্সট প্রম্পট থেকে নতুন ভিডিও তৈরি করুন। ডিফল্টভাবে অডিও বর্ণনা অন্তর্ভুক্ত থাকে।
অনুরোধের বডি:
```json
{
"message": "মাধ্যাকর্ষণ কীভাবে কাজ করে ব্যাখ্যা করুন",
"session_id": null,
"preferred_locale": "bn"
}
```
- `message` (required): (প্রয়োজনীয়) ভিডিও তৈরির নির্দেশনা
- `session_id` (optional): (ঐচ্ছিক) আগের কথোপকথন চালিয়ে যেতে সেশন ID
প্রতিক্রিয়া:
```json
{
"job_id": "abc-123",
"session_id": "def-456",
"status": "pending"
}
```
### ভিডিও উন্নত করুন
আগের ভিডিও উন্নত বা পরিবর্তন করুন। এতে অডিও থাকে না—সব পরিবর্তন শেষে /audio দিয়ে আলাদাভাবে যোগ করুন।
অনুরোধের বডি:
```json
{
"session_id": "def-456",
"message": "পটভূমি আরও গাঢ় করুন এবং অ্যানিমেশন ধীর করুন",
"preferred_locale": "bn"
}
```
প্রতিক্রিয়া:
```json
{
"job_id": "ghi-789",
"session_id": "def-456",
"status": "pending"
}
```
### অডিও যোগ করুন
আগের ভিডিওতে বর্ণনার অডিও যোগ করুন।
অনুরোধের বডি:
```json
{
"session_id": "def-456",
"message_id": "msg-123",
"high_quality": false,
"preferred_locale": "bn"
}
```
### বর্ণনা উন্নত করুন
ভিডিওর বিদ্যমান বর্ণনা উন্নত করুন।
অনুরোধের বডি:
```json
{
"session_id": "def-456",
"message_id": "msg-123",
"high_quality": true,
"mode": "better_narration",
"instruction": "নতুন শিক্ষার্থীদের জন্য ব্যাখ্যাটি আরও সহজবোধ্য করুন।",
"preferred_locale": "bn"
}
```
### কাজ
কাজের অবস্থা ও ফলাফল দেখুন।
phase ক্ষেত্রটি তৈরির বর্তমান ধাপ দেখায়।
সম্পূর্ণ কাজের প্রতিক্রিয়া:
```json
{
"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
### কাজ বাতিল করুন
### সেশন তালিকাভুক্ত করুন
### একটি সেশন দেখুন
### সেশন মুছুন
### সেশনের কাজ
একটি নির্দিষ্ট সেশনের কাজ তালিকাভুক্ত করুন।
### বার্তা
### ক্রেডিট
আপনার ক্রেডিট ব্যালেন্স ও সাবস্ক্রিপশন দেখুন।
### বর্তমান ব্যবহারকারী
বর্তমান ব্যবহারকারীর অ্যাকাউন্ট তথ্য দেখুন।
## ত্রুটির প্রতিক্রিয়া
- 401 — API কী অনুপস্থিত বা অবৈধ
- 402 — পর্যাপ্ত ক্রেডিট নেই
- 404 — রিসোর্স পাওয়া যায়নি
- 422 — অনুরোধ অবৈধ
## পোলিং
কাজ সম্পূর্ণ বা ব্যর্থ না হওয়া পর্যন্ত কয়েক সেকেন্ড পরপর তার status দেখুন।
## সম্পূর্ণ উদাহরণ
```python
import requests, time
API_KEY = "dm_k_YOUR_KEY"
BASE = "https://api.deepmanim.com/api/v1"
headers = {"Authorization": f"Bearer {API_KEY}"}
# ভিডিও তৈরি করুন
r = requests.post(f"{BASE}/generate", headers=headers, json={
"message": "মাধ্যাকর্ষণ কীভাবে কাজ করে ব্যাখ্যা করুন",
"preferred_locale": "bn"
})
job_id = r.json()["job_id"]
session_id = r.json()["session_id"]
# সম্পূর্ণ হওয়া পর্যন্ত অপেক্ষা করুন
while True:
job = requests.get(f"{BASE}/jobs/{job_id}", headers=headers).json()
if job["status"] in ("completed", "failed"):
break
time.sleep(4)
# ফলাফল পান
video_url = job["result"]["video_url"]
message_id = job["result"]["message_id"]
# ভিডিও উন্নত করুন
r = requests.post(f"{BASE}/improve", headers=headers, json={
"session_id": session_id,
"message": "পটভূমি আরও গাঢ় করুন এবং অ্যানিমেশন ধীর করুন",
"preferred_locale": "bn"
})
# উন্নতির কাজ দেখুন
# বর্ণনা যোগ করুন
r = requests.post(f"{BASE}/audio", headers=headers, json={
"session_id": session_id,
"message_id": message_id,
"high_quality": False,
"preferred_locale": "bn"
})
# অডিওর কাজ দেখুন
# বর্ণনা উন্নত করুন
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": "bn"
})
# বর্ণনা উন্নতির কাজ দেখুন
```