curl --request POST \
--url https://api.apimart.ai/v1/moderations \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--data '{
"model": "omni-moderation-latest",
"input": [
{
"type": "text",
"text": "Пожалуйста, проверьте, нарушает ли это изображение правила"
},
{
"type": "image_url",
"image_url": {
"url": "https://cdn.apimart.ai/files/1779955589195-wh950j4imqd.jpeg"
}
}
],
"stream": false
}'
import requests
url = "https://api.apimart.ai/v1/moderations"
payload = {
"model": "omni-moderation-latest",
"input": [
{
"type": "text",
"text": "Пожалуйста, проверьте, нарушает ли это изображение правила"
},
{
"type": "image_url",
"image_url": {
"url": "https://cdn.apimart.ai/files/1779955589195-wh950j4imqd.jpeg"
}
}
],
"stream": False
}
headers = {
"Authorization": "Bearer <token>",
"Content-Type": "application/json"
}
response = requests.post(url, json=payload, headers=headers)
print(response.json())
const url = "https://api.apimart.ai/v1/moderations";
const payload = {
model: "omni-moderation-latest",
input: [
{
type: "text",
text: "Пожалуйста, проверьте, нарушает ли это изображение правила",
},
{
type: "image_url",
image_url: {
url: "https://cdn.apimart.ai/files/1779955589195-wh950j4imqd.jpeg",
},
},
],
stream: false,
};
const headers = {
Authorization: "Bearer <token>",
"Content-Type": "application/json",
};
fetch(url, {
method: "POST",
headers: headers,
body: JSON.stringify(payload),
})
.then((response) => response.json())
.then((data) => console.log(data))
.catch((error) => console.error("Error:", error));
omni-moderation-latest
omni-moderation-latest Модерация контента
- Поддерживает модерацию текста, изображений и смешанного содержимого «текст+изображение»
- Совместим с одиночным текстом, массивом текстов и массивом блоков содержимого
- Изображения поддерживают публичные URL и base64 Data URI
POST
/
v1
/
moderations
curl --request POST \
--url https://api.apimart.ai/v1/moderations \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--data '{
"model": "omni-moderation-latest",
"input": [
{
"type": "text",
"text": "Пожалуйста, проверьте, нарушает ли это изображение правила"
},
{
"type": "image_url",
"image_url": {
"url": "https://cdn.apimart.ai/files/1779955589195-wh950j4imqd.jpeg"
}
}
],
"stream": false
}'
import requests
url = "https://api.apimart.ai/v1/moderations"
payload = {
"model": "omni-moderation-latest",
"input": [
{
"type": "text",
"text": "Пожалуйста, проверьте, нарушает ли это изображение правила"
},
{
"type": "image_url",
"image_url": {
"url": "https://cdn.apimart.ai/files/1779955589195-wh950j4imqd.jpeg"
}
}
],
"stream": False
}
headers = {
"Authorization": "Bearer <token>",
"Content-Type": "application/json"
}
response = requests.post(url, json=payload, headers=headers)
print(response.json())
const url = "https://api.apimart.ai/v1/moderations";
const payload = {
model: "omni-moderation-latest",
input: [
{
type: "text",
text: "Пожалуйста, проверьте, нарушает ли это изображение правила",
},
{
type: "image_url",
image_url: {
url: "https://cdn.apimart.ai/files/1779955589195-wh950j4imqd.jpeg",
},
},
],
stream: false,
};
const headers = {
Authorization: "Bearer <token>",
"Content-Type": "application/json",
};
fetch(url, {
method: "POST",
headers: headers,
body: JSON.stringify(payload),
})
.then((response) => response.json())
.then((data) => console.log(data))
.catch((error) => console.error("Error:", error));
Используйте
omni-moderation-latest для модерации безопасности входного содержимого. Эта модель относится к серии модерации и не входит в серии генерации изображений, видео или аудио.
curl --request POST \
--url https://api.apimart.ai/v1/moderations \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--data '{
"model": "omni-moderation-latest",
"input": [
{
"type": "text",
"text": "Пожалуйста, проверьте, нарушает ли это изображение правила"
},
{
"type": "image_url",
"image_url": {
"url": "https://cdn.apimart.ai/files/1779955589195-wh950j4imqd.jpeg"
}
}
],
"stream": false
}'
import requests
url = "https://api.apimart.ai/v1/moderations"
payload = {
"model": "omni-moderation-latest",
"input": [
{
"type": "text",
"text": "Пожалуйста, проверьте, нарушает ли это изображение правила"
},
{
"type": "image_url",
"image_url": {
"url": "https://cdn.apimart.ai/files/1779955589195-wh950j4imqd.jpeg"
}
}
],
"stream": False
}
headers = {
"Authorization": "Bearer <token>",
"Content-Type": "application/json"
}
response = requests.post(url, json=payload, headers=headers)
print(response.json())
const url = "https://api.apimart.ai/v1/moderations";
const payload = {
model: "omni-moderation-latest",
input: [
{
type: "text",
text: "Пожалуйста, проверьте, нарушает ли это изображение правила",
},
{
type: "image_url",
image_url: {
url: "https://cdn.apimart.ai/files/1779955589195-wh950j4imqd.jpeg",
},
},
],
stream: false,
};
const headers = {
Authorization: "Bearer <token>",
"Content-Type": "application/json",
};
fetch(url, {
method: "POST",
headers: headers,
body: JSON.stringify(payload),
})
.then((response) => response.json())
.then((data) => console.log(data))
.catch((error) => console.error("Error:", error));
Поддерживаемые модели
| Модель | Описание | Поддерживаемые входы |
|---|---|---|
omni-moderation-latest | Универсальная модель модерации контента | Текст, изображение, смешанное «текст+изображение» |
Authorizations
string
обязательно
Все эндпоинты требуют аутентификации с помощью Bearer Token.Получение API Key:Перейдите на страницу управления API Key, чтобы получить ваш API Key.Добавьте следующий заголовок в запрос:
Authorization: Bearer YOUR_API_KEY
Body
string
обязательно
Название модели модерации.
omni-moderation-latest- Универсальная модель модерации контента
string | string[] | object[]
обязательно
Содержимое для модерации. Поддерживает простой текст, массив текстов или массив блоков содержимого.Блоки содержимого могут включать:
text- Блок текстового содержимогоimage_url- Блок содержимого с URL изображения
boolean
по умолчанию:"false"
Возвращать ли ответ в режиме потока.
false: Без потокового режима (по умолчанию; единственное поддерживаемое значение,trueне поддерживается)
Способы запроса input
Смешанное «текст + изображение»
{
"model": "omni-moderation-latest",
"input": [
{
"type": "text",
"text": "Пожалуйста, проверьте, нарушает ли это изображение правила"
},
{
"type": "image_url",
"image_url": {
"url": "https://cdn.apimart.ai/files/1779955589195-wh950j4imqd.jpeg"
}
}
],
"stream": false
}
Простой текст (одиночный)
{
"model": "omni-moderation-latest",
"input": "I want to kill someone",
"stream": false
}
Простой текст (массив)
{
"model": "omni-moderation-latest",
"input": [
"hello",
"I hate you"
],
"stream": false
}
Только изображение (URL изображения)
{
"model": "omni-moderation-latest",
"input": [
{
"type": "image_url",
"image_url": {
"url": "https://cdn.apimart.ai/files/1779955589195-wh950j4imqd.jpeg"
}
}
],
"stream": false
}
Только изображение (base64 Data URI)
{
"model": "omni-moderation-latest",
"input": [
{
"type": "image_url",
"image_url": {
"url": "data:image/jpeg;base64,iVBORw0KGgoAAAANSUhEUgAA..."
}
}
],
"stream": false
}
Примечания
- Когда
inputявляется массивом блоков содержимого, каждый элемент используетtypeдля определения типа содержимого. - Для модерации изображений рекомендуется использовать публично доступные URL. Если вы используете base64, следуйте стандартному формату Data URI:
data:image/{format};base64,{data}. - Если нет особых требований, всегда указывайте
stream: false.