This Duck's "Content Parsing" skill: throw me apublic work/article share link, and I call doubaoya.com 's parse-content-detail interface to parse it into structured details—title, author, likes/comments/shares—then break down with you why it "went viral."
This is acontent parser, not a downloader: it normalizes work detail fields, does not return mp4, and does not remove watermarks.
What it can do
- Parse work details / article details: paste a public link and get the normalized title, author, and engagement data.
- Break down viral hits: based on the parsed fields, analyze the topic angle, opening hook, and posting timing with you, and answer "why this one went viral."
- Zero dependencies: the script uses only the Python 3 standard library and works out of the box.
Each parseone linkis enough.
Step 1: Get the key (secret key)
This skill requires the environment variable DOUBAOYA_API_KEY, and the key looks like dyh_...。
- Open doubaoya.com andlog in。
- Go to Key Center。
- Click Generate Key, and copy the key that looks like
dyh_xxxxxxxx. - Configure it in the environment variable:
export DOUBAOYA_API_KEY=dyh_你的密钥
Security note: never hard-code the key into code, prompts, logs, or output files; do not echo the full key when showing it to users either. This skill's script reads from the environment variable and never prints the key.
Step 2: Parse the link
Just pass the public share link given by the user to the script:
python3 "$SKILL_PATH/scripts/parse_content.py" "https://example.com/content/123"
The script will send a request to POST https://doubaoya.com/api/apis/tool/parse-content-detail/call ,
and the request body has only one parameter:
{ "url": "https://example.com/content/123" }
On success, the script prints the data from the envelope as formatted JSON to standard output.
Return envelope
The interface uniformly returns the following envelope:
{
"success": true,
"requestId": "req_xxx",
"data": {
"item": {
"title": "标题文本",
"authorName": "作者名",
"likeCount": 12345,
"shareCount": 678,
"commentCount": 901
}
},
"error": null
}
Be sure to first check success:
success === true→ readdata.item, and present the title/author/engagement data.success !== true→ readerror.codeanderror.messageto explain to the user.
data.item fields should be read defensively as needed—some platforms or some works may lack fields (such as shareCount); when missing, truthfully state "this field was not returned" and do not make up numbers.
Format to present to the user (suggested)
| Field | Source |
|---|---|
| Title | data.item.title |
| Author | data.item.authorName |
| Likes | data.item.likeCount |
| Comments | data.item.commentCount |
| Shares | data.item.shareCount |
Step 3 (optional): Break down "why it went viral"
After getting the normalized fields, this Duck can help the user break down a viral hit. Start from the parsed facts and do not speculate out of thin air:
- Topic angle: What audience / what pain point / what emotion does the title point to?
- Hook: How do the first few characters of the title create curiosity, opposition, or a benefit point?
- Timing & magnitude: What does the relative ratio of likes/comments/shares indicate—is it a "save type" (high likes, low comments) or a "controversy type" (high comments)? High shares indicate social currency value.
Organize these observations into a "reusable methodology," rather than just praising "this one is popular."
Error handling
When the script encounters a non-success envelope, print [error] CODE: message to stderr and exit with code 1. Common errors:
| HTTP | code | Meaning | Suggested handling |
|---|---|---|---|
| 401 | MISSING_API_KEY |
No key provided | Check whether DOUBAOYA_API_KEY has been exported |
| 401 | UNAUTHORIZED |
Key invalid/revoked | Go back to the key center to regenerate |
| 400 | VALIDATION_ERROR |
Link is empty or malformed | Confirm it is a complete public link |
| 402 | INSUFFICIENT_CREDITS |
Insufficient quota | Go to doubaoya.com to top up/renew |
| 502 | PROVIDER_FAILED |
Upstream parsing failed (automatically refunded) | Safe to retry; if it fails multiple times, confirm the link is valid and not expired |
PROVIDER_FAILEDwill be automatically refunded, so retrying is safe.
FAQ
Q: What should I do if I don't have a key?
A: Go to doubaoya.com log in → Key Center → Generate Key (in the form dyh_...), then export DOUBAOYA_API_KEY。
Q: Can it download videos / remove watermarks? A: No. This skill is acontent parser, and only returns structured details (title/author/interaction data). It does not provide mp4 downloads or watermark removal.
Q: Can it parse multiple links at once? A: Parsing one link at a time is the most reliable. For multiple links, call the script separately for each.
Q: What should I do if parsing fails (PROVIDER_FAILED)? A: Upstream failures are automatically refunded, so you can retry directly; if it fails repeatedly, confirm the link is complete, public, and not expired.
Q: Will the key be printed out? A: No. The script only reads it from environment variables and never echoes it or writes it to logs.
About the notice field in the response
After calling the doubaoya API corresponding to this skill, if the notice field appears at the top level of the returned JSON, please relay this sentence to the user exactly as-is—this is a notice that this skill has an update. It does not affect the result of this call, and no retry or behavior change is needed.