@tikomni/skills 0.1.2 → 0.1.4
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/.skill-package-allowlist.txt +1 -3
- package/README.md +41 -49
- package/README.zh-CN.md +43 -51
- package/bin/tikomni-skills.js +2 -2
- package/env.example +37 -56
- package/package.json +7 -3
- package/skills/social-media-crawl/SKILL.md +53 -0
- package/skills/social-media-crawl/agents/openai.yaml +5 -0
- package/skills/social-media-crawl/references/contracts/output-envelope.md +22 -0
- package/skills/social-media-crawl/references/contracts/work-fact-card-fields.md +48 -0
- package/skills/social-media-crawl/references/guides/generic-mcp-objects.md +30 -0
- package/skills/social-media-crawl/references/mcp-usage-contract.md +30 -0
- package/skills/social-media-crawl/references/pipelines/douyin-creator-home.md +7 -0
- package/skills/social-media-crawl/references/pipelines/douyin-single-work.md +7 -0
- package/skills/social-media-crawl/references/pipelines/xiaohongshu-creator-home.md +7 -0
- package/skills/social-media-crawl/references/pipelines/xiaohongshu-single-work.md +7 -0
- package/skills/social-media-crawl/references/schemas/creator-profile.schema.json +33 -0
- package/skills/social-media-crawl/references/schemas/output-envelope.schema.json +41 -0
- package/skills/social-media-crawl/references/schemas/work-collection.schema.json +29 -0
- package/skills/social-media-crawl/references/schemas/work-fact-card.schema.json +67 -0
- package/skills/social-media-crawl/references/service-guides/u2-u3-mandatory-fallback.md +21 -0
- package/skills/social-media-crawl/scripts/__init__.py +2 -0
- package/skills/social-media-crawl/scripts/core/__init__.py +2 -0
- package/skills/{creator-analysis/scripts/pipeline/asr → social-media-crawl/scripts/core}/asr_pipeline.py +252 -9
- package/skills/social-media-crawl/scripts/core/completeness.py +83 -0
- package/skills/{single-work-analysis → social-media-crawl}/scripts/core/config_loader.py +108 -167
- package/skills/social-media-crawl/scripts/core/mcp_dispatch.py +145 -0
- package/skills/social-media-crawl/scripts/core/object_detection.py +63 -0
- package/skills/{creator-analysis/scripts/pipeline/asr → social-media-crawl/scripts/core}/poll_u2_task.py +6 -2
- package/skills/{single-work-analysis → social-media-crawl}/scripts/core/progress_report.py +32 -0
- package/skills/social-media-crawl/scripts/core/storage_router.py +160 -0
- package/skills/{creator-analysis → social-media-crawl}/scripts/core/tikomni_common.py +13 -3
- package/skills/social-media-crawl/scripts/core/u3_fallback.py +328 -0
- package/skills/social-media-crawl/scripts/pipelines/__init__.py +2 -0
- package/skills/social-media-crawl/scripts/pipelines/douyin_creator_home_helpers.py +35 -0
- package/skills/social-media-crawl/scripts/pipelines/douyin_platform_adapter.py +7 -0
- package/skills/{creator-analysis/scripts/author_home/asr → social-media-crawl/scripts/pipelines}/home_asr.py +1 -1
- package/skills/{creator-analysis/scripts/author_home/adapters → social-media-crawl/scripts/pipelines}/platform_adapters.py +8 -2
- package/skills/social-media-crawl/scripts/pipelines/run_douyin_creator_home.py +237 -0
- package/skills/{single-work-analysis/scripts/platform/douyin/run_douyin_single_video.py → social-media-crawl/scripts/pipelines/run_douyin_single_work.py} +282 -174
- package/skills/social-media-crawl/scripts/pipelines/run_xiaohongshu_creator_home.py +237 -0
- package/skills/{single-work-analysis/scripts/platform/xiaohongshu/run_xiaohongshu_extract.py → social-media-crawl/scripts/pipelines/run_xiaohongshu_single_work.py} +290 -141
- package/skills/{creator-analysis/scripts/author_home → social-media-crawl/scripts/pipelines}/schema.py +1 -1
- package/skills/social-media-crawl/scripts/pipelines/xiaohongshu_creator_home_helpers.py +35 -0
- package/skills/social-media-crawl/scripts/pipelines/xiaohongshu_platform_adapter.py +7 -0
- package/skills/social-media-crawl/scripts/writers/__init__.py +1 -0
- package/skills/social-media-crawl/scripts/writers/write_work_fact_card.py +391 -0
- package/skills/creator-analysis/SKILL.md +0 -95
- package/skills/creator-analysis/agents/openai.yaml +0 -4
- package/skills/creator-analysis/env.example +0 -36
- package/skills/creator-analysis/references/api-capability-index.md +0 -92
- package/skills/creator-analysis/references/api-contracts/asr-api.md +0 -130
- package/skills/creator-analysis/references/api-contracts/bilibili-app-api.md +0 -776
- package/skills/creator-analysis/references/api-contracts/bilibili-web-api.md +0 -2017
- package/skills/creator-analysis/references/api-contracts/demo-api.md +0 -717
- package/skills/creator-analysis/references/api-contracts/douyin-app-v3-api.md +0 -3594
- package/skills/creator-analysis/references/api-contracts/douyin-billboard-api.md +0 -2274
- package/skills/creator-analysis/references/api-contracts/douyin-creator-api.md +0 -1575
- package/skills/creator-analysis/references/api-contracts/douyin-creator-v2-api.md +0 -3254
- package/skills/creator-analysis/references/api-contracts/douyin-search-api.md +0 -4118
- package/skills/creator-analysis/references/api-contracts/douyin-web-api.md +0 -5544
- package/skills/creator-analysis/references/api-contracts/douyin-xingtu-api.md +0 -1916
- package/skills/creator-analysis/references/api-contracts/douyin-xingtu-v2-api.md +0 -1540
- package/skills/creator-analysis/references/api-contracts/health-check.md +0 -69
- package/skills/creator-analysis/references/api-contracts/hybrid-parsing.md +0 -78
- package/skills/creator-analysis/references/api-contracts/instagram-v1-api.md +0 -2256
- package/skills/creator-analysis/references/api-contracts/instagram-v2-api.md +0 -2011
- package/skills/creator-analysis/references/api-contracts/instagram-v3-api.md +0 -2630
- package/skills/creator-analysis/references/api-contracts/ios-shortcut.md +0 -44
- package/skills/creator-analysis/references/api-contracts/kuaishou-app-api.md +0 -1518
- package/skills/creator-analysis/references/api-contracts/kuaishou-web-api.md +0 -1242
- package/skills/creator-analysis/references/api-contracts/lemon8-app-api.md +0 -1088
- package/skills/creator-analysis/references/api-contracts/linkedin-web-api.md +0 -1949
- package/skills/creator-analysis/references/api-contracts/media-ingest-api.md +0 -126
- package/skills/creator-analysis/references/api-contracts/pipixia-app-api.md +0 -1142
- package/skills/creator-analysis/references/api-contracts/reddit-app-api.md +0 -2025
- package/skills/creator-analysis/references/api-contracts/sora2-api.md +0 -2266
- package/skills/creator-analysis/references/api-contracts/temp-mail-api.md +0 -208
- package/skills/creator-analysis/references/api-contracts/threads-web-api.md +0 -897
- package/skills/creator-analysis/references/api-contracts/tikhub-downloader-api.md +0 -134
- package/skills/creator-analysis/references/api-contracts/tikhub-user-api.md +0 -494
- package/skills/creator-analysis/references/api-contracts/tiktok-ads-api.md +0 -5947
- package/skills/creator-analysis/references/api-contracts/tiktok-analytics-api.md +0 -968
- package/skills/creator-analysis/references/api-contracts/tiktok-app-v3-api.md +0 -5735
- package/skills/creator-analysis/references/api-contracts/tiktok-creator-api.md +0 -1951
- package/skills/creator-analysis/references/api-contracts/tiktok-interaction-api.md +0 -742
- package/skills/creator-analysis/references/api-contracts/tiktok-shop-web-api.md +0 -1890
- package/skills/creator-analysis/references/api-contracts/tiktok-web-api.md +0 -4448
- package/skills/creator-analysis/references/api-contracts/toutiao-app-api.md +0 -342
- package/skills/creator-analysis/references/api-contracts/toutiao-web-api.md +0 -143
- package/skills/creator-analysis/references/api-contracts/twitter-web-api.md +0 -989
- package/skills/creator-analysis/references/api-contracts/wechat-channels-api.md +0 -809
- package/skills/creator-analysis/references/api-contracts/wechat-media-platform-web-api.md +0 -677
- package/skills/creator-analysis/references/api-contracts/weibo-app-api.md +0 -1547
- package/skills/creator-analysis/references/api-contracts/weibo-web-api.md +0 -798
- package/skills/creator-analysis/references/api-contracts/weibo-web-v2-api.md +0 -2459
- package/skills/creator-analysis/references/api-contracts/xiaohongshu-app-api.md +0 -1291
- package/skills/creator-analysis/references/api-contracts/xiaohongshu-app-v2-api.md +0 -1683
- package/skills/creator-analysis/references/api-contracts/xiaohongshu-web-api.md +0 -1324
- package/skills/creator-analysis/references/api-contracts/xiaohongshu-web-v2-api.md +0 -1209
- package/skills/creator-analysis/references/api-contracts/xigua-app-v2-api.md +0 -489
- package/skills/creator-analysis/references/api-contracts/youtube-web-api.md +0 -2636
- package/skills/creator-analysis/references/api-contracts/youtube-web-v2-api.md +0 -2660
- package/skills/creator-analysis/references/api-contracts/zhihu-web-api.md +0 -2315
- package/skills/creator-analysis/references/api-tags/asr-api.md +0 -100
- package/skills/creator-analysis/references/api-tags/bilibili-app-api.md +0 -482
- package/skills/creator-analysis/references/api-tags/bilibili-web-api.md +0 -1267
- package/skills/creator-analysis/references/api-tags/demo-api.md +0 -365
- package/skills/creator-analysis/references/api-tags/douyin-app-v3-api.md +0 -2012
- package/skills/creator-analysis/references/api-tags/douyin-billboard-api.md +0 -1428
- package/skills/creator-analysis/references/api-tags/douyin-creator-api.md +0 -694
- package/skills/creator-analysis/references/api-tags/douyin-creator-v2-api.md +0 -694
- package/skills/creator-analysis/references/api-tags/douyin-search-api.md +0 -1059
- package/skills/creator-analysis/references/api-tags/douyin-web-api.md +0 -3314
- package/skills/creator-analysis/references/api-tags/douyin-xingtu-api.md +0 -935
- package/skills/creator-analysis/references/api-tags/douyin-xingtu-v2-api.md +0 -925
- package/skills/creator-analysis/references/api-tags/health-check.md +0 -40
- package/skills/creator-analysis/references/api-tags/hybrid-parsing.md +0 -57
- package/skills/creator-analysis/references/api-tags/instagram-v1-api.md +0 -1224
- package/skills/creator-analysis/references/api-tags/instagram-v2-api.md +0 -1147
- package/skills/creator-analysis/references/api-tags/instagram-v3-api.md +0 -1123
- package/skills/creator-analysis/references/api-tags/ios-shortcut.md +0 -45
- package/skills/creator-analysis/references/api-tags/kuaishou-app-api.md +0 -846
- package/skills/creator-analysis/references/api-tags/kuaishou-web-api.md +0 -551
- package/skills/creator-analysis/references/api-tags/lemon8-app-api.md +0 -687
- package/skills/creator-analysis/references/api-tags/linkedin-web-api.md +0 -1105
- package/skills/creator-analysis/references/api-tags/media-ingest-api.md +0 -112
- package/skills/creator-analysis/references/api-tags/pipixia-app-api.md +0 -721
- package/skills/creator-analysis/references/api-tags/reddit-app-api.md +0 -1057
- package/skills/creator-analysis/references/api-tags/sora2-api.md +0 -737
- package/skills/creator-analysis/references/api-tags/temp-mail-api.md +0 -136
- package/skills/creator-analysis/references/api-tags/threads-web-api.md +0 -472
- package/skills/creator-analysis/references/api-tags/tikhub-downloader-api.md +0 -65
- package/skills/creator-analysis/references/api-tags/tikhub-user-api.md +0 -253
- package/skills/creator-analysis/references/api-tags/tiktok-ads-api.md +0 -1393
- package/skills/creator-analysis/references/api-tags/tiktok-analytics-api.md +0 -179
- package/skills/creator-analysis/references/api-tags/tiktok-app-v3-api.md +0 -3264
- package/skills/creator-analysis/references/api-tags/tiktok-creator-api.md +0 -709
- package/skills/creator-analysis/references/api-tags/tiktok-interaction-api.md +0 -366
- package/skills/creator-analysis/references/api-tags/tiktok-shop-web-api.md +0 -663
- package/skills/creator-analysis/references/api-tags/tiktok-web-api.md +0 -2516
- package/skills/creator-analysis/references/api-tags/toutiao-app-api.md +0 -220
- package/skills/creator-analysis/references/api-tags/toutiao-web-api.md +0 -96
- package/skills/creator-analysis/references/api-tags/twitter-web-api.md +0 -562
- package/skills/creator-analysis/references/api-tags/wechat-channels-api.md +0 -405
- package/skills/creator-analysis/references/api-tags/wechat-media-platform-web-api.md +0 -431
- package/skills/creator-analysis/references/api-tags/weibo-app-api.md +0 -851
- package/skills/creator-analysis/references/api-tags/weibo-web-api.md +0 -470
- package/skills/creator-analysis/references/api-tags/weibo-web-v2-api.md +0 -1405
- package/skills/creator-analysis/references/api-tags/xiaohongshu-app-api.md +0 -534
- package/skills/creator-analysis/references/api-tags/xiaohongshu-app-v2-api.md +0 -934
- package/skills/creator-analysis/references/api-tags/xiaohongshu-web-api.md +0 -757
- package/skills/creator-analysis/references/api-tags/xiaohongshu-web-v2-api.md +0 -762
- package/skills/creator-analysis/references/api-tags/xigua-app-v2-api.md +0 -308
- package/skills/creator-analysis/references/api-tags/youtube-web-api.md +0 -934
- package/skills/creator-analysis/references/api-tags/youtube-web-v2-api.md +0 -717
- package/skills/creator-analysis/references/api-tags/zhihu-web-api.md +0 -1384
- package/skills/creator-analysis/references/asr-orchestration.md +0 -33
- package/skills/creator-analysis/references/config-templates/defaults.yaml +0 -60
- package/skills/creator-analysis/references/contracts/creator-card-fields.md +0 -25
- package/skills/creator-analysis/references/contracts/work-card-fields.md +0 -68
- package/skills/creator-analysis/references/platform-guides/douyin.md +0 -54
- package/skills/creator-analysis/references/platform-guides/generic.md +0 -50
- package/skills/creator-analysis/references/platform-guides/xiaohongshu.md +0 -69
- package/skills/creator-analysis/references/prompt-contracts/asr-clean.md +0 -28
- package/skills/creator-analysis/references/prompt-contracts/author-analysis-v2.md +0 -46
- package/skills/creator-analysis/references/prompt-contracts/author-analysis.md +0 -49
- package/skills/creator-analysis/references/prompt-contracts/cta.md +0 -24
- package/skills/creator-analysis/references/prompt-contracts/hook.md +0 -25
- package/skills/creator-analysis/references/prompt-contracts/insight.md +0 -47
- package/skills/creator-analysis/references/prompt-contracts/sampled-work-batch-explanations.md +0 -30
- package/skills/creator-analysis/references/prompt-contracts/structure.md +0 -25
- package/skills/creator-analysis/references/prompt-contracts/style.md +0 -27
- package/skills/creator-analysis/references/prompt-contracts/summary.md +0 -29
- package/skills/creator-analysis/references/prompt-contracts/topic.md +0 -29
- package/skills/creator-analysis/references/schemas/author-analysis-input-v1.schema.json +0 -325
- package/skills/creator-analysis/references/schemas/author-analysis-v2.schema.json +0 -287
- package/skills/creator-analysis/references/schemas/sampled-work-batch-explanations.schema.json +0 -41
- package/skills/creator-analysis/references/service-guides/asr-u2-u3-fallback.md +0 -75
- package/skills/creator-analysis/references/workflow.md +0 -23
- package/skills/creator-analysis/scripts/__init__.py +0 -0
- package/skills/creator-analysis/scripts/author_home/__init__.py +0 -0
- package/skills/creator-analysis/scripts/author_home/adapters/__init__.py +0 -0
- package/skills/creator-analysis/scripts/author_home/analyzers/__init__.py +0 -0
- package/skills/creator-analysis/scripts/author_home/analyzers/author_analysis_v2_support.py +0 -1165
- package/skills/creator-analysis/scripts/author_home/analyzers/prompt_first_analyzers.py +0 -447
- package/skills/creator-analysis/scripts/author_home/analyzers/sampled_work_batch_explainer.py +0 -331
- package/skills/creator-analysis/scripts/author_home/asr/__init__.py +0 -5
- package/skills/creator-analysis/scripts/author_home/builders/__init__.py +0 -0
- package/skills/creator-analysis/scripts/author_home/builders/home_builders.py +0 -213
- package/skills/creator-analysis/scripts/author_home/collectors/__init__.py +0 -0
- package/skills/creator-analysis/scripts/author_home/orchestrator/__init__.py +0 -0
- package/skills/creator-analysis/scripts/author_home/orchestrator/run_author_analysis.py +0 -834
- package/skills/creator-analysis/scripts/author_home/orchestrator/work_analysis_artifacts.py +0 -609
- package/skills/creator-analysis/scripts/core/__init__.py +0 -0
- package/skills/creator-analysis/scripts/core/analysis_pipeline.py +0 -133
- package/skills/creator-analysis/scripts/core/config_loader.py +0 -418
- package/skills/creator-analysis/scripts/core/progress_report.py +0 -111
- package/skills/creator-analysis/scripts/core/storage_router.py +0 -256
- package/skills/creator-analysis/scripts/pipeline/__init__.py +0 -0
- package/skills/creator-analysis/scripts/pipeline/asr/__init__.py +0 -0
- package/skills/creator-analysis/scripts/platform/__init__.py +0 -0
- package/skills/creator-analysis/scripts/platform/douyin/__init__.py +0 -0
- package/skills/creator-analysis/scripts/platform/douyin/run_douyin_single_video.py +0 -1208
- package/skills/creator-analysis/scripts/platform/xiaohongshu/__init__.py +0 -0
- package/skills/creator-analysis/scripts/platform/xiaohongshu/run_xiaohongshu_extract.py +0 -2128
- package/skills/creator-analysis/scripts/writers/__init__.py +0 -0
- package/skills/creator-analysis/scripts/writers/write_author_homepage_samples.py +0 -107
- package/skills/creator-analysis/scripts/writers/write_benchmark_card.py +0 -1579
- package/skills/meta-capability/SKILL.md +0 -69
- package/skills/meta-capability/agents/openai.yaml +0 -4
- package/skills/meta-capability/env.example +0 -42
- package/skills/meta-capability/references/api-capability-index.md +0 -92
- package/skills/meta-capability/references/api-contracts/asr-api.md +0 -130
- package/skills/meta-capability/references/api-contracts/bilibili-app-api.md +0 -776
- package/skills/meta-capability/references/api-contracts/bilibili-web-api.md +0 -2017
- package/skills/meta-capability/references/api-contracts/demo-api.md +0 -717
- package/skills/meta-capability/references/api-contracts/douyin-app-v3-api.md +0 -3594
- package/skills/meta-capability/references/api-contracts/douyin-billboard-api.md +0 -2274
- package/skills/meta-capability/references/api-contracts/douyin-creator-api.md +0 -1575
- package/skills/meta-capability/references/api-contracts/douyin-creator-v2-api.md +0 -3254
- package/skills/meta-capability/references/api-contracts/douyin-search-api.md +0 -4118
- package/skills/meta-capability/references/api-contracts/douyin-web-api.md +0 -5544
- package/skills/meta-capability/references/api-contracts/douyin-xingtu-api.md +0 -1916
- package/skills/meta-capability/references/api-contracts/douyin-xingtu-v2-api.md +0 -1540
- package/skills/meta-capability/references/api-contracts/health-check.md +0 -69
- package/skills/meta-capability/references/api-contracts/hybrid-parsing.md +0 -78
- package/skills/meta-capability/references/api-contracts/instagram-v1-api.md +0 -2256
- package/skills/meta-capability/references/api-contracts/instagram-v2-api.md +0 -2011
- package/skills/meta-capability/references/api-contracts/instagram-v3-api.md +0 -2630
- package/skills/meta-capability/references/api-contracts/ios-shortcut.md +0 -44
- package/skills/meta-capability/references/api-contracts/kuaishou-app-api.md +0 -1518
- package/skills/meta-capability/references/api-contracts/kuaishou-web-api.md +0 -1242
- package/skills/meta-capability/references/api-contracts/lemon8-app-api.md +0 -1088
- package/skills/meta-capability/references/api-contracts/linkedin-web-api.md +0 -1949
- package/skills/meta-capability/references/api-contracts/media-ingest-api.md +0 -126
- package/skills/meta-capability/references/api-contracts/pipixia-app-api.md +0 -1142
- package/skills/meta-capability/references/api-contracts/reddit-app-api.md +0 -2025
- package/skills/meta-capability/references/api-contracts/sora2-api.md +0 -2266
- package/skills/meta-capability/references/api-contracts/temp-mail-api.md +0 -208
- package/skills/meta-capability/references/api-contracts/threads-web-api.md +0 -897
- package/skills/meta-capability/references/api-contracts/tikhub-downloader-api.md +0 -134
- package/skills/meta-capability/references/api-contracts/tikhub-user-api.md +0 -494
- package/skills/meta-capability/references/api-contracts/tiktok-ads-api.md +0 -5947
- package/skills/meta-capability/references/api-contracts/tiktok-analytics-api.md +0 -968
- package/skills/meta-capability/references/api-contracts/tiktok-app-v3-api.md +0 -5735
- package/skills/meta-capability/references/api-contracts/tiktok-creator-api.md +0 -1951
- package/skills/meta-capability/references/api-contracts/tiktok-interaction-api.md +0 -742
- package/skills/meta-capability/references/api-contracts/tiktok-shop-web-api.md +0 -1890
- package/skills/meta-capability/references/api-contracts/tiktok-web-api.md +0 -4448
- package/skills/meta-capability/references/api-contracts/toutiao-app-api.md +0 -342
- package/skills/meta-capability/references/api-contracts/toutiao-web-api.md +0 -143
- package/skills/meta-capability/references/api-contracts/twitter-web-api.md +0 -989
- package/skills/meta-capability/references/api-contracts/wechat-channels-api.md +0 -809
- package/skills/meta-capability/references/api-contracts/wechat-media-platform-web-api.md +0 -677
- package/skills/meta-capability/references/api-contracts/weibo-app-api.md +0 -1547
- package/skills/meta-capability/references/api-contracts/weibo-web-api.md +0 -798
- package/skills/meta-capability/references/api-contracts/weibo-web-v2-api.md +0 -2459
- package/skills/meta-capability/references/api-contracts/xiaohongshu-app-api.md +0 -1291
- package/skills/meta-capability/references/api-contracts/xiaohongshu-app-v2-api.md +0 -1683
- package/skills/meta-capability/references/api-contracts/xiaohongshu-web-api.md +0 -1324
- package/skills/meta-capability/references/api-contracts/xiaohongshu-web-v2-api.md +0 -1209
- package/skills/meta-capability/references/api-contracts/xigua-app-v2-api.md +0 -489
- package/skills/meta-capability/references/api-contracts/youtube-web-api.md +0 -2636
- package/skills/meta-capability/references/api-contracts/youtube-web-v2-api.md +0 -2660
- package/skills/meta-capability/references/api-contracts/zhihu-web-api.md +0 -2315
- package/skills/meta-capability/references/api-tags/asr-api.md +0 -100
- package/skills/meta-capability/references/api-tags/bilibili-app-api.md +0 -482
- package/skills/meta-capability/references/api-tags/bilibili-web-api.md +0 -1267
- package/skills/meta-capability/references/api-tags/demo-api.md +0 -365
- package/skills/meta-capability/references/api-tags/douyin-app-v3-api.md +0 -2012
- package/skills/meta-capability/references/api-tags/douyin-billboard-api.md +0 -1428
- package/skills/meta-capability/references/api-tags/douyin-creator-api.md +0 -694
- package/skills/meta-capability/references/api-tags/douyin-creator-v2-api.md +0 -694
- package/skills/meta-capability/references/api-tags/douyin-search-api.md +0 -1059
- package/skills/meta-capability/references/api-tags/douyin-web-api.md +0 -3314
- package/skills/meta-capability/references/api-tags/douyin-xingtu-api.md +0 -935
- package/skills/meta-capability/references/api-tags/douyin-xingtu-v2-api.md +0 -925
- package/skills/meta-capability/references/api-tags/health-check.md +0 -40
- package/skills/meta-capability/references/api-tags/hybrid-parsing.md +0 -57
- package/skills/meta-capability/references/api-tags/instagram-v1-api.md +0 -1224
- package/skills/meta-capability/references/api-tags/instagram-v2-api.md +0 -1147
- package/skills/meta-capability/references/api-tags/instagram-v3-api.md +0 -1123
- package/skills/meta-capability/references/api-tags/ios-shortcut.md +0 -45
- package/skills/meta-capability/references/api-tags/kuaishou-app-api.md +0 -846
- package/skills/meta-capability/references/api-tags/kuaishou-web-api.md +0 -551
- package/skills/meta-capability/references/api-tags/lemon8-app-api.md +0 -687
- package/skills/meta-capability/references/api-tags/linkedin-web-api.md +0 -1105
- package/skills/meta-capability/references/api-tags/media-ingest-api.md +0 -112
- package/skills/meta-capability/references/api-tags/pipixia-app-api.md +0 -721
- package/skills/meta-capability/references/api-tags/reddit-app-api.md +0 -1057
- package/skills/meta-capability/references/api-tags/sora2-api.md +0 -737
- package/skills/meta-capability/references/api-tags/temp-mail-api.md +0 -136
- package/skills/meta-capability/references/api-tags/threads-web-api.md +0 -472
- package/skills/meta-capability/references/api-tags/tikhub-downloader-api.md +0 -65
- package/skills/meta-capability/references/api-tags/tikhub-user-api.md +0 -253
- package/skills/meta-capability/references/api-tags/tiktok-ads-api.md +0 -1393
- package/skills/meta-capability/references/api-tags/tiktok-analytics-api.md +0 -179
- package/skills/meta-capability/references/api-tags/tiktok-app-v3-api.md +0 -3264
- package/skills/meta-capability/references/api-tags/tiktok-creator-api.md +0 -709
- package/skills/meta-capability/references/api-tags/tiktok-interaction-api.md +0 -366
- package/skills/meta-capability/references/api-tags/tiktok-shop-web-api.md +0 -663
- package/skills/meta-capability/references/api-tags/tiktok-web-api.md +0 -2516
- package/skills/meta-capability/references/api-tags/toutiao-app-api.md +0 -220
- package/skills/meta-capability/references/api-tags/toutiao-web-api.md +0 -96
- package/skills/meta-capability/references/api-tags/twitter-web-api.md +0 -562
- package/skills/meta-capability/references/api-tags/wechat-channels-api.md +0 -405
- package/skills/meta-capability/references/api-tags/wechat-media-platform-web-api.md +0 -431
- package/skills/meta-capability/references/api-tags/weibo-app-api.md +0 -851
- package/skills/meta-capability/references/api-tags/weibo-web-api.md +0 -470
- package/skills/meta-capability/references/api-tags/weibo-web-v2-api.md +0 -1405
- package/skills/meta-capability/references/api-tags/xiaohongshu-app-api.md +0 -534
- package/skills/meta-capability/references/api-tags/xiaohongshu-app-v2-api.md +0 -934
- package/skills/meta-capability/references/api-tags/xiaohongshu-web-api.md +0 -757
- package/skills/meta-capability/references/api-tags/xiaohongshu-web-v2-api.md +0 -762
- package/skills/meta-capability/references/api-tags/xigua-app-v2-api.md +0 -308
- package/skills/meta-capability/references/api-tags/youtube-web-api.md +0 -934
- package/skills/meta-capability/references/api-tags/youtube-web-v2-api.md +0 -717
- package/skills/meta-capability/references/api-tags/zhihu-web-api.md +0 -1384
- package/skills/meta-capability/references/config-templates/defaults.yaml +0 -18
- package/skills/meta-capability/references/dispatch.md +0 -27
- package/skills/meta-capability/references/execution-guidelines.md +0 -25
- package/skills/meta-capability/references/implemented-route-map.md +0 -177
- package/skills/meta-capability/references/service-guides/asr-u2-u3-fallback.md +0 -75
- package/skills/meta-capability/scripts/__init__.py +0 -1
- package/skills/meta-capability/scripts/call_route.py +0 -141
- package/skills/meta-capability/scripts/core/__init__.py +0 -1
- package/skills/meta-capability/scripts/core/bootstrap_env.py +0 -32
- package/skills/meta-capability/scripts/core/config_loader.py +0 -204
- package/skills/meta-capability/scripts/core/tikomni_common.py +0 -443
- package/skills/meta-capability/scripts/test_auth.py +0 -98
- package/skills/single-work-analysis/SKILL.md +0 -62
- package/skills/single-work-analysis/agents/openai.yaml +0 -4
- package/skills/single-work-analysis/env.example +0 -36
- package/skills/single-work-analysis/references/api-capability-index.md +0 -92
- package/skills/single-work-analysis/references/api-contracts/asr-api.md +0 -130
- package/skills/single-work-analysis/references/api-contracts/bilibili-app-api.md +0 -776
- package/skills/single-work-analysis/references/api-contracts/bilibili-web-api.md +0 -2017
- package/skills/single-work-analysis/references/api-contracts/demo-api.md +0 -717
- package/skills/single-work-analysis/references/api-contracts/douyin-app-v3-api.md +0 -3594
- package/skills/single-work-analysis/references/api-contracts/douyin-billboard-api.md +0 -2274
- package/skills/single-work-analysis/references/api-contracts/douyin-creator-api.md +0 -1575
- package/skills/single-work-analysis/references/api-contracts/douyin-creator-v2-api.md +0 -3254
- package/skills/single-work-analysis/references/api-contracts/douyin-search-api.md +0 -4118
- package/skills/single-work-analysis/references/api-contracts/douyin-web-api.md +0 -5544
- package/skills/single-work-analysis/references/api-contracts/douyin-xingtu-api.md +0 -1916
- package/skills/single-work-analysis/references/api-contracts/douyin-xingtu-v2-api.md +0 -1540
- package/skills/single-work-analysis/references/api-contracts/health-check.md +0 -69
- package/skills/single-work-analysis/references/api-contracts/hybrid-parsing.md +0 -78
- package/skills/single-work-analysis/references/api-contracts/instagram-v1-api.md +0 -2256
- package/skills/single-work-analysis/references/api-contracts/instagram-v2-api.md +0 -2011
- package/skills/single-work-analysis/references/api-contracts/instagram-v3-api.md +0 -2630
- package/skills/single-work-analysis/references/api-contracts/ios-shortcut.md +0 -44
- package/skills/single-work-analysis/references/api-contracts/kuaishou-app-api.md +0 -1518
- package/skills/single-work-analysis/references/api-contracts/kuaishou-web-api.md +0 -1242
- package/skills/single-work-analysis/references/api-contracts/lemon8-app-api.md +0 -1088
- package/skills/single-work-analysis/references/api-contracts/linkedin-web-api.md +0 -1949
- package/skills/single-work-analysis/references/api-contracts/media-ingest-api.md +0 -126
- package/skills/single-work-analysis/references/api-contracts/pipixia-app-api.md +0 -1142
- package/skills/single-work-analysis/references/api-contracts/reddit-app-api.md +0 -2025
- package/skills/single-work-analysis/references/api-contracts/sora2-api.md +0 -2266
- package/skills/single-work-analysis/references/api-contracts/temp-mail-api.md +0 -208
- package/skills/single-work-analysis/references/api-contracts/threads-web-api.md +0 -897
- package/skills/single-work-analysis/references/api-contracts/tikhub-downloader-api.md +0 -134
- package/skills/single-work-analysis/references/api-contracts/tikhub-user-api.md +0 -494
- package/skills/single-work-analysis/references/api-contracts/tiktok-ads-api.md +0 -5947
- package/skills/single-work-analysis/references/api-contracts/tiktok-analytics-api.md +0 -968
- package/skills/single-work-analysis/references/api-contracts/tiktok-app-v3-api.md +0 -5735
- package/skills/single-work-analysis/references/api-contracts/tiktok-creator-api.md +0 -1951
- package/skills/single-work-analysis/references/api-contracts/tiktok-interaction-api.md +0 -742
- package/skills/single-work-analysis/references/api-contracts/tiktok-shop-web-api.md +0 -1890
- package/skills/single-work-analysis/references/api-contracts/tiktok-web-api.md +0 -4448
- package/skills/single-work-analysis/references/api-contracts/toutiao-app-api.md +0 -342
- package/skills/single-work-analysis/references/api-contracts/toutiao-web-api.md +0 -143
- package/skills/single-work-analysis/references/api-contracts/twitter-web-api.md +0 -989
- package/skills/single-work-analysis/references/api-contracts/wechat-channels-api.md +0 -809
- package/skills/single-work-analysis/references/api-contracts/wechat-media-platform-web-api.md +0 -677
- package/skills/single-work-analysis/references/api-contracts/weibo-app-api.md +0 -1547
- package/skills/single-work-analysis/references/api-contracts/weibo-web-api.md +0 -798
- package/skills/single-work-analysis/references/api-contracts/weibo-web-v2-api.md +0 -2459
- package/skills/single-work-analysis/references/api-contracts/xiaohongshu-app-api.md +0 -1291
- package/skills/single-work-analysis/references/api-contracts/xiaohongshu-app-v2-api.md +0 -1683
- package/skills/single-work-analysis/references/api-contracts/xiaohongshu-web-api.md +0 -1324
- package/skills/single-work-analysis/references/api-contracts/xiaohongshu-web-v2-api.md +0 -1209
- package/skills/single-work-analysis/references/api-contracts/xigua-app-v2-api.md +0 -489
- package/skills/single-work-analysis/references/api-contracts/youtube-web-api.md +0 -2636
- package/skills/single-work-analysis/references/api-contracts/youtube-web-v2-api.md +0 -2660
- package/skills/single-work-analysis/references/api-contracts/zhihu-web-api.md +0 -2315
- package/skills/single-work-analysis/references/api-tags/asr-api.md +0 -100
- package/skills/single-work-analysis/references/api-tags/bilibili-app-api.md +0 -482
- package/skills/single-work-analysis/references/api-tags/bilibili-web-api.md +0 -1267
- package/skills/single-work-analysis/references/api-tags/demo-api.md +0 -365
- package/skills/single-work-analysis/references/api-tags/douyin-app-v3-api.md +0 -2012
- package/skills/single-work-analysis/references/api-tags/douyin-billboard-api.md +0 -1428
- package/skills/single-work-analysis/references/api-tags/douyin-creator-api.md +0 -694
- package/skills/single-work-analysis/references/api-tags/douyin-creator-v2-api.md +0 -694
- package/skills/single-work-analysis/references/api-tags/douyin-search-api.md +0 -1059
- package/skills/single-work-analysis/references/api-tags/douyin-web-api.md +0 -3314
- package/skills/single-work-analysis/references/api-tags/douyin-xingtu-api.md +0 -935
- package/skills/single-work-analysis/references/api-tags/douyin-xingtu-v2-api.md +0 -925
- package/skills/single-work-analysis/references/api-tags/health-check.md +0 -40
- package/skills/single-work-analysis/references/api-tags/hybrid-parsing.md +0 -57
- package/skills/single-work-analysis/references/api-tags/instagram-v1-api.md +0 -1224
- package/skills/single-work-analysis/references/api-tags/instagram-v2-api.md +0 -1147
- package/skills/single-work-analysis/references/api-tags/instagram-v3-api.md +0 -1123
- package/skills/single-work-analysis/references/api-tags/ios-shortcut.md +0 -45
- package/skills/single-work-analysis/references/api-tags/kuaishou-app-api.md +0 -846
- package/skills/single-work-analysis/references/api-tags/kuaishou-web-api.md +0 -551
- package/skills/single-work-analysis/references/api-tags/lemon8-app-api.md +0 -687
- package/skills/single-work-analysis/references/api-tags/linkedin-web-api.md +0 -1105
- package/skills/single-work-analysis/references/api-tags/media-ingest-api.md +0 -112
- package/skills/single-work-analysis/references/api-tags/pipixia-app-api.md +0 -721
- package/skills/single-work-analysis/references/api-tags/reddit-app-api.md +0 -1057
- package/skills/single-work-analysis/references/api-tags/sora2-api.md +0 -737
- package/skills/single-work-analysis/references/api-tags/temp-mail-api.md +0 -136
- package/skills/single-work-analysis/references/api-tags/threads-web-api.md +0 -472
- package/skills/single-work-analysis/references/api-tags/tikhub-downloader-api.md +0 -65
- package/skills/single-work-analysis/references/api-tags/tikhub-user-api.md +0 -253
- package/skills/single-work-analysis/references/api-tags/tiktok-ads-api.md +0 -1393
- package/skills/single-work-analysis/references/api-tags/tiktok-analytics-api.md +0 -179
- package/skills/single-work-analysis/references/api-tags/tiktok-app-v3-api.md +0 -3264
- package/skills/single-work-analysis/references/api-tags/tiktok-creator-api.md +0 -709
- package/skills/single-work-analysis/references/api-tags/tiktok-interaction-api.md +0 -366
- package/skills/single-work-analysis/references/api-tags/tiktok-shop-web-api.md +0 -663
- package/skills/single-work-analysis/references/api-tags/tiktok-web-api.md +0 -2516
- package/skills/single-work-analysis/references/api-tags/toutiao-app-api.md +0 -220
- package/skills/single-work-analysis/references/api-tags/toutiao-web-api.md +0 -96
- package/skills/single-work-analysis/references/api-tags/twitter-web-api.md +0 -562
- package/skills/single-work-analysis/references/api-tags/wechat-channels-api.md +0 -405
- package/skills/single-work-analysis/references/api-tags/wechat-media-platform-web-api.md +0 -431
- package/skills/single-work-analysis/references/api-tags/weibo-app-api.md +0 -851
- package/skills/single-work-analysis/references/api-tags/weibo-web-api.md +0 -470
- package/skills/single-work-analysis/references/api-tags/weibo-web-v2-api.md +0 -1405
- package/skills/single-work-analysis/references/api-tags/xiaohongshu-app-api.md +0 -534
- package/skills/single-work-analysis/references/api-tags/xiaohongshu-app-v2-api.md +0 -934
- package/skills/single-work-analysis/references/api-tags/xiaohongshu-web-api.md +0 -757
- package/skills/single-work-analysis/references/api-tags/xiaohongshu-web-v2-api.md +0 -762
- package/skills/single-work-analysis/references/api-tags/xigua-app-v2-api.md +0 -308
- package/skills/single-work-analysis/references/api-tags/youtube-web-api.md +0 -934
- package/skills/single-work-analysis/references/api-tags/youtube-web-v2-api.md +0 -717
- package/skills/single-work-analysis/references/api-tags/zhihu-web-api.md +0 -1384
- package/skills/single-work-analysis/references/asr-and-fallback.md +0 -20
- package/skills/single-work-analysis/references/config-templates/defaults.yaml +0 -58
- package/skills/single-work-analysis/references/contracts/work-card-fields.md +0 -41
- package/skills/single-work-analysis/references/platform-guides/douyin.md +0 -47
- package/skills/single-work-analysis/references/platform-guides/generic.md +0 -43
- package/skills/single-work-analysis/references/platform-guides/xiaohongshu.md +0 -54
- package/skills/single-work-analysis/references/prompt-contracts/asr-clean.md +0 -28
- package/skills/single-work-analysis/references/prompt-contracts/cta.md +0 -24
- package/skills/single-work-analysis/references/prompt-contracts/hook.md +0 -25
- package/skills/single-work-analysis/references/prompt-contracts/insight.md +0 -47
- package/skills/single-work-analysis/references/prompt-contracts/structure.md +0 -25
- package/skills/single-work-analysis/references/prompt-contracts/style.md +0 -27
- package/skills/single-work-analysis/references/prompt-contracts/summary.md +0 -29
- package/skills/single-work-analysis/references/prompt-contracts/topic.md +0 -29
- package/skills/single-work-analysis/references/schemas/work-card.schema.json +0 -39
- package/skills/single-work-analysis/references/service-guides/asr-u2-u3-fallback.md +0 -75
- package/skills/single-work-analysis/scripts/__init__.py +0 -0
- package/skills/single-work-analysis/scripts/core/__init__.py +0 -0
- package/skills/single-work-analysis/scripts/core/analysis_pipeline.py +0 -133
- package/skills/single-work-analysis/scripts/core/bootstrap_env.py +0 -35
- package/skills/single-work-analysis/scripts/core/extract_pipeline.py +0 -173
- package/skills/single-work-analysis/scripts/core/storage_router.py +0 -253
- package/skills/single-work-analysis/scripts/core/tikomni_common.py +0 -588
- package/skills/single-work-analysis/scripts/pipeline/__init__.py +0 -0
- package/skills/single-work-analysis/scripts/pipeline/asr/__init__.py +0 -0
- package/skills/single-work-analysis/scripts/pipeline/asr/asr_pipeline.py +0 -1189
- package/skills/single-work-analysis/scripts/pipeline/asr/poll_u2_task.py +0 -95
- package/skills/single-work-analysis/scripts/platform/__init__.py +0 -0
- package/skills/single-work-analysis/scripts/platform/douyin/__init__.py +0 -0
- package/skills/single-work-analysis/scripts/platform/douyin/douyin_video_type_matrix.py +0 -224
- package/skills/single-work-analysis/scripts/platform/douyin/select_low_quality_video_url.py +0 -200
- package/skills/single-work-analysis/scripts/platform/xiaohongshu/__init__.py +0 -0
- package/skills/single-work-analysis/scripts/writers/__init__.py +0 -0
- package/skills/single-work-analysis/scripts/writers/write_benchmark_card.py +0 -1402
- /package/skills/{creator-analysis → social-media-crawl}/scripts/core/bootstrap_env.py +0 -0
- /package/skills/{creator-analysis → social-media-crawl}/scripts/core/extract_pipeline.py +0 -0
- /package/skills/{creator-analysis/scripts/platform/douyin → social-media-crawl/scripts/pipelines}/douyin_video_type_matrix.py +0 -0
- /package/skills/{creator-analysis/scripts/author_home/collectors → social-media-crawl/scripts/pipelines}/homepage_collectors.py +0 -0
- /package/skills/{creator-analysis/scripts/platform/douyin → social-media-crawl/scripts/pipelines}/select_low_quality_video_url.py +0 -0
|
@@ -1,20 +0,0 @@
|
|
|
1
|
-
# Single-Item ASR and Failure Handling
|
|
2
|
-
|
|
3
|
-
## Video ASR
|
|
4
|
-
|
|
5
|
-
1. Read `references/service-guides/asr-u2-u3-fallback.md` first and follow the shared flow: U2 primary path -> 90-second soft observation -> 120-second hard fallback -> U3 -> back to U2.
|
|
6
|
-
2. If the route already returns `subtitle_raw`, map it to `asr_raw` first.
|
|
7
|
-
3. If `subtitle_raw` is unavailable, call ASR with `video_download_url`.
|
|
8
|
-
4. Derive `asr_clean` only from `asr_raw` through the cleaning rules.
|
|
9
|
-
|
|
10
|
-
## Timeout and Fallback
|
|
11
|
-
|
|
12
|
-
- 90 seconds: soft observation threshold.
|
|
13
|
-
- 120 seconds: hard fallback threshold.
|
|
14
|
-
- If there is still no complete `asr_raw` after 120 seconds, use the upload-media -> public URL -> ASR retry fallback path.
|
|
15
|
-
|
|
16
|
-
## Failure End State
|
|
17
|
-
|
|
18
|
-
- If the upstream media-upload route is unavailable, or if `asr_raw` is still unavailable after fallback, keep the fact card.
|
|
19
|
-
- Return `incomplete` in that state.
|
|
20
|
-
- Do not fabricate `primary_text`, and do not output analysis conclusions that depend on missing main text.
|
|
@@ -1,58 +0,0 @@
|
|
|
1
|
-
schema_version: v1
|
|
2
|
-
profile: default
|
|
3
|
-
|
|
4
|
-
runtime:
|
|
5
|
-
base_url: "https://api.tikomni.com"
|
|
6
|
-
auth_env_key: "TIKOMNI_API_KEY"
|
|
7
|
-
timeout_ms: 60000
|
|
8
|
-
|
|
9
|
-
storage_routes:
|
|
10
|
-
default:
|
|
11
|
-
root_dir: ""
|
|
12
|
-
runs_dir: "_runs"
|
|
13
|
-
results_dir: "results"
|
|
14
|
-
errors_dir: "_errors"
|
|
15
|
-
content_kind_card_type:
|
|
16
|
-
single_video: work
|
|
17
|
-
work: work
|
|
18
|
-
author_home: author_sample_work
|
|
19
|
-
author_sample_work: author_sample_work
|
|
20
|
-
author_analysis: author
|
|
21
|
-
card_type_routes:
|
|
22
|
-
work:
|
|
23
|
-
prefix: "CBV"
|
|
24
|
-
parts:
|
|
25
|
-
- "内容系统"
|
|
26
|
-
- "对标研究"
|
|
27
|
-
- "作品卡"
|
|
28
|
-
author:
|
|
29
|
-
prefix: "CBA"
|
|
30
|
-
parts:
|
|
31
|
-
- "内容系统"
|
|
32
|
-
- "对标研究"
|
|
33
|
-
- "作者卡"
|
|
34
|
-
author_sample_work:
|
|
35
|
-
prefix: "CBV"
|
|
36
|
-
parts:
|
|
37
|
-
- "内容系统"
|
|
38
|
-
- "对标研究"
|
|
39
|
-
- "作者样本卡"
|
|
40
|
-
- "{platform}-{author_slug}"
|
|
41
|
-
|
|
42
|
-
naming_rules:
|
|
43
|
-
card_filename_pattern: "{prefix}-{author_slug}-{title_slug}{ext}"
|
|
44
|
-
json_filename_pattern: "{timestamp}-{platform}-{identifier}{ext}"
|
|
45
|
-
|
|
46
|
-
asr_strategy:
|
|
47
|
-
poll_interval_sec: 3.0
|
|
48
|
-
max_polls: 30
|
|
49
|
-
submit_retry:
|
|
50
|
-
douyin_video:
|
|
51
|
-
max_retries: 2
|
|
52
|
-
backoff_ms: 1500
|
|
53
|
-
xiaohongshu_note:
|
|
54
|
-
max_retries: 0
|
|
55
|
-
backoff_ms: 0
|
|
56
|
-
u2_timeout_retry:
|
|
57
|
-
enabled: true
|
|
58
|
-
max_retries: 3
|
|
@@ -1,41 +0,0 @@
|
|
|
1
|
-
# Work Card Fields
|
|
2
|
-
|
|
3
|
-
## Final Display Fields
|
|
4
|
-
|
|
5
|
-
- `platform`
|
|
6
|
-
- `platform_work_id`
|
|
7
|
-
- `platform_author_id`
|
|
8
|
-
- `author_handle`
|
|
9
|
-
- `title`
|
|
10
|
-
- `caption_raw`
|
|
11
|
-
- `work_modality`
|
|
12
|
-
- `published_date`
|
|
13
|
-
- `digg_count`
|
|
14
|
-
- `comment_count`
|
|
15
|
-
- `collect_count`
|
|
16
|
-
- `share_count`
|
|
17
|
-
- `play_count`
|
|
18
|
-
- `cover_image`
|
|
19
|
-
- `source_url`
|
|
20
|
-
- `share_url`
|
|
21
|
-
- `primary_text`
|
|
22
|
-
|
|
23
|
-
## Video-Only Additional Fields
|
|
24
|
-
|
|
25
|
-
- `asr_raw`
|
|
26
|
-
- `video_download_url`
|
|
27
|
-
|
|
28
|
-
## Key Semantics
|
|
29
|
-
|
|
30
|
-
- `caption_raw` is the author-written description, caption, or body text. It is not subtitles and it is not raw ASR.
|
|
31
|
-
- `primary_text` is the main display text and the main analysis text:
|
|
32
|
-
- video: `primary_text = asr_clean`
|
|
33
|
-
- text: `primary_text = caption_raw`
|
|
34
|
-
- `video_download_url` is a required field for video items and should default to the no-watermark download URL when available.
|
|
35
|
-
- `subtitle_raw` is a collection-layer source field and should not appear in the final work-card body.
|
|
36
|
-
|
|
37
|
-
## Missing-Value Rules
|
|
38
|
-
|
|
39
|
-
- Missing numeric fields should be rendered as `N/A` in the display layer.
|
|
40
|
-
- Preserve `0` when the platform explicitly returns `0`.
|
|
41
|
-
- Generate `published_date` in the display timezone, with `Asia/Shanghai` as the default.
|
|
@@ -1,47 +0,0 @@
|
|
|
1
|
-
# Douyin Single Content Guide
|
|
2
|
-
|
|
3
|
-
## Read This First
|
|
4
|
-
|
|
5
|
-
- Use this guide first for Douyin single-item tasks.
|
|
6
|
-
- The validated chain in this repository currently covers share URL -> single-video detail -> ASR when needed.
|
|
7
|
-
|
|
8
|
-
## Preferred Resources
|
|
9
|
-
|
|
10
|
-
- title: `title`
|
|
11
|
-
- caption: `desc`
|
|
12
|
-
- work ID: `aweme_id`
|
|
13
|
-
- author ID: stable author identifier
|
|
14
|
-
- author handle: `short_id` / `unique_id`
|
|
15
|
-
- video download URL: prefer the no-watermark download URL
|
|
16
|
-
|
|
17
|
-
## Preferred Route Chain
|
|
18
|
-
|
|
19
|
-
1. Primary route: `GET /api/u1/v1/douyin/app/v3/fetch_one_video_by_share_url`
|
|
20
|
-
- Required input: `share_url`
|
|
21
|
-
- Purpose: fetch single-item detail, basic author fields, engagement metrics, and media resources.
|
|
22
|
-
2. Fallback route: `GET /api/u1/v1/douyin/web/fetch_one_video_by_share_url`
|
|
23
|
-
- Required input: `share_url`
|
|
24
|
-
- Purpose: fallback when the app route fails or returns insufficient fields.
|
|
25
|
-
3. Video transcription:
|
|
26
|
-
- `POST /api/u2/v1/services/audio/asr/transcription`
|
|
27
|
-
- polling: `POST /api/u2/v1/tasks/{task_id}`
|
|
28
|
-
- key request-body field: `input.file_urls[]`
|
|
29
|
-
- Purpose: produce `asr_raw` when the platform does not return usable subtitles.
|
|
30
|
-
|
|
31
|
-
## Unified Fields To Fill
|
|
32
|
-
|
|
33
|
-
- required fields: `platform`, `platform_work_id`, `platform_author_id`, `author_handle`, `title`, `caption_raw`, `work_modality`
|
|
34
|
-
- engagement metrics: `digg_count`, `comment_count`, `collect_count`, `share_count`, `play_count`
|
|
35
|
-
- source links: `source_url`, `share_url`, `cover_image`
|
|
36
|
-
- video-only fields: `video_download_url`, `asr_raw`
|
|
37
|
-
|
|
38
|
-
## Route Rules
|
|
39
|
-
|
|
40
|
-
- If the user provides only a share URL, use the primary route chain directly instead of searching for other detail routes first.
|
|
41
|
-
- Prefer platform-native subtitles for video items. Call U2 ASR only when usable `subtitle_raw` or `asr_raw` is missing.
|
|
42
|
-
- If U2 still has no result after 120 seconds, follow `references/service-guides/asr-u2-u3-fallback.md` and use U3 fallback.
|
|
43
|
-
- If the target is comments, search, rankings, or another non-single-item task, leave this guide and go back to `references/api-capability-index.md` for route discovery.
|
|
44
|
-
|
|
45
|
-
## Current Runnable Implementation
|
|
46
|
-
|
|
47
|
-
- `skills/single-work-analysis/scripts/platform/douyin/`
|
|
@@ -1,43 +0,0 @@
|
|
|
1
|
-
# Generic Single-Content Guide
|
|
2
|
-
|
|
3
|
-
## Goal
|
|
4
|
-
|
|
5
|
-
Map an unfamiliar platform's single content item into the unified work-card field dictionary and then complete the single-item analysis.
|
|
6
|
-
|
|
7
|
-
## Read Order
|
|
8
|
-
|
|
9
|
-
- Start with `references/api-capability-index.md` to find the relevant platform tag.
|
|
10
|
-
- Read the matching `references/api-tags/<tag>.md` for route summaries, inputs, request bodies, and success-response summaries.
|
|
11
|
-
- Prioritize routes related to `detail / post / note / video / article / comment / download / subtitle`.
|
|
12
|
-
- Decide whether extra comment, subtitle, media-download, or author-supplement routes are needed.
|
|
13
|
-
|
|
14
|
-
## Minimum Mapping Checklist
|
|
15
|
-
|
|
16
|
-
- `work_modality`
|
|
17
|
-
- `title`
|
|
18
|
-
- `caption_raw`
|
|
19
|
-
- `platform_work_id`
|
|
20
|
-
- `platform_author_id`
|
|
21
|
-
- `author_handle`
|
|
22
|
-
- `source_url`
|
|
23
|
-
- `share_url`
|
|
24
|
-
- for video items: `video_download_url`
|
|
25
|
-
- engagement metrics: digg, comment, collect, share, play
|
|
26
|
-
|
|
27
|
-
## Route Rules
|
|
28
|
-
|
|
29
|
-
- The detail route must reliably provide `platform_work_id`, main text, author identity, and at least one of media URL or cover image.
|
|
30
|
-
- If the detail route does not return subtitles for a video item, keep searching for a subtitle route or a usable download URL before entering ASR.
|
|
31
|
-
- If the platform offers App / Web / V2 / V3 variants at the same time, prefer the version with fuller fields and more stable behavior, and keep a recorded fallback.
|
|
32
|
-
- Do not skip required-field validation just because one route returns some usable data.
|
|
33
|
-
- If U2 still has no result after 120 seconds, follow `references/service-guides/asr-u2-u3-fallback.md` and use U3 fallback.
|
|
34
|
-
|
|
35
|
-
## Additional Video Requirements
|
|
36
|
-
|
|
37
|
-
- If platform subtitles exist, map them to `subtitle_raw` first and then normalize into `asr_raw`.
|
|
38
|
-
- If subtitles do not exist, ensure `video_download_url` first and then call ASR.
|
|
39
|
-
|
|
40
|
-
## Current Runnable Implementation
|
|
41
|
-
|
|
42
|
-
- `skills/single-work-analysis/scripts/platform/`
|
|
43
|
-
- `skills/single-work-analysis/scripts/core/`
|
|
@@ -1,54 +0,0 @@
|
|
|
1
|
-
# Xiaohongshu Single Content Guide
|
|
2
|
-
|
|
3
|
-
## Read This First
|
|
4
|
-
|
|
5
|
-
- Use this guide first for Xiaohongshu single-item tasks.
|
|
6
|
-
- The validated route chain in this repository is `APP_V2 -> APP_V1 -> WEB_V2 -> WEB_V7`, with the detail route chosen by note type.
|
|
7
|
-
|
|
8
|
-
## Preferred Resources
|
|
9
|
-
|
|
10
|
-
- title: `title`
|
|
11
|
-
- caption: `desc` / `content`
|
|
12
|
-
- work ID: `note_id`
|
|
13
|
-
- author ID: platform author identifier
|
|
14
|
-
- author handle: readable account identifier
|
|
15
|
-
- for video notes, check platform-native subtitles before deciding whether ASR is needed
|
|
16
|
-
|
|
17
|
-
## Preferred Route Chain
|
|
18
|
-
|
|
19
|
-
1. Primary routes:
|
|
20
|
-
- `GET /api/u1/v1/xiaohongshu/app_v2/get_video_note_detail`
|
|
21
|
-
- `GET /api/u1/v1/xiaohongshu/app_v2/get_image_note_detail`
|
|
22
|
-
- `GET /api/u1/v1/xiaohongshu/app_v2/get_mixed_note_detail`
|
|
23
|
-
- Typical input: `note_id` or `share_text`
|
|
24
|
-
- Purpose: fetch the most complete note detail based on note type.
|
|
25
|
-
2. Fallback 1: `GET /api/u1/v1/xiaohongshu/app/get_note_info`
|
|
26
|
-
- Typical input: `note_id` or `share_text`
|
|
27
|
-
3. Fallback 2:
|
|
28
|
-
- `GET /api/u1/v1/xiaohongshu/web_v2/fetch_feed_notes_v2`
|
|
29
|
-
- Required input: `note_id`
|
|
30
|
-
- `GET /api/u1/v1/xiaohongshu/web_v2/fetch_feed_notes_v3`
|
|
31
|
-
- Required input: `short_url`
|
|
32
|
-
4. Fallback 3: `GET /api/u1/v1/xiaohongshu/web/get_note_info_v7`
|
|
33
|
-
- Typical input: `note_id` or `share_text`
|
|
34
|
-
5. Video transcription:
|
|
35
|
-
- `POST /api/u2/v1/services/audio/asr/transcription`
|
|
36
|
-
- `POST /api/u2/v1/tasks/{task_id}`
|
|
37
|
-
|
|
38
|
-
## Unified Fields To Fill
|
|
39
|
-
|
|
40
|
-
- required fields: `platform`, `platform_work_id`, `platform_author_id`, `author_handle`, `title`, `caption_raw`, `work_modality`
|
|
41
|
-
- engagement metrics: `digg_count`, `comment_count`, `collect_count`, `share_count`, `play_count`
|
|
42
|
-
- source links: `source_url`, `share_url`, `cover_image`
|
|
43
|
-
- video-only fields: `video_download_url`, `asr_raw`
|
|
44
|
-
|
|
45
|
-
## Route Rules
|
|
46
|
-
|
|
47
|
-
- If the user provides only a short link, try parsing `note_id` from `share_text` first. Use the `short_url`-specific WEB_V2 route only when parsing fails.
|
|
48
|
-
- If `note_id` is already known, query by `note_id` directly instead of going through the share-link path.
|
|
49
|
-
- Prefer platform-native subtitles for video notes. Trigger U2 ASR only when subtitles are missing and a usable `video_download_url` exists.
|
|
50
|
-
- If U2 still has no result after 120 seconds, follow `references/service-guides/asr-u2-u3-fallback.md` and use U3 fallback.
|
|
51
|
-
|
|
52
|
-
## Current Runnable Implementation
|
|
53
|
-
|
|
54
|
-
- `skills/single-work-analysis/scripts/platform/xiaohongshu/`
|
|
@@ -1,28 +0,0 @@
|
|
|
1
|
-
# Prompt Contract · ASR_CLEAN
|
|
2
|
-
|
|
3
|
-
## Inputs
|
|
4
|
-
- `raw_content`
|
|
5
|
-
- `asr_raw`(统一字幕/转写文本主字段)
|
|
6
|
-
- `asr_clean`(遗留兼容字段,仅可作为附加输入)
|
|
7
|
-
|
|
8
|
-
## Method (stable)
|
|
9
|
-
1. 选择输入基底:优先 `asr_raw`,否则 `raw_content`,最后才允许兼容读取 `asr_clean`。
|
|
10
|
-
2. 去噪清洗:移除明显口头禅、重复叠词、异常空白。
|
|
11
|
-
3. 语义断句:按 `。!?;\n` 断句,并补齐句末中文标点。
|
|
12
|
-
4. 分段规则:每句单独一行,每段 2~4 句,段间空一行。
|
|
13
|
-
5. 保真约束:不新增事实、不改写核心结论、不输出提示词文本。
|
|
14
|
-
|
|
15
|
-
## Output Format
|
|
16
|
-
- 纯文本多段落:
|
|
17
|
-
- 每句一行
|
|
18
|
-
- 段间空行
|
|
19
|
-
|
|
20
|
-
## Constraints
|
|
21
|
-
- 不把清洗提示词写入正文。
|
|
22
|
-
- 不生成“总结式改写”,仅做可读性清洗。
|
|
23
|
-
- 不得凭空补充数据、观点和案例。
|
|
24
|
-
|
|
25
|
-
## Fallback / Data-insufficient
|
|
26
|
-
- 两个输入均为空:输出空字符串。
|
|
27
|
-
- 断句失败:保留原文并补单句句号。
|
|
28
|
-
- 超长段落:强制按 3 句一段切分。
|
|
@@ -1,24 +0,0 @@
|
|
|
1
|
-
# Prompt Contract · CTA
|
|
2
|
-
|
|
3
|
-
## Inputs
|
|
4
|
-
- `asr_raw`(主字段)
|
|
5
|
-
- `asr_clean`(遗留兼容字段)
|
|
6
|
-
|
|
7
|
-
## Method (stable)
|
|
8
|
-
1. 扫描 CTA 关键词句(评论/关注/私信/收藏/转发/领取/报名/咨询/下单)。
|
|
9
|
-
2. 判定 CTA 类型:互动型 / 线索型 / 转化型。
|
|
10
|
-
3. 提取关键动作句(默认取最后一个 CTA 句)。
|
|
11
|
-
4. 计算 CTA 密度(CTA句数/总句数)。
|
|
12
|
-
|
|
13
|
-
## Output Format
|
|
14
|
-
- `CTA类型`:`互动型、线索型...`
|
|
15
|
-
- `关键动作句`:`原句`
|
|
16
|
-
- `CTA密度`:`x/y 句`
|
|
17
|
-
|
|
18
|
-
## Constraints
|
|
19
|
-
- 必须给出至少一个动作句或明确说明缺失。
|
|
20
|
-
- 不得虚构转化链路。
|
|
21
|
-
|
|
22
|
-
## Fallback / Data-insufficient
|
|
23
|
-
- 字幕/转写文本为空:输出“数据不足”。
|
|
24
|
-
- 无 CTA 句:输出“未检测到明确行动号召”,并给最小补全建议。
|
|
@@ -1,25 +0,0 @@
|
|
|
1
|
-
# Prompt Contract · Hook
|
|
2
|
-
|
|
3
|
-
## Inputs
|
|
4
|
-
- `title`
|
|
5
|
-
- `asr_raw`(主字段)
|
|
6
|
-
- `asr_clean`(遗留兼容字段)
|
|
7
|
-
|
|
8
|
-
## Method (stable)
|
|
9
|
-
1. 提取开头钩子:ASR 首句(无则用标题)。
|
|
10
|
-
2. 提取中段钩子:ASR 中位句。
|
|
11
|
-
3. 提取结尾钩子:最后一句含 CTA/召回词的句子。
|
|
12
|
-
4. 开头钩子类型判定:疑问式 / 反常识式 / 场景代入式 / 陈述式。
|
|
13
|
-
|
|
14
|
-
## Output Format
|
|
15
|
-
- `开头钩子(类型)`:`原句`
|
|
16
|
-
- `中段钩子`:`原句`
|
|
17
|
-
- `结尾钩子`:`原句`
|
|
18
|
-
|
|
19
|
-
## Constraints
|
|
20
|
-
- 必须优先输出原话,不做大幅改写。
|
|
21
|
-
- 结尾若无动作句要明确标注“未检测到明确结尾钩子”。
|
|
22
|
-
|
|
23
|
-
## Fallback / Data-insufficient
|
|
24
|
-
- 标题与 ASR 均缺失:三项输出“数据不足”。
|
|
25
|
-
- 中段不足:输出“数据不足(中段文本不足)”。
|
|
@@ -1,47 +0,0 @@
|
|
|
1
|
-
# Prompt Contract · 洞察分析(insight)
|
|
2
|
-
|
|
3
|
-
## User Prompt (Verbatim)
|
|
4
|
-
|
|
5
|
-
```text
|
|
6
|
-
=== 你的身份 ===
|
|
7
|
-
一位见证了无数内容起落的观察者,曾亲手打造过刷屏级作品,也经历过石沉大海的落寞。
|
|
8
|
-
你能透过表象看到人性的涌动,理解为什么有些内容能击中集体潜意识。
|
|
9
|
-
=== 核心信念 ===
|
|
10
|
-
爆款不是运气的产物,而是人性规律的必然显现。
|
|
11
|
-
真正的洞察者不追逐热点,而是理解热点背后的情感暗流。
|
|
12
|
-
=== 分析维度 ===
|
|
13
|
-
- 情绪共振点:触发了哪根集体心弦
|
|
14
|
-
- 认知势能差:创造了怎样的信息落差
|
|
15
|
-
- 社交货币值:给了人们什么谈资筹码
|
|
16
|
-
- 行动驱动力:激发了哪种传播冲动
|
|
17
|
-
=== 洞察深度 ===
|
|
18
|
-
像考古学家解读文物,你要揭示:
|
|
19
|
-
- 表层吸引力(第一眼为什么会停留)
|
|
20
|
-
- 中层粘性(为什么会看完)
|
|
21
|
-
- 深层共鸣(为什么会转发)
|
|
22
|
-
- 底层动机(满足了什么心理需求)
|
|
23
|
-
=== 表达方式 ===
|
|
24
|
-
如同品酒师描述佳酿——既有专业的解构,也有诗意的感受。
|
|
25
|
-
用清晰的逻辑拆解成功密码,用生动的类比让洞察可感知。
|
|
26
|
-
=== 独特价值 ===
|
|
27
|
-
不做事后诸葛亮式的解释,而是提炼可复用的原理。
|
|
28
|
-
让创作者读完后恍然大悟:"原来爆款的秘密藏在这里。"
|
|
29
|
-
=== 分析美学 ===
|
|
30
|
-
呈现如解剖图般精准,又如水墨画般留有想象空间。
|
|
31
|
-
既见树木(具体技巧),也见森林(传播规律)。
|
|
32
|
-
=== 终极使命 ===
|
|
33
|
-
帮助创作者建立"爆款直觉"——
|
|
34
|
-
不是教他们追逐每一个热点,而是理解什么样的内容天生具有传播基因。
|
|
35
|
-
```
|
|
36
|
-
|
|
37
|
-
## Inputs
|
|
38
|
-
- `title`
|
|
39
|
-
- `asr_raw`(优先)
|
|
40
|
-
- `raw_content`(`asr_raw` 缺失时回退)
|
|
41
|
-
- `asr_clean`(遗留兼容字段)
|
|
42
|
-
- 指标:`digg_count/comment_count/collect_count/share_count/play_count`
|
|
43
|
-
|
|
44
|
-
## Constraints
|
|
45
|
-
- 仅基于输入字段推断,不得臆造事实。
|
|
46
|
-
- 输出为中文,短句、可执行、可追溯。
|
|
47
|
-
- 缺数据时明确标注“数据不足”。
|
|
@@ -1,25 +0,0 @@
|
|
|
1
|
-
# Prompt Contract · 结构(structure)
|
|
2
|
-
|
|
3
|
-
## Inputs
|
|
4
|
-
- `asr_raw`(主字段)
|
|
5
|
-
- `asr_clean`(遗留兼容字段,不应被前置依赖)
|
|
6
|
-
|
|
7
|
-
## Method (stable)
|
|
8
|
-
1. 对每句进行结构标签检测:`钩子/冲突/转折/举证/CTA`。
|
|
9
|
-
2. 统计各标签覆盖次数。
|
|
10
|
-
3. 根据覆盖度判定模板:
|
|
11
|
-
- 覆盖 >=4:`钩子→冲突→转折→举证→CTA`
|
|
12
|
-
- 否则:`钩子→观点→补充说明`
|
|
13
|
-
4. 输出缺失模块,作为改写优先级。
|
|
14
|
-
|
|
15
|
-
## Output Format
|
|
16
|
-
- `结构标签覆盖`:`钩子:a, 冲突:b, 转折:c, 举证:d, CTA:e`
|
|
17
|
-
- `模板判定`:`...`
|
|
18
|
-
- `缺失模块`:`模块1、模块2`(无则“无”)
|
|
19
|
-
|
|
20
|
-
## Constraints
|
|
21
|
-
- 所有判断必须来自句级关键词命中。
|
|
22
|
-
- 不允许跳过缺失项输出。
|
|
23
|
-
|
|
24
|
-
## Fallback / Data-insufficient
|
|
25
|
-
- 无有效分句:输出“数据不足”,并提示“补充字幕/转写文本后再做结构标注”。
|
|
@@ -1,27 +0,0 @@
|
|
|
1
|
-
# Prompt Contract · 文风(style)
|
|
2
|
-
|
|
3
|
-
## Inputs
|
|
4
|
-
- `title`
|
|
5
|
-
- `asr_raw`(主字段)
|
|
6
|
-
- `asr_clean`(遗留兼容字段)
|
|
7
|
-
|
|
8
|
-
## Method (stable)
|
|
9
|
-
1. 分句后统计平均句长(短/中/长)。
|
|
10
|
-
2. 统计疑问/感叹/陈述分布。
|
|
11
|
-
3. 统计人设代词(我/你/我们/大家)与修辞触发词(不是/而是/其实/必须)。
|
|
12
|
-
4. 输出“人设+句式+语气”三层结论。
|
|
13
|
-
|
|
14
|
-
## Output Format
|
|
15
|
-
- `句式结构`:`<类型>,平均句长约 X 字`
|
|
16
|
-
- `语气分布`:`疑问 A / 感叹 B / 陈述 C`
|
|
17
|
-
- `人设与修辞`:`人设代词命中 N 次,强调/转折词命中 M 次`
|
|
18
|
-
|
|
19
|
-
## Constraints
|
|
20
|
-
- 至少 2 个统计指标;禁止空泛描述。
|
|
21
|
-
- 仅基于文本统计,不猜测作者背景。
|
|
22
|
-
- 不输出表格。
|
|
23
|
-
|
|
24
|
-
## Fallback / Data-insufficient
|
|
25
|
-
- `asr_raw`(主字段)
|
|
26
|
-
- `asr_clean`(遗留兼容字段) 为空:三项均输出“数据不足”。
|
|
27
|
-
- 分句失败:标注“需人工复核”。
|
|
@@ -1,29 +0,0 @@
|
|
|
1
|
-
# Prompt Contract · 总结(summary)
|
|
2
|
-
|
|
3
|
-
## Inputs
|
|
4
|
-
- `topic_score`
|
|
5
|
-
- `style_score`
|
|
6
|
-
- `hook_score`
|
|
7
|
-
- `structure_score`
|
|
8
|
-
- `cta_score`
|
|
9
|
-
- 各模块 `gaps`
|
|
10
|
-
|
|
11
|
-
## Method (stable)
|
|
12
|
-
1. 计算 5 模块平均分。
|
|
13
|
-
2. 结论分级:
|
|
14
|
-
- `>=4.2`:可直接复用
|
|
15
|
-
- `3.4~4.19`:可用但需小幅优化
|
|
16
|
-
- `<3.4`:需重写关键模块
|
|
17
|
-
3. 选择最低 1-2 个模块,输出针对性建议(优先 gaps)。
|
|
18
|
-
|
|
19
|
-
## Output Format
|
|
20
|
-
- `结论`:`综合评分 X/5,判定为“...”`
|
|
21
|
-
- `建议`:最多 3 条,短句、可执行。
|
|
22
|
-
|
|
23
|
-
## Constraints
|
|
24
|
-
- 只输出“结论+建议”,不再拆“好/差/改写”。
|
|
25
|
-
- 建议必须指向具体模块。
|
|
26
|
-
|
|
27
|
-
## Fallback / Data-insufficient
|
|
28
|
-
- 若分数无法计算:输出“数据不足,需先完成5模块分析”。
|
|
29
|
-
- 若无 gaps:输出“继续做A/B测试验证Hook与CTA”。
|
|
@@ -1,29 +0,0 @@
|
|
|
1
|
-
# Prompt Contract · 选题(topic)
|
|
2
|
-
|
|
3
|
-
## Inputs
|
|
4
|
-
- `title`(作品标题,必填优先)
|
|
5
|
-
- `asr_raw`(统一字幕/转写文本主字段)
|
|
6
|
-
- `asr_clean`(遗留兼容字段,不应作为主依赖)
|
|
7
|
-
- `category`(可选,已有分类)
|
|
8
|
-
- `tags`(可选)
|
|
9
|
-
|
|
10
|
-
## Method (stable)
|
|
11
|
-
1. 按关键词命中做**基础类型三分**:流量型 / 人设型 / 营销型。
|
|
12
|
-
2. 结合标题+字幕/转写文本做**弱主题线索提取**(Top 3),不得输出 rigid 赛道归类。
|
|
13
|
-
3. 从问题词/痛点词提取**受众痛点**。
|
|
14
|
-
4. 输出必须给出命中证据,不得仅主观判断。
|
|
15
|
-
|
|
16
|
-
## Output Format
|
|
17
|
-
- `主题线索`:`词1、词2、词3`
|
|
18
|
-
- `受众痛点`:`痛点1、痛点2`
|
|
19
|
-
- `说明`:`仅为弱语义线索,不是 rigid topic 分类`
|
|
20
|
-
|
|
21
|
-
## Constraints
|
|
22
|
-
- 只使用输入数据推断,不引用外部知识。
|
|
23
|
-
- 结论必须可追溯到词命中或句段。
|
|
24
|
-
- 不输出表格。
|
|
25
|
-
|
|
26
|
-
## Fallback / Data-insufficient
|
|
27
|
-
- `title` 与 `asr_raw` 均缺失:输出“数据不足”。
|
|
28
|
-
- 主题词命中为 0:输出“数据不足(未检测到显著主题词)”。
|
|
29
|
-
- 痛点词命中为 0:输出“以降低门槛/快速落地为主(显性痛点词不足)”。
|
|
@@ -1,39 +0,0 @@
|
|
|
1
|
-
{
|
|
2
|
-
"$schema": "https://json-schema.org/draft/2020-12/schema",
|
|
3
|
-
"title": "single-work-analysis work card",
|
|
4
|
-
"type": "object",
|
|
5
|
-
"required": [
|
|
6
|
-
"platform",
|
|
7
|
-
"platform_work_id",
|
|
8
|
-
"platform_author_id",
|
|
9
|
-
"author_handle",
|
|
10
|
-
"caption_raw",
|
|
11
|
-
"work_modality",
|
|
12
|
-
"published_date",
|
|
13
|
-
"primary_text",
|
|
14
|
-
"primary_text_source"
|
|
15
|
-
],
|
|
16
|
-
"properties": {
|
|
17
|
-
"platform": { "type": "string", "minLength": 1 },
|
|
18
|
-
"platform_work_id": { "type": "string", "minLength": 1 },
|
|
19
|
-
"platform_author_id": { "type": "string", "minLength": 1 },
|
|
20
|
-
"author_handle": { "type": "string" },
|
|
21
|
-
"title": { "type": "string" },
|
|
22
|
-
"caption_raw": { "type": "string" },
|
|
23
|
-
"work_modality": { "type": "string", "enum": ["video", "text"] },
|
|
24
|
-
"published_date": { "type": "string" },
|
|
25
|
-
"digg_count": { "type": "integer", "minimum": 0 },
|
|
26
|
-
"comment_count": { "type": "integer", "minimum": 0 },
|
|
27
|
-
"collect_count": { "type": "integer", "minimum": 0 },
|
|
28
|
-
"share_count": { "type": "integer", "minimum": 0 },
|
|
29
|
-
"play_count": { "type": ["integer", "null"], "minimum": 0 },
|
|
30
|
-
"cover_image": { "type": "string" },
|
|
31
|
-
"source_url": { "type": "string" },
|
|
32
|
-
"share_url": { "type": "string" },
|
|
33
|
-
"primary_text": { "type": "string" },
|
|
34
|
-
"primary_text_source": { "type": "string", "enum": ["asr_clean", "caption_raw"] },
|
|
35
|
-
"asr_raw": { "type": "string" },
|
|
36
|
-
"video_download_url": { "type": "string" }
|
|
37
|
-
},
|
|
38
|
-
"additionalProperties": true
|
|
39
|
-
}
|
|
@@ -1,75 +0,0 @@
|
|
|
1
|
-
# U2 ASR and U3 Public URL Fallback
|
|
2
|
-
|
|
3
|
-
## Purpose
|
|
4
|
-
|
|
5
|
-
- This guide defines the primary ASR path and timeout fallback for video tasks. It does not apply to text-only works.
|
|
6
|
-
- Always try U2 ASR first. U3 is fallback-only and must not bypass U2 by default.
|
|
7
|
-
- If a U1 detail route returns a no-watermark download link or another download URL that may not be publicly readable, use this guide to decide when to switch to U3.
|
|
8
|
-
- Source: `https://app.tikomni.com/openapi/tikomni-openapi.full.with-u2.public.latest.json`
|
|
9
|
-
- Fetched at: `2026-03-08T06:54:04+00:00`
|
|
10
|
-
|
|
11
|
-
## Fixed Policy
|
|
12
|
-
|
|
13
|
-
1. Call a U1 detail route first and collect `video_download_url`, a no-watermark download URL, or another directly downloadable media URL.
|
|
14
|
-
2. Submit that URL to U2 ASR directly. Do not start with U3.
|
|
15
|
-
3. If there is still no complete result after 90 seconds, stay in soft observation and keep the primary path unchanged.
|
|
16
|
-
4. If there is still no result or still no complete result after 120 seconds, treat the source URL as likely not publicly readable and only then allow U3 fallback.
|
|
17
|
-
5. After U3 completes, obtain a public URL and submit it to U2 ASR again.
|
|
18
|
-
6. If U3 or the second U2 attempt still fails, keep the fact card and return `incomplete`. Do not fabricate the main text or any analysis conclusion.
|
|
19
|
-
|
|
20
|
-
## Scenario Notes
|
|
21
|
-
|
|
22
|
-
- Single content task: run this flow only for the current item.
|
|
23
|
-
- Creator batch task: apply U3 fallback only to the subset that still has no result after 120 seconds. Do not re-upload items that already succeeded.
|
|
24
|
-
|
|
25
|
-
## Route Facts
|
|
26
|
-
|
|
27
|
-
### Submit U2 ASR job
|
|
28
|
-
|
|
29
|
-
- Purpose: Default primary path. Submit the no-watermark or download URL returned by U1 directly to U2 ASR. Do not start with U3.
|
|
30
|
-
- Tag: [`ASR-API`](../api-tags/asr-api.md)
|
|
31
|
-
- Route: `POST /api/u2/v1/services/audio/asr/transcription`
|
|
32
|
-
- Auth: Header `Authorization: Bearer {token}`; docs also allow Cookie `Authorization` as fallback (`HTTPBearer`)
|
|
33
|
-
- Parameters: None
|
|
34
|
-
- Request body: application/json: `input*`{`file_urls*`[string(uri)]}
|
|
35
|
-
- Success response: 200 application/json: `request_id*`:string, `output*`{`task_id*`:string, `task_status*`:string, `submit_time`:string, `scheduled_time`:string, `end_time`:string, `task_metrics`{...}, `results`[object]}, `usage`{...}
|
|
36
|
-
- Full contract: [`api-contracts/asr-api.md#post-api-u2-v1-services-audio-asr-transcription`](../api-contracts/asr-api.md#post-api-u2-v1-services-audio-asr-transcription)
|
|
37
|
-
|
|
38
|
-
### Poll U2 job status
|
|
39
|
-
|
|
40
|
-
- Purpose: Observe job completion. Stay in soft observation after 90 seconds. Trigger U3 fallback only if there is still no result after 120 seconds.
|
|
41
|
-
- Tag: [`ASR-API`](../api-tags/asr-api.md)
|
|
42
|
-
- Route: `POST /api/u2/v1/tasks/{task_id}`
|
|
43
|
-
- Auth: Header `Authorization: Bearer {token}`; docs also allow Cookie `Authorization` as fallback (`HTTPBearer`)
|
|
44
|
-
- Parameters: path: `task_id*`
|
|
45
|
-
- Request body: None
|
|
46
|
-
- Success response: 200 application/json: `time*`:string, `time_stamp*`:integer, `time_zone*`:string, `params*`{`task_id*`:string}, `data*`{`task_id*`:string, `task_status*`:string | null, `platform_task_status*`:string, `is_fully_succeeded*`:boolean, `submit_time`:string, `scheduled_time`:string, `end_time`:string, `task_metrics`{...}, ...}, `code*`:integer, `request_id*`:string, `message*`:string, ...
|
|
47
|
-
- Full contract: [`api-contracts/asr-api.md#post-api-u2-v1-tasks-task-id`](../api-contracts/asr-api.md#post-api-u2-v1-tasks-task-id)
|
|
48
|
-
|
|
49
|
-
### Request U3 upload / relay
|
|
50
|
-
|
|
51
|
-
- Purpose: Use only if U2 still has no result after 120 seconds. Its purpose is to convert a private or non-publicly-readable source link into a public URL.
|
|
52
|
-
- Tag: [`Media-Ingest-API`](../api-tags/media-ingest-api.md)
|
|
53
|
-
- Route: `POST /api/u3/v1/uploads`
|
|
54
|
-
- Auth: Header `Authorization: Bearer {token}`; docs also allow Cookie `Authorization` as fallback (`HTTPBearer`)
|
|
55
|
-
- Parameters: None
|
|
56
|
-
- Request body: application/json: `provider*`:string, `file_name*`:string, `content_type*`:string, `size_bytes*`:integer
|
|
57
|
-
- Success response: 200 application/json: `time*`:string, `time_stamp*`:integer, `time_zone*`:string, `params*`{`provider*`:string, `file_name*`:string, `content_type*`:string, `size_bytes*`:integer}, `data*`{`upload_id*`:string, `provider*`:string, `upload_method*`:string, `upload_url*`:string, `upload_headers*`{...}, `upload_expires_at*`:string, `file_ttl_seconds*`:integer}, `code*`:integer, `request_id*`:string, `message*`:string, ...
|
|
58
|
-
- Full contract: [`api-contracts/media-ingest-api.md#post-api-u3-v1-uploads`](../api-contracts/media-ingest-api.md#post-api-u3-v1-uploads)
|
|
59
|
-
|
|
60
|
-
### Complete U3 upload and get a public URL
|
|
61
|
-
|
|
62
|
-
- Purpose: Completion should return a public URL. Submit that URL to U2 ASR again. If it still fails, keep the fact card and return incomplete.
|
|
63
|
-
- Tag: [`Media-Ingest-API`](../api-tags/media-ingest-api.md)
|
|
64
|
-
- Route: `POST /api/u3/v1/uploads/{upload_id}/complete`
|
|
65
|
-
- Auth: Header `Authorization: Bearer {token}`; docs also allow Cookie `Authorization` as fallback (`HTTPBearer`)
|
|
66
|
-
- Parameters: path: `upload_id*`
|
|
67
|
-
- Request body: application/json: dynamic object
|
|
68
|
-
- Success response: 200 application/json: `time*`:string, `time_stamp*`:integer, `time_zone*`:string, `params*`{`upload_id*`:string}, `data*`{`upload_id*`:string, `provider*`:string, `file_url*`:string, `file_expires_at*`:string}, `code*`:integer, `request_id*`:string, `message*`:string, ...
|
|
69
|
-
- Full contract: [`api-contracts/media-ingest-api.md#post-api-u3-v1-uploads-upload-id-complete`](../api-contracts/media-ingest-api.md#post-api-u3-v1-uploads-upload-id-complete)
|
|
70
|
-
|
|
71
|
-
## Execution Notes
|
|
72
|
-
|
|
73
|
-
- This guide only defines route order and fallback order. It does not replace platform-specific detail-route selection.
|
|
74
|
-
- The U1 source route depends on the platform, for example a Douyin or Xiaohongshu detail route. This guide only requires using the returned download URL first.
|
|
75
|
-
- If the platform already returns usable `subtitle_raw`, map it directly to `asr_raw` instead of calling U2 or U3.
|
|
File without changes
|
|
File without changes
|