如何通过DeviantArt API检测作品是否带有‘使用AI工具创作’声明
检测DeviantArt作品AI创作声明的API解决方案
我之前也碰到过类似的问题,你用的deviation/metadata接口确实不会直接返回AI创作声明的字段,不过可以试试下面这几个可行的方案:
1. 尝试deviation/stats端点
这个接口返回的作品统计信息里,可能包含AI创作的标记字段。你只需要把请求URL替换成:
url = 'https://www.deviantart.com/api/v1/oauth2/deviation/stats'
请求参数保持access_token和deviationids即可。返回的数据中大概率会有类似ai_generated的布尔值字段,直接标识作品是否为AI工具创作。
2. 给deviation/metadata添加ext_ai参数
你当前的请求里已经加了ext_submission,可以再补充ext_ai参数来触发AI相关元数据的返回:
params = { 'access_token': access_token, 'deviationids': {'EBA58C48-2D63-D8D4-8FE1-214FDCD39A65'}, 'ext_submission': 'yes', 'ext_ai': 'yes', # 新增该参数 }
部分情况下,这个参数会让接口返回明确的AI创作声明字段,比如是否使用AI工具的标记。
3. 辅助判断:检查作品标签
从你提供的响应里能看到,目标作品已经带有ai标签——这是很多创作者标记AI作品的常用方式。如果API暂时没有返回官方声明字段,这个标签可以作为一个辅助判断依据。
补充提示
如果上面的方法都没拿到想要的字段,还可以试试deviation/content端点,它主要返回作品的媒体链接,但偶尔也会附带一些隐藏的元数据,不过这个接口可能需要更高的权限。另外,DeviantArt的API文档更新有时滞后,要是官方文档里找不到明确说明,也可以参考作品网页的公开元数据,但这显然不如API方式稳定可靠。
内容的提问来源于stack exchange,提问作者Stevoisiak




