AI API#
API tạo nội dung văn bản và hình ảnh bằng AI.
Base URL: https://app.socialking.vn/api/v1
1. Tạo văn bản AI#
POST /ai/text/generate
#
Auth: Bearer Token (JWT)
Rate Limit: 20 req/phút
Request Body:
{
"prompt": "Viết bài đăng Facebook giới thiệu sản phẩm mới",
"tone": "professional",
"length": "medium",
"language": "vi"
}| Field | Type | Required | Validation |
|---|---|---|---|
prompt | string | Yes | 1-5000 ký tự |
tone | string | No | professional | friendly | humorous | sales | educational |
length | string | No | short | medium | long |
language | string | No | vi | en |
template | string | No | Template name |
enableSpin | boolean | No | Bật spin content |
spinVariants | number | No | 2-5 biến thể |
Response: SSE Stream (text/event-stream)
event: data
data: {"choices":[{"delta":{"content":"Nội dung "}}]}
event: data
data: {"choices":[{"delta":{"content":"được tạo..."}}]}
event: done
data: [DONE]2. Tạo hình ảnh AI#
POST /ai/image/generate
#
Auth: Bearer Token (JWT)
Rate Limit: 10 req/phút
Request Body:
{
"prompt": "A modern social media banner with blue gradient",
"folderId": null
}| Field | Type | Required | Validation |
|---|---|---|---|
prompt | string | Yes | 1-2000 ký tự |
folderId | string | No | UUID, nullable - Folder lưu ảnh |
images | string[] | No | Max 10, base64 hoặc URL - Ảnh gốc cho chế độ edit |
Response (200):
{
"success": true,
"data": {
"id": "uuid-string",
"url": "https://cdn.socialking.vn/images/generated/abc.png",
"filename": "generated-image.png",
"mime_type": "image/png",
"size_bytes": 245760
}
}Errors:
| Code | Mô tả |
|---|---|
| 400 | Prompt quá dài hoặc không hợp lệ |
| 429 | Vượt quá rate limit |
| 500 | Lỗi AI service |