
创作文件夹里常有一张好看的图,却说不清从哪里来:是自己画的、模型生成的,还是下载后改过的?越到排版最后一步,越不适合靠记忆补这个答案。我想借用图书馆的借阅卡形式,为素材附上一张小凭证。
记录来源,不冒充权利证明
凭证至少包括来源链接、获取方式、生成说明、人工修改和许可状态。“来自公开网页”不等于可商用,“AI 生成”也不自动解决参考素材权利。未知时就写未知,阻止它进入“许可已确认”的集合,而不是为了让表格全绿补一个不存在的许可。
Nano Banana 2.1 模型卡为生成与编辑用途提供模型层面的说明。可一张具体素材的来源、参考图和后续修改,仍需要作品自己的记录。模型卡不能替代素材许可,也不能证明某个输出没有复用问题。本例不生成图片,不调用图像服务。
凭证与素材一起迁移
下面把字段规范化后导出 JSON,并用 SHA-256 对输入字节做摘要。哈希用于检查“这张卡指向的字节是否变了”,不证明作者身份、原创性或许可。若编辑后重新压缩了图片,字节摘要会变化,需要为新版本产生新记录,而不是偷偷沿用旧卡。
为保证示例自包含,测试素材是一段明确标注的演示文本,不是伪装成真实图片的证据。实际应用应读取用户选择的文件字节;避免把访问凭证、私有下载 URL 的临时 token 写进公开卡片。许可字段使用 unknown/confirmed/restricted,其中 confirmed 必须附对应说明链接。
运行 node receipt.js 会生成 receipt.json,验证相同字节摘要一致、修改后不同、未填写许可凭据时不能标 confirmed。它没有核验网页许可是否有效,没有做版权法律判断,也没有查远程图片。一本小小素材账簿最有用的地方,是让“我不知道”也有正式的位置。
可独立运行的核心例子
const fs=require('node:fs'),crypto=require('node:crypto');
const hash=bytes=>crypto.createHash('sha256').update(bytes).digest('hex');
function receipt(meta,bytes) {
if(!meta.name?.trim()||!['unknown','confirmed','restricted'].includes(meta.license))throw Error('字段无效');
const source=new URL(meta.source);
if(!['https:','http:'].includes(source.protocol))throw Error('来源需网页URL');
if(meta.license==='confirmed'&&!meta.licenseEvidence)throw Error('缺少许可凭据');
if(meta.licenseEvidence&&!/^https:\/\//.test(meta.licenseEvidence))throw Error('许可凭据需https链接');
return {version:1,name:meta.name,source:source.href,
generation:meta.generation||'未提供',edits:meta.edits||'未记录',
license:meta.license,licenseEvidence:meta.licenseEvidence||null,
sha256:hash(bytes),bytes:bytes.length};
}
const bytes=Buffer.from('教学素材:这里不是实际图像');
const meta={name:'演示凭证',source:'https://example.com/demo',license:'unknown',generation:'未调用模型'};
if(hash(bytes)!==hash(Buffer.from(bytes))||hash(bytes)===hash(Buffer.from('changed')))throw Error('哈希失败');
let rejected=false;try{receipt({...meta,license:'confirmed'},bytes);}catch{rejected=true;}
if(!rejected)throw Error('缺少凭据应拒绝');
fs.writeFileSync('receipt.json',JSON.stringify(receipt(meta,bytes),null,2));
console.log('已生成演示 receipt.json,许可仍为unknown');

本文介绍一种轻量级AI素材溯源机制,通过JSON格式记录素材来源、获取方式、修改说明及许可状态,并使用SHA-256对原始字节生成哈希值以确保凭证与素材绑定。强调凭证不替代法律许可,仅作可验证的溯源依据,支持Node.js环境独立运行,适用于创作流程中的版权合规管理。

524

被折叠的 条评论
为什么被折叠?



