.claude/skills/rest-api-standard/SKILL.md
Chuẩn hóa cách viết REST API chuyên nghiệp — tham số, mã trả về, upload file, webhook/polling, docs Swagger, versioning. Lấy cảm hứng từ tramsangtao.com/docs và Kling API. Kích hoạt khi user cần viết API chuẩn, quy mô, có tài liệu đầy đủ.
npx skillsauth add nguynbon03/API-XuongMedia-Backup rest-api-standardInstall this skill globally with one command. Works with Claude Code, Cursor, and Windsurf.
3 of 9 scanners reported clean
Some scanners were skipped, did not run, or reported a non-clean status. Review each row below.
Chuẩn hóa mọi API mà Bon tạo ra: tham số rõ ràng, mã trả về đầy đủ, tài liệu tự động.
https://api.yourdomain.com/v1
/v1/, /v2/Authorization: Bearer sk_live_xxxxxxxxxxxx
sk_live_ (production), sk_test_ (sandbox){
"code": 200,
"message": "Thành công",
"data": {
"job_id": "job_abc123",
"status": "processing",
"estimated_time": 120
},
"request_id": "req_xyz789"
}
{
"code": 400,
"message": "Thiếu tham số bắt buộc: image",
"error": {
"type": "validation_error",
"field": "image",
"detail": "Phải gửi ảnh đầu vào (file upload hoặc URL)"
},
"request_id": "req_xyz789"
}
| Mã | Ý nghĩa | Khi nào | |----|---------|---------| | 200 | Thành công | Request xử lý xong | | 201 | Đã tạo | Job đã được tạo, đang xử lý | | 400 | Yêu cầu không hợp lệ | Thiếu tham số, sai format | | 401 | Chưa xác thực | Thiếu hoặc sai API key | | 402 | Hết credits | Tài khoản hết credits | | 403 | Bị cấm | Không có quyền truy cập | | 404 | Không tìm thấy | Job/resource không tồn tại | | 429 | Quá giới hạn | Vượt rate limit | | 500 | Lỗi server | Lỗi nội bộ | | 503 | Không khả dụng | Server đang bảo trì |
POST /v1/files/upload
Content-Type: multipart/form-data
file: <binary>
type: image|video|audio
Response:
{
"code": 200,
"data": {
"file_id": "file_abc123",
"url": "https://cdn.example.com/uploads/file_abc123.mp4",
"type": "video",
"size": 15728640,
"duration": 10.5
}
}
POST /v1/files/upload-url
{
"url": "https://example.com/video.mp4",
"type": "video"
}
→ Hệ thống tự download từ URL, trả về file_id
| Loại | Kích thước tối đa | Định dạng | |------|-------------------|-----------| | Ảnh | 30MB | jpg, png, webp | | Video | 100MB | mp4, mov, avi | | Audio | 50MB | mp3, wav, aac |
GET /v1/jobs/{job_id}
Response:
{
"code": 200,
"data": {
"job_id": "job_abc123",
"status": "completed",
"progress": 100,
"result": {
"video_url": "https://cdn.example.com/results/output.mp4",
"duration": 5.0,
"resolution": "1080x1920"
},
"created_at": "2026-03-21T10:00:00Z",
"completed_at": "2026-03-21T10:02:15Z"
}
}
Trạng thái job: | Status | Ý nghĩa | |--------|---------| | pending | Đang chờ xử lý | | processing | Đang xử lý | | completed | Hoàn thành, có kết quả | | failed | Thất bại |
POST /v1/motion/generate
{
"image": "file_abc123",
"video": "file_def456",
"webhook_url": "https://your-server.com/callback"
}
→ Khi xong, hệ thống POST kết quả đến webhook_url
POST /v1/motion/generate
{
"image": "file_abc123", // file_id hoặc URL ảnh đầu vào
"video": "file_def456", // file_id hoặc URL video tham chiếu
"mode": "motion_control", // motion_control | lip_sync | ...
"duration": 5, // thời lượng video (giây)
"aspect_ratio": "9:16", // tỷ lệ khung hình
"webhook_url": "" // (tùy chọn) URL callback
}
Code mẫu:
references/api-response.py — Chuẩn hóa response formatreferences/file-handler.py — Upload file + download từ URLreferences/job-manager.py — Quản lý job: tạo, theo dõi, trả kết quảreferences/api-docs-example.md — Mẫu tài liệu API đầy đủcode, message, data, request_idX-RateLimit-Remaining, X-RateLimit-Reset/docsXem thêm: Tham khảo https://tramsangtao.com/docs
development
Crawl website và trích xuất dữ liệu có cấu trúc bằng BeautifulSoup, Scrapy, Playwright. Hỗ trợ cả trang tĩnh và trang động (JS-rendered). Kích hoạt khi user cần lấy dữ liệu từ website bất kỳ.
tools
Upload video tự động lên TikTok, YouTube, Facebook, Instagram bằng browser automation (Playwright). Vì các nền tảng này không có public API cho upload, phải dùng browser automation. Kích hoạt khi user cần upload video lên bất kỳ nền tảng nào.
development
Xử lý video bằng Python — cắt ghép, thêm nhạc nền, phụ đề, watermark, resize, chuyển định dạng, render hàng loạt. Dùng ffmpeg-python và moviepy. Kích hoạt khi user cần xử lý video bất kỳ cách nào.
tools
Lập lịch chạy task tự động — cron job, xử lý hàng đợi, lập lịch hàng loạt. Dùng APScheduler, Celery, hoặc crontab. Kích hoạt khi user cần chạy task định kỳ hoặc xử lý hàng loạt theo lịch.