Opttab MCP/AI 模型API
人工智能模型的模型上下文协议API
用户数据的伦理获取 • 活动管理 • 内容变现
](https://opttab.com)  
______________________________________________________________________
🌟 什么是MCP?
模型上下文协议(MCP) 是一个开放标准,使人工智能模型能够基于(某种原则或框架)以符合伦理的方式访问和与用户数据进行交互 明确同意 并且 选择加入的偏好设置。
Opttab的MCP API允许AI模型:
- ✅ 访问已(授权/注册/等,根据上下文补充)用户的数据显示 选择了加入/参与
- ✅ 在AI回复中管理广告活动
- ✅ 向用户请求特定内容
- ✅ 授权并实现用户生成内容的货币化
- ✅ 跟踪使用情况并提供公平补偿
______________________________________________________________________
🚀 快速入门
# Get server information
curl -H "X-API-Key: opttab_ai_your_key" \
-H "X-API-Secret: your_secret" \
https://opttab.com/api/v1/ai/server-info
# Check user opt-in status
curl -X POST "https://opttab.com/api/v1/ai/tools/check-opt-status" \
-H "X-API-Key: opttab_ai_your_key" \
-H "X-API-Secret: your_secret" \
-H "Content-Type: application/json" \
-d '{"user_id": 123, "ai_model": "OpenAI"}'______________________________________________________________________
📋 目录
______________________________________________________________________
🔐 认证
API凭据
人工智能模型API需要 两者都 API密钥和密钥:
curl -H "X-API-Key: opttab_ai_your_api_key" \
-H "X-API-Secret: your_secret_hash" \
https://opttab.com/api/v1/ai/server-info获取您的凭证
- 在……注册 AI模型门户
- 完整的AI模型验证
- 从仪表板生成API凭据
- ⚠️ 重要提示: 立即保存您的秘密——它只会显示一次!
安全
- 对传输中的秘密使用SHA-256哈希算法
- 安全地存储凭据(绝不在代码中存储)
- 每90天更换一次密钥
- 使用环境变量
______________________________________________________________________
🛠️ MCP 工具
基本URL
https://opttab.com/api/v1/ai1️⃣ 服务器信息
获取可用的MCP工具和服务器功能。
GET /server-info回复:
{
"name": "Opttab AI Access Server",
"version": "1.0.0",
"description": "Provides AI models with ethical access to user data",
"tools": [
{
"name": "check_opt_status",
"description": "Check user's opt-in/opt-out status",
"input_schema": { ... }
},
{
"name": "get_opted_in_content",
"description": "Retrieve content from opted-in users",
"input_schema": { ... }
}
]
}2️⃣ 检查优化状态
检查用户是否已选择加入您的AI模型。
POST /tools/check-opt-status请求:
{
"user_id": 123,
"ai_model": "OpenAI"
}回答:
{
"user_id": 123,
"ai_model": "OpenAI",
"global_opt_in": true,
"assets_summary": {
"total_assets": 10,
"opted_in_assets": 8,
"opted_out_assets": 2
},
"opt_status": "partially_opted_in",
"can_use_data": true
}优化状态值:
no_assets- 用户没有任何资产fully_opted_in- 所有资产均已选择加入fully_opted_out- 所有资产均已选择退出partially_opted_in- 部分资产选择加入
3️⃣ 获取用户授权的内容
从已同意使用您AI模型的用户那里获取内容。
POST /tools/get-opted-in-content请求:
{
"ai_model": "OpenAI",
"content_type": "assets",
"limit": 100
}回答:
{
"ai_model": "OpenAI",
"content_type": "assets",
"data": {
"assets": [
{
"id": 45,
"name": "Creative Portfolio",
"category": "creative_work",
"description": "Design portfolio website",
"links": ["https://portfolio.example.com"],
"fields": {},
"user": {
"id": 123,
"name": "John Doe"
},
"created_at": "2025-10-15T10:00:00Z"
}
]
}
}4️⃣ 获取活动内容
获取针对您的AI模型的活跃广告活动,以促进赞助回复。
POST /tools/get-campaign-content请求:
{
"keywords": ["tech", "innovation"],
"target_audience": "developers",
"limit": 20
}回应:
{
"campaigns": [
{
"id": 78,
"title": "Product Launch Campaign",
"description": "Promote our new SaaS product",
"is_sponsored": true
}
]
}______________________________________________________________________
🎯 活动管理
获取待处理活动
检索待您批准的活动。
GET /campaigns/pending?ai_model=OpenAI回答:
{
"ai_model": "OpenAI",
"pending_campaigns": [
{
"id": 78,
"name": "Q4 Product Launch",
"objective": "awareness",
"keywords": ["tech", "innovation", "SaaS"],
"locations": ["US", "UK", "CA"],
"devices": ["desktop", "mobile"],
"budget_daily": 500.00,
"total_budget": 15000.00,
"asset": {
"id": 99,
"name": "Product Landing Page",
"category": "product_listing"
},
"user": {
"id": 456,
"name": "Company Inc"
},
"approval_status": "pending",
"created_at": "2025-10-20T09:00:00Z"
}
]
}批准/拒绝活动
批准或拒绝针对您AI模型的活动。
POST /campaigns/approve请求:
{
"campaign_id": 78,
"ai_model": "OpenAI",
"status": "approved",
"message": "Campaign approved. Meets our content guidelines."
}回答:
{
"success": true,
"campaign_id": 78,
"ai_model": "OpenAI",
"status": "approved",
"campaign_status": "active"
}更新活动指标
报告活动绩效指标(展示次数、点击次数、转化次数)。
POST /campaigns/metrics请求:
{
"campaign_id": 78,
"ai_model": "OpenAI",
"impressions": 1000,
"clicks": 50,
"conversions": 5,
"spent": 250.00
}回答:
{
"success": true,
"campaign_id": 78,
"ai_model": "OpenAI",
"aggregated_metrics": {
"impressions": 1000,
"clicks": 50,
"conversions": 5,
"spent": 250.00,
"ctr": 5.00,
"conversion_rate": 10.00
},
"campaign_status": "active",
"budget_remaining": 14750.00
}______________________________________________________________________
内容变现API
创建内容请求
向用户请求特定内容(视频、图片、文本、音频)。
POST /content-requests请求:
{
"title": "High-Quality Sunset Beach Videos",
"description": "Looking for 4K sunset videos filmed at beach locations",
"content_types": ["video"],
"categories": ["original_images"],
"target_country": "US",
"target_city": "Los Angeles",
"target_gender": "any",
"target_age_min": 18,
"target_age_max": 65,
"payment_per_submission": 75.00,
"total_budget": 5000.00,
"max_submissions": 50,
"format_specifications": {
"resolution": "4K",
"duration": "30-60 seconds",
"format": "MP4"
},
"expires_at": "2025-12-31T23:59:59Z"
}回答:
{
"success": true,
"message": "Content request created successfully",
"data": {
"id": 15,
"title": "High-Quality Sunset Beach Videos",
"status": "active",
"remaining_budget": 5000.00,
"submissions_count": 0,
"created_at": "2025-10-20T10:00:00Z"
}
}列出内容请求
满足您的所有内容需求。
GET /content-requests获取投稿
查看针对内容请求的提交内容。
GET /content-requests/{id}/submissions回答:
{
"success": true,
"data": [
{
"id": 42,
"request_id": 15,
"user_id": 789,
"status": "pending",
"content_url": "https://storage.opttab.com/submissions/video123.mp4",
"description": "Beautiful sunset at Venice Beach",
"submitted_at": "2025-10-21T14:30:00Z"
}
]
}提交评论
接受或拒绝内容提交。
POST /content-requests/{requestId}/submissions/{submissionId}/review请求:
{
"action": "accept",
"review_notes": "Perfect quality! Exactly what we needed."
}回答:
{
"success": true,
"message": "Submission accepted and payment processed",
"data": {
"submission_id": 42,
"status": "accepted",
"payment_processed": true,
"creator_earnings": 60.00,
"platform_fee": 15.00,
"total_payment": 75.00,
"remaining_budget": 4925.00
}
}收入分成
80/20法则
- 80% → 内容创作者
- 20% → 平台(基础设施、支付处理、支持)
示例:75美元付款
- 创作者收到: 60.00美元
- 平台费: 15.00美元
获取可货币化的资产
浏览可供授权的资产。
GET /assets/monetized回答:
{
"success": true,
"data": [
{
"id": 101,
"name": "Premium Image Dataset",
"category": "original_images",
"description": "10,000 high-quality product images",
"monetization_model": "per_training",
"price_per_training": 0.001,
"user": {
"id": 55,
"name": "Professional Photographer"
}
}
]
}许可资产
授权资产用于训练或生成。
POST /assets/{id}/license跟踪使用情况
报告授权资产的使用情况。
POST /assets/{id}/usage请求:
{
"usage_type": "training",
"count": 1000
}______________________________________________________________________
📊 使用配额
| 类型 | 价格/月 | 要求/分钟 | 要求/小时 | 要求/天 | 活动请求 | 月度预算 | ||
|---|---|---|---|---|---|---|---|---|
| 标题1 | 标题2 | 标题3 | 标题4 | 标题5 | 标题6 | 标题7 | ** | ** 启动器;入门者 |
| 免费 | 60 | 1,000 | 10,000 | 5 | 5,000美元 | ** | ** 专业的 | |
| 99美元 | 120(单位未指明,可能是件、个等) | 5,000(单位未指明,可能是元、件等) | 50,000(单位未指明,可能是元、件等) | 20(可能是数量、天数等) | 25,000(单位未指明,可能是美元、元等) | ** | ** 企业 |
| 499美元 | 300(单位未指明,可能是货币或其他计量单位)| 15,000(同样,单位未指明)| 150,000(单位未指明)| 100(单位未指明)| 100,000美元 |
GET /budget-status检查您的配额
{
"success": true,
"data": {
"plan_name": "Professional",
"active_requests": 8,
"max_active_requests": 20,
"current_budget_spent": 12500.00,
"total_monthly_budget": 25000.00,
"remaining_budget": 12500.00,
"requests_per_minute": 120,
"requests_per_hour": 5000,
"requests_per_day": 50000
}
}______________________________________________________________________
回复:
🎯 道德准则
- ✅ 做 尊重用户同意
- - 仅访问那些已明确选择加入的用户的数据 要透明
- - 明确说明你将如何使用这些数据 支付合理报酬
- - 为创作者的内容提供适当的补偿 准确报告
- - 真实追踪并报告使用情况 遵循指南
- - 遵守内容和使用政策 安全数据
- 实施适当的安全措施
- ❌ 不要
- 在未获得用户明确同意的情况下访问数据
- 将数据用于声明目的之外的用途
- 抓取或缓存已选择退出的内容
- 与未经授权的方共享用户数据
- 篡改指标或报告
规避速率限制或配额
- 最佳实践 每次使用前检查选项状态
- - 用户偏好可能会改变 负责任地使用缓存
- - 立即尊重退出请求 归属(或“署名”)
- - 在使用他们的内容时给予创作者应有的认可 反馈循环
- - 为用户提供其数据使用情况的透明度 隐私优先
______________________________________________________________________
- 永远不要泄露个人信息
🔗 集成示例
import requests
API_KEY = "opttab_ai_your_key"
API_SECRET = "your_secret"
BASE_URL = "https://opttab.com/api/v1/ai"
headers = {
"X-API-Key": API_KEY,
"X-API-Secret": API_SECRET,
"Content-Type": "application/json"
}
# Check opt status
def check_opt_status(user_id, ai_model):
data = {
"user_id": user_id,
"ai_model": ai_model
}
response = requests.post(
f"{BASE_URL}/tools/check-opt-status",
headers=headers,
json=data
)
return response.json()
# Get opted-in content
def get_opted_in_content(ai_model, content_type="assets", limit=100):
data = {
"ai_model": ai_model,
"content_type": content_type,
"limit": limit
}
response = requests.post(
f"{BASE_URL}/tools/get-opted-in-content",
headers=headers,
json=data
)
return response.json()
# Usage
opt_status = check_opt_status(123, "OpenAI")
print(f"User opt status: {opt_status['opt_status']}")
if opt_status['can_use_data']:
content = get_opted_in_content("OpenAI")
print(f"Retrieved {len(content['data']['assets'])} assets")python
const axios = require('axios');
const API_KEY = 'opttab_ai_your_key';
const API_SECRET = 'your_secret';
const BASE_URL = 'https://opttab.com/api/v1/ai';
const headers = {
'X-API-Key': API_KEY,
'X-API-Secret': API_SECRET,
'Content-Type': 'application/json'
};
// Check opt status
async function checkOptStatus(userId, aiModel) {
try {
const response = await axios.post(
`${BASE_URL}/tools/check-opt-status`,
{ user_id: userId, ai_model: aiModel },
{ headers }
);
return response.data;
} catch (error) {
console.error('Error:', error.response.data);
throw error;
}
}
// Get opted-in content
async function getOptedInContent(aiModel, contentType = 'assets', limit = 100) {
try {
const response = await axios.post(
`${BASE_URL}/tools/get-opted-in-content`,
{ ai_model: aiModel, content_type: contentType, limit },
{ headers }
);
return response.data;
} catch (error) {
console.error('Error:', error.response.data);
throw error;
}
}
// Usage
(async () => {
const optStatus = await checkOptStatus(123, 'OpenAI');
console.log(`User opt status: ${optStatus.opt_status}`);
if (optStatus.can_use_data) {
const content = await getOptedInContent('OpenAI');
console.log(`Retrieved ${content.data.assets.length} assets`);
}
})();______________________________________________________________________
JavaScript(Node.js)
🚨 错误处理
{
"error": "invalid_parameters",
"message": "Invalid parameters provided",
"details": {
"user_id": ["The user_id field is required."]
}
}错误响应格式
常见错误代码 | 代码 | 消息 | 解决方案 | |------|---------|----------| 401 | 无效的API凭据 | 请检查您的API密钥和密钥 403 | | 活动未针对您的模型 | 此活动未针对您的AI模型 | 403 | | 配额已超限 | 升级您的计划或等待重置 | 404 | | 资源未找到 | 请检查ID后重试 | 422 | | 验证失败 | 请检查请求参数 | 429 |
______________________________________________________________________
| 请求速率超过限制 | 请减缓请求频率 |
______________________________________________________________________
API状态
💬 支持
- 需要帮助集成MCP API吗? 📧 电子邮件:
- ai-support@opttab.com(可翻译为:ai-support@opttab.com,此邮箱地址在中文语境下通常直接使用,无需翻译,但若要表达其用途或含义,可说“这是opttab公司的AI支持邮箱地址”。) 💬 Discord(一个即时通讯和视频聊天平台):
- AI开发者频道 📖 文档:
- opttab.com/docs/ai-api 翻译为中文是:“opttab.com 的文档/人工智能接口” 🐛 问题:
______________________________________________________________________
GitHub 问题(或“GitHub 问题跟踪”)
📄 许可证 此API文档根据MIT许可协议提供。详见 许可证
______________________________________________________________________
详情见下文。
基于伦理AI原则构建 网站 • 人工智能模型门户 • 博客 •
