/api/v2/predict/text
- Классификация текста
Классифицирует текст с помощью выбранной модели
{
"api_token": "string",
"text": "string",
"model": "string" // опционально
}
{
"ok": true,
"code": 200,
"message": "Ok",
"class": 0,
"time_taken": 0.15,
"class_names": {
"0": "clean",
"1": "spam"
},
"confidence": 0.95,
"unique_id": "string",
"balance": 100.0,
"tokens_count": 128,
"price": 0.001
}
import aiohttp
import asyncio
async def predict_text():
url = "https://moderator.pysols.ru/api/v2/predict/text"
payload = {
"api_token": "your_api_token",
"text": "текст для проверки",
"model": "bert" # опционально
}
async with aiohttp.ClientSession() as session:
async with session.post(url, json=payload) as response:
print(await response.json())
asyncio.run(predict_text())
curl -X POST https://moderator.pysols.ru/api/v2/predict/text \
-H "Content-Type: application/json" \
-d '{"api_token": "your_api_token", "text": "текст для проверки", "model": "bert"}'
/api/v2/predict/profile
- Классификация профиля
Классифицирует профиль пользователя на предмет спама
{
"api_token": "string",
"username": "string",
"first_name": "string",
"last_name": "string", // опционально
"description": "string", // опционально
"channel_title": "string", // опционально
"is_premium": false,
"model": "string" // опционально
}
{
"ok": true,
"code": 200,
"message": "Ok",
"class": 0,
"time_taken": 0.15,
"class_names": {
"0": "clean",
"1": "suspicious"
},
"confidence": 0.95,
"unique_id": "string",
"balance": 100.0,
"tokens_count": 128,
"price": 0.001
}
import aiohttp
import asyncio
async def predict_profile():
url = "https://moderator.pysols.ru/api/v2/predict/profile"
payload = {
"api_token": "your_api_token",
"username": "user123",
"first_name": "John",
"last_name": "Doe",
"description": "Bio text",
"channel_title": "Channel title",
"is_premium": False,
"model": "bert" # опционально
}
async with aiohttp.ClientSession() as session:
async with session.post(url, json=payload) as response:
print(await response.json())
asyncio.run(predict_profile())
curl -X POST https://moderator.pysols.ru/api/v2/predict/profile \
-H "Content-Type: application/json" \
-d '{"api_token": "your_api_token", "username": "user123", "first_name": "John", "last_name": "Doe", "description": "Bio text", "channel_title": "Channel title", "is_premium": false}'
/api/v2/predict/image
- Классификация изображения
Классифицирует изображение с помощью выбранной модели (например, для определения NSFW контента)
{
"api_token": "string",
"image": "string", // изображение в формате base64
"model": "string" // опционально
}
{
"ok": true,
"code": 200,
"message": "Ok",
"class": 0,
"time_taken": 0.15,
"class_names": {
"0": "safe",
"1": "nsfw"
},
"confidence": 0.95,
"balance": 100.0,
"price": 0.001
}
import aiohttp
import asyncio
import base64
async def predict_image():
url = "https://moderator.pysols.ru/api/v2/predict/image"
# Читаем изображение и конвертируем в base64
with open("image.jpg", "rb") as image_file:
image_data = base64.b64encode(image_file.read()).decode()
payload = {
"api_token": "your_api_token",
"image": image_data,
"model": "nsfw_detector" # опционально
}
async with aiohttp.ClientSession() as session:
async with session.post(url, json=payload) as response:
print(await response.json())
asyncio.run(predict_image())
curl -X POST https://moderator.pysols.ru/api/v2/predict/image \
-H "Content-Type: application/json" \
-d '{
"api_token": "your_api_token",
"image": "base64_encoded_image_data",
"model": "nsfw_detector"
}'
/api/v2/predict/ocr
- Извлечение текста из изображения
Извлекает текст из изображения с помощью OCR
{
"api_token": "string",
"image": "string" // изображение в формате base64
}
{
"ok": true,
"code": 200,
"message": "Ok",
"text": "extracted text",
"num_of_pixels": 12345,
"price": 0.001,
"balance": 100.0,
"time_taken": 0.01
}
import aiohttp
import asyncio
import base64
async def extract_text():
url = "https://moderator.pysols.ru/api/v2/predict/ocr"
# Читаем изображение и конвертируем в base64
with open("image.jpg", "rb") as image_file:
image_data = base64.b64encode(image_file.read()).decode("utf-8")
payload = {
"api_token": "your_api_token",
"image": image_data
}
async with aiohttp.ClientSession() as session:
async with session.post(url, json=payload) as response:
print(await response.json())
asyncio.run(extract_text())
curl -X POST https://moderator.pysols.ru/api/v2/predict/ocr \
-H "Content-Type: application/json" \
-d '{
"api_token": "your_api_token",
"image": "base64_encoded_image_data"
}'
/api/v2/predict/multimodal_text
- Мультимодальная классификация
Классифицирует текст и изображения
{
"api_token": "string",
"text": "string", // опционально
"images": ["string"], // массив изображений в формате base64
"model": "string" // опционально
}
{
"ok": true,
"code": 200,
"message": "Ok",
"class": 0,
"time_taken": 0.15,
"class_names": {
"0": "clean",
"1": "spam"
},
"confidence": 0.95,
"unique_id": "string",
"balance": 100.0,
"tokens_count": 128,
"price": 0.001
}
import aiohttp
import asyncio
import base64
async def predict_multimodal():
url = "https://moderator.pysols.ru/api/v2/predict/multimodal_text"
# Читаем изображения и конвертируем в base64
images = []
for image_path in ["image1.jpg", "image2.jpg"]:
with open(image_path, "rb") as image_file:
image_data = base64.b64encode(image_file.read()).decode()
images.append(image_data)
payload = {
"api_token": "your_api_token",
"text": "текст для проверки", # опционально
"images": images,
"model": "bert" # опционально
}
async with aiohttp.ClientSession() as session:
async with session.post(url, json=payload) as response:
print(await response.json())
asyncio.run(predict_multimodal())
curl -X POST https://moderator.pysols.ru/api/v2/predict/multimodal_text \
-H "Content-Type: application/json" \
-d '{
"api_token": "your_api_token",
"text": "текст для проверки",
"images": ["base64_encoded_image_data1", "base64_encoded_image_data2"],
"model": "bert"
}'
/api/v2/stats
- Получение статистики использования
Возвращает статистику использования API за определенный период
{
"api_token": "string",
"limit": 10 // опционально
}
{
"ok": true,
"code": 200,
"message": "Ok",
"stats": [
{
"date": "2024-03-20",
"money_spent": 0.15,
"queries": 100
}
],
"date_format": "YYYY-MM-DD"
}
import aiohttp
import asyncio
async def get_stats():
url = "https://moderator.pysols.ru/api/v2/stats"
payload = {
"api_token": "your_api_token",
"limit": 10 # опционально
}
async with aiohttp.ClientSession() as session:
async with session.get(url, json=payload) as response:
print(await response.json())
asyncio.run(get_stats())
curl -X GET https://moderator.pysols.ru/api/v2/stats \
-H "Content-Type: application/json" \
-d '{"api_token": "your_api_token", "limit": 10}'
/api/v2/key
- Получение информации о ключе API
Возвращает информацию о балансе API ключа
{
"api_token": "string"
}
{
"ok": true,
"code": 200,
"message": "Ok",
"balance": 100.0
}
import aiohttp
import asyncio
async def get_key_info():
url = "https://moderator.pysols.ru/api/v2/key"
payload = {
"api_token": "your_api_token"
}
async with aiohttp.ClientSession() as session:
async with session.get(url, json=payload) as response:
print(await response.json())
asyncio.run(get_key_info())
curl -X GET https://moderator.pysols.ru/api/v2/key \
-H "Content-Type: application/json" \
-d '{"api_token": "your_api_token"}'
/api/v2/prediction
- Получение результата предсказания по ID
Возвращает результат предыдущего предсказания по его unique_id
{
"api_token": "string",
"unique_id": "string"
}
{
"ok": true,
"code": 200,
"message": "Ok",
"text": "string",
"class": 0,
"confidence": 0.95,
"model": "string"
}
import aiohttp
import asyncio
async def get_prediction():
url = "https://moderator.pysols.ru/api/v2/prediction"
payload = {
"api_token": "your_api_token",
"unique_id": "prediction_id"
}
async with aiohttp.ClientSession() as session:
async with session.get(url, json=payload) as response:
print(await response.json())
asyncio.run(get_prediction())
curl -X GET https://moderator.pysols.ru/api/v2/prediction \
-H "Content-Type: application/json" \
-d '{"api_token": "your_api_token", "unique_id": "prediction_id"}'
/api/v2/ips
- Получение списка IP адресов
Возвращает список IP адресов, с которых были запросы с данным API ключом
{
"api_token": "string"
}
{
"ok": true,
"code": 200,
"message": "Ok",
"ips": ["127.0.0.1", "192.168.1.1"]
}
import aiohttp
import asyncio
async def get_ips():
url = "https://moderator.pysols.ru/api/v2/ips"
payload = {
"api_token": "your_api_token"
}
async with aiohttp.ClientSession() as session:
async with session.get(url, json=payload) as response:
print(await response.json())
asyncio.run(get_ips())
curl -X GET https://moderator.pysols.ru/api/v2/ips \
-H "Content-Type: application/json" \
-d '{"api_token": "your_api_token"}'
/api/v2/price
- Получение информации о ценах и моделях
Возвращает информацию о доступных моделях и их ценах
*Цены для текстовых моделей указаны за 128 токенов
{
"ok": true,
"code": 200,
"message": "Ok",
"text_classification": [
{
"name": "string",
"price": 0.0,
"class_names": {
"0": "clean",
"1": "spam"
}
}
],
"image_classification": [],
"profile_classification": []
}
import aiohttp
import asyncio
async def get_prices():
url = "https://moderator.pysols.ru/api/v2/price"
async with aiohttp.ClientSession() as session:
async with session.get(url) as response:
print(await response.json())
asyncio.run(get_prices())
curl https://moderator.pysols.ru/api/v2/price
Код | Описание |
---|---|
200 | Успешное выполнение запроса |
400 | Неверный JSON или неверная модель |
401 | Неверный API токен |
402 | Недостаточно средств на балансе |
403 | Доступ запрещен |
404 | Маршрут не найден или предсказание не найдено |
500 | Внутренняя ошибка сервера |