渠道管理/作品
验证作品归属
接口说明:验证作品是否属于指定账号。调用前先通过账号列表接口获取候选账号,再通过该账号在对应平台的作品列表获取作品 ID。platform、platformWorkId 和 candidateAccountId 必须来自同一平台和同一已授权账号。
POST
/
api
/
v2
/
channels
/
works
/
{platform}
/
{platformWorkId}
/
ownership
/
verify
验证作品归属
curl --request POST \
--url https://aitoearn.cn/api/v2/channels/works/{platform}/{platformWorkId}/ownership/verify \
--header 'Content-Type: application/json' \
--header 'X-Api-Key: <api-key>' \
--data '
{
"candidateAccountId": "account-id-from-accounts-list"
}
'import requests
url = "https://aitoearn.cn/api/v2/channels/works/{platform}/{platformWorkId}/ownership/verify"
payload = { "candidateAccountId": "account-id-from-accounts-list" }
headers = {
"X-Api-Key": "<api-key>",
"Content-Type": "application/json"
}
response = requests.post(url, json=payload, headers=headers)
print(response.text)const options = {
method: 'POST',
headers: {'X-Api-Key': '<api-key>', 'Content-Type': 'application/json'},
body: JSON.stringify({candidateAccountId: 'account-id-from-accounts-list'})
};
fetch('https://aitoearn.cn/api/v2/channels/works/{platform}/{platformWorkId}/ownership/verify', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));package main
import (
"fmt"
"strings"
"net/http"
"io"
)
func main() {
url := "https://aitoearn.cn/api/v2/channels/works/{platform}/{platformWorkId}/ownership/verify"
payload := strings.NewReader("{\n \"candidateAccountId\": \"account-id-from-accounts-list\"\n}")
req, _ := http.NewRequest("POST", url, payload)
req.Header.Add("X-Api-Key", "<api-key>")
req.Header.Add("Content-Type", "application/json")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}{
"code": 0,
"message": "请求成功",
"data": {
"platform": "string",
"owned": "boolean"
},
"requestId": "string"
}授权
需要从 AiToEarn 获取 API Key。点击前往「API Key 获取教程」。
路径参数
平台标识。需与候选账号及作品保持一致,例如快手使用 KWAI。
示例:
"KWAI"
请求体
application/json
最后修改于 2026年9月29日
⌘I
验证作品归属
curl --request POST \
--url https://aitoearn.cn/api/v2/channels/works/{platform}/{platformWorkId}/ownership/verify \
--header 'Content-Type: application/json' \
--header 'X-Api-Key: <api-key>' \
--data '
{
"candidateAccountId": "account-id-from-accounts-list"
}
'import requests
url = "https://aitoearn.cn/api/v2/channels/works/{platform}/{platformWorkId}/ownership/verify"
payload = { "candidateAccountId": "account-id-from-accounts-list" }
headers = {
"X-Api-Key": "<api-key>",
"Content-Type": "application/json"
}
response = requests.post(url, json=payload, headers=headers)
print(response.text)const options = {
method: 'POST',
headers: {'X-Api-Key': '<api-key>', 'Content-Type': 'application/json'},
body: JSON.stringify({candidateAccountId: 'account-id-from-accounts-list'})
};
fetch('https://aitoearn.cn/api/v2/channels/works/{platform}/{platformWorkId}/ownership/verify', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));package main
import (
"fmt"
"strings"
"net/http"
"io"
)
func main() {
url := "https://aitoearn.cn/api/v2/channels/works/{platform}/{platformWorkId}/ownership/verify"
payload := strings.NewReader("{\n \"candidateAccountId\": \"account-id-from-accounts-list\"\n}")
req, _ := http.NewRequest("POST", url, payload)
req.Header.Add("X-Api-Key", "<api-key>")
req.Header.Add("Content-Type", "application/json")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}{
"code": 0,
"message": "请求成功",
"data": {
"platform": "string",
"owned": "boolean"
},
"requestId": "string"
}
