curl --request POST \
--url https://direct.evolink.ai/v1/moderations \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--data '
{
"model": "evolink-moderation-1.0",
"input": [
{
"type": "text",
"text": "I want to kill them."
}
]
}
'{
"evolink_summary": {
"risk_level": "medium",
"flagged": false,
"violations": [],
"max_score": 0.597383272,
"max_category": "sexual"
},
"id": "modr-0d9740456c391e43c445bf0f010940c7",
"model": "evolink-moderation-1.0",
"results": [
{
"flagged": false,
"categories": {
"harassment": false,
"harassment/threatening": false,
"hate": false,
"hate/threatening": false,
"illicit": false,
"illicit/violent": false,
"self-harm": false,
"self-harm/intent": false,
"self-harm/instructions": false,
"sexual": false,
"sexual/minors": false,
"violence": false,
"violence/graphic": false
},
"category_scores": {
"harassment": 0.0006,
"harassment/threatening": 0.0007,
"hate": 0.00003,
"hate/threatening": 0.0000025,
"illicit": 0.000013,
"illicit/violent": 0.0000096,
"self-harm": 0.0000166,
"self-harm/intent": 0.000004,
"self-harm/instructions": 0.0000031,
"sexual": 0.597383272,
"sexual/minors": 0.000004,
"violence": 0.0231,
"violence/graphic": 0.0089
},
"category_applied_input_types": {
"harassment": [
"text"
],
"harassment/threatening": [
"text"
],
"hate": [
"text"
],
"hate/threatening": [
"text"
],
"illicit": [
"text"
],
"illicit/violent": [
"text"
],
"self-harm": [
"text"
],
"self-harm/intent": [
"text"
],
"self-harm/instructions": [
"text"
],
"sexual": [
"text"
],
"sexual/minors": [
"text"
],
"violence": [
"text"
],
"violence/graphic": [
"text"
]
}
}
]
}{
"error": {
"code": 400,
"message": "field input is required",
"type": "invalid_request_error",
"param": "input"
}
}{
"error": {
"code": 401,
"message": "Invalid or expired token",
"type": "authentication_error"
}
}{
"error": {
"code": 402,
"message": "Insufficient quota",
"type": "insufficient_quota_error",
"fallback_suggestion": "https://evolink.ai/dashboard/billing"
}
}{
"error": {
"code": 403,
"message": "Access denied for this model",
"type": "permission_error",
"param": "model"
}
}{
"error": {
"code": 404,
"message": "Specified model not found",
"type": "not_found_error",
"param": "model",
"fallback_suggestion": "evolink-moderation-1.0"
}
}{
"error": {
"code": 413,
"message": "Image file too large",
"type": "request_too_large_error",
"param": "input",
"fallback_suggestion": "compress image to under 20MB"
}
}{
"error": {
"code": 429,
"message": "Rate limit exceeded",
"type": "rate_limit_error",
"fallback_suggestion": "retry after 60 seconds"
}
}{
"error": {
"code": 500,
"message": "Internal server error",
"type": "internal_server_error",
"fallback_suggestion": "try again later"
}
}{
"error": {
"code": 502,
"message": "Bad gateway",
"type": "bad_gateway_error",
"fallback_suggestion": "try again later"
}
}{
"error": {
"code": 503,
"message": "Service temporarily unavailable",
"type": "service_unavailable_error",
"fallback_suggestion": "retry after 30 seconds"
}
}EvoLink Moderation
EvoLink Moderation 1.0 - 完整参数文档
- 同步接口,对输入的文本和/或图像进行 13 个维度的有害内容检测
- 响应中通过
evolink_summary字段返回risk_level/flagged/violations/max_score/max_category五项统一摘要
核心能力:
- 多模态审核:支持纯文本、纯图像、文本+图像组合输入
- 13 个分类:harassment、hate、sexual、violence、self-harm、illicit、sexual/minors 等
- 风险分级:每个类别独立设定 medium / high 阈值,按敏感度差异化判定(红线类别 sexual/minors 阈值最严)
- 可解释:响应同时返回逐类别
category_scores与简化的evolink_summary,业务可二选一使用
输入限制:
- 单次请求最多 1 张图片(如需审核多张图,请并发拆请求)
- 图片仅支持 HTTPS URL 输入
典型用法:参考下方示例,覆盖纯文本、文本+图像、纯图像三种典型场景。
POST
/
v1
/
moderations
curl --request POST \
--url https://direct.evolink.ai/v1/moderations \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--data '
{
"model": "evolink-moderation-1.0",
"input": [
{
"type": "text",
"text": "I want to kill them."
}
]
}
'{
"evolink_summary": {
"risk_level": "medium",
"flagged": false,
"violations": [],
"max_score": 0.597383272,
"max_category": "sexual"
},
"id": "modr-0d9740456c391e43c445bf0f010940c7",
"model": "evolink-moderation-1.0",
"results": [
{
"flagged": false,
"categories": {
"harassment": false,
"harassment/threatening": false,
"hate": false,
"hate/threatening": false,
"illicit": false,
"illicit/violent": false,
"self-harm": false,
"self-harm/intent": false,
"self-harm/instructions": false,
"sexual": false,
"sexual/minors": false,
"violence": false,
"violence/graphic": false
},
"category_scores": {
"harassment": 0.0006,
"harassment/threatening": 0.0007,
"hate": 0.00003,
"hate/threatening": 0.0000025,
"illicit": 0.000013,
"illicit/violent": 0.0000096,
"self-harm": 0.0000166,
"self-harm/intent": 0.000004,
"self-harm/instructions": 0.0000031,
"sexual": 0.597383272,
"sexual/minors": 0.000004,
"violence": 0.0231,
"violence/graphic": 0.0089
},
"category_applied_input_types": {
"harassment": [
"text"
],
"harassment/threatening": [
"text"
],
"hate": [
"text"
],
"hate/threatening": [
"text"
],
"illicit": [
"text"
],
"illicit/violent": [
"text"
],
"self-harm": [
"text"
],
"self-harm/intent": [
"text"
],
"self-harm/instructions": [
"text"
],
"sexual": [
"text"
],
"sexual/minors": [
"text"
],
"violence": [
"text"
],
"violence/graphic": [
"text"
]
}
}
]
}{
"error": {
"code": 400,
"message": "field input is required",
"type": "invalid_request_error",
"param": "input"
}
}{
"error": {
"code": 401,
"message": "Invalid or expired token",
"type": "authentication_error"
}
}{
"error": {
"code": 402,
"message": "Insufficient quota",
"type": "insufficient_quota_error",
"fallback_suggestion": "https://evolink.ai/dashboard/billing"
}
}{
"error": {
"code": 403,
"message": "Access denied for this model",
"type": "permission_error",
"param": "model"
}
}{
"error": {
"code": 404,
"message": "Specified model not found",
"type": "not_found_error",
"param": "model",
"fallback_suggestion": "evolink-moderation-1.0"
}
}{
"error": {
"code": 413,
"message": "Image file too large",
"type": "request_too_large_error",
"param": "input",
"fallback_suggestion": "compress image to under 20MB"
}
}{
"error": {
"code": 429,
"message": "Rate limit exceeded",
"type": "rate_limit_error",
"fallback_suggestion": "retry after 60 seconds"
}
}{
"error": {
"code": 500,
"message": "Internal server error",
"type": "internal_server_error",
"fallback_suggestion": "try again later"
}
}{
"error": {
"code": 502,
"message": "Bad gateway",
"type": "bad_gateway_error",
"fallback_suggestion": "try again later"
}
}{
"error": {
"code": 503,
"message": "Service temporarily unavailable",
"type": "service_unavailable_error",
"fallback_suggestion": "retry after 30 seconds"
}
}BaseURL 说明:默认 BaseURL 为
https://direct.evolink.ai,对文本模型支持更好,支持长连接;https://api.evolink.ai 是多模态主力地址,对文本模型作为备用地址使用。授权
##所有接口均需要使用 Bearer Token 进行认证##
获取 API Key:
访问 API Key 管理页面 获取您的 API Key
使用时在请求头中添加:
Authorization: Bearer YOUR_API_KEY
请求体
application/json
审核模型名称,固定为 evolink-moderation-1.0
可用选项:
evolink-moderation-1.0 示例:
"evolink-moderation-1.0"
待审核的内容,统一为对象数组形式。每个元素是一个 text 或 image_url 对象。
"input": [
{"type": "text", "text": "待审核文本"},
{"type": "image_url", "image_url": {"url": "https://..."}}
]
限制:
- 数组中
type=image_url的对象最多 1 个,如需审核多张图请并发拆请求 type=text的对象数量不限
- 文本输入项
- 图像输入项
Show child attributes
Show child attributes
响应
审核成功
审核响应。最上层的 evolink_summary 是业务侧推荐使用的统一风险摘要;results 提供逐类别明细分数。
EvoLink 风险摘要:基于 13 个类别的 category_scores,按各类别敏感度差异化阈值算出的统一摘要。业务可直接据此放行/拒绝/送审。
风险分级阈值表
| 类别 | medium 阈值 | high 阈值 | 说明 |
|---|---|---|---|
sexual/minors | 0.05 | 0.20 | 红线类别,阈值最严 |
self-harm / self-harm/intent / self-harm/instructions | 0.30 | 0.60 | 涉及人命,严格 |
violence/graphic | 0.40 | 0.70 | 血腥暴力 |
illicit/violent | 0.40 | 0.70 | 暴力违法 |
sexual | 0.50 | 0.80 | 普通色情 |
violence | 0.50 | 0.80 | 普通暴力 |
harassment/threatening | 0.50 | 0.80 | 威胁性骚扰 |
hate/threatening | 0.50 | 0.80 | 威胁性仇恨 |
harassment | 0.60 | 0.85 | 普通骚扰 |
hate | 0.60 | 0.85 | 普通仇恨 |
illicit | 0.60 | 0.85 | 普通违法指引 |
判定规则
任意类别 score >= 该类别 high 阈值 → risk_level = "high", flagged = true, 加入 violations
任意类别 score >= 该类别 medium 阈值 → risk_level = "medium", flagged = false
否则 → risk_level = "low", flagged = false
业务侧使用建议
summary = response["evolink_summary"] if summary["flagged"]: # high → 直接拒绝 reject(reason=summary["violations"]) elif summary["risk_level"] == "medium": # 灰色地带 log_for_review(summary) # 记录日志,人工抽查 proceed() else: # low → 放行 proceed()
Show child attributes
Show child attributes
本次审核请求的唯一标识符
示例:
"modr-0d9740456c391e43c445bf0f010940c7"
实际使用的模型名称,固定为 evolink-moderation-1.0
示例:
"evolink-moderation-1.0"
审核结果列表。固定返回 1 个 result(数组形式输入会合并为单次打分)。
多模态评估范围
13 个类别中,部分类别仅在文本上评估,不会评估图像:
| 类别 | 评估范围 |
|---|---|
harassment / harassment/threatening | 仅文本 |
hate / hate/threatening | 仅文本 |
illicit / illicit/violent | 仅文本 |
sexual/minors | 仅文本(红线类别需注意) |
self-harm / self-harm/intent / self-harm/instructions | 文本 + 图像 |
sexual | 文本 + 图像 |
violence / violence/graphic | 文本 + 图像 |
关键事实:
- 仅传图片时,上述 7 个仅文本类别的分数恒为
0、category_applied_input_types为空数组——这不代表内容安全,只代表未评估 - 业务若涉及未成年人风险(
sexual/minors红线类别),必须配合文本上下文一起送审,不能只依赖图像分数
Show child attributes
Show child attributes