{"id":"8e1f47f8-6616-42aa-b9bb-47a98c6b62ef","shortId":"y6nNpx","kind":"skill","title":"citedy-content-ingestion","tagline":"Turn any URL into structured content — YouTube videos (via Gemini Video API), web articles, PDFs, and audio files. Extract transcripts, summaries, and metadata for use in any LLM pipeline. Powered by Citedy.","description":"# Content Ingestion — Skill Instructions\n\n**Connection:** REST API over HTTPS\n**Base URL:** `https://www.citedy.com`\n**Auth:** `Authorization: Bearer $CITEDY_API_KEY`\n\n---\n\n## Overview\n\nTurn any URL into structured content your agent can use. Pass a link — the skill extracts the full text, transcript, metadata, and summary — and returns it as clean structured data ready for your LLM pipeline.\n\nSupported content types:\n\n- **YouTube videos** — full transcription via Gemini Video API (not just captions)\n- **Web articles** — clean article text with metadata\n- **PDF documents** — text extraction from public PDF URLs\n- **Audio files** — transcription from MP3/WAV/M4A files\n\nDifferentiator: YouTube ingestion uses the Gemini Video API for deep video understanding — it goes beyond auto-generated captions, capturing speaker intent, visual context, and structure.\n\nUse this skill as a standalone input node for any LLM pipeline. Feed the output directly into summarization, Q&A, article generation, or knowledge base indexing.\n\n---\n\n## When to Use\n\nUse this skill when the user:\n\n- Asks to extract, transcribe, or summarize a URL\n- Shares a YouTube video and wants the content analyzed or repurposed\n- Shares a PDF link and wants the text extracted\n- Wants to ingest audio content for transcription\n- Is building a pipeline that needs to pull content from the web\n\n---\n\n## Instructions\n\n### Setup\n\nTo authenticate, register your agent and obtain an API key:\n\n1. **Register your agent:**\n\n   ```\n   POST https://www.citedy.com/api/agent/register\n   Content-Type: application/json\n\n   {\n     \"agent_name\": \"My Agent\"\n   }\n   ```\n\n2. **Approve the registration** — you will receive an approval URL in the response. Open it in your browser to confirm.\n\n3. **Save your API key** — after approval, the key (prefixed `citedy_agent_`) is returned. Store it as `CITEDY_API_KEY` in your environment.\n\nAll subsequent requests use `Authorization: Bearer $CITEDY_API_KEY`.\n\n---\n\n## Core Workflow\n\n### Single URL Ingestion\n\n**Step 1 — Submit URL:**\n\n```\nPOST /api/agent/ingest\nAuthorization: Bearer $CITEDY_API_KEY\nContent-Type: application/json\n\n{\n  \"url\": \"https://www.youtube.com/watch?v=example\"\n}\n```\n\nReturns `202 Accepted` with:\n\n```json\n{\n  \"id\": \"job_abc123\",\n  \"status\": \"processing\",\n  \"poll_url\": \"/api/agent/ingest/job_abc123\"\n}\n```\n\nIf the URL was already ingested (cache hit), returns `200 OK` with `\"cached\": true` — costs 1 credit.\n\n**Step 2 — Poll for completion:**\n\n```\nGET /api/agent/ingest/{id}\n```\n\nReturns current status: `processing`, `completed`, or `failed`. Poll every 5–15 seconds. No credit cost.\n\n**Step 3 — Retrieve content:**\n\n```\nGET /api/agent/ingest/{id}/content\n```\n\nReturns the full extracted content, transcript, and metadata. No credit cost.\n\n---\n\n### Batch Ingestion\n\nSubmit up to 20 URLs in a single request:\n\n```\nPOST /api/agent/ingest/batch\nAuthorization: Bearer $CITEDY_API_KEY\nContent-Type: application/json\n\n{\n  \"urls\": [\n    \"https://example.com/article\",\n    \"https://www.youtube.com/watch?v=abc\",\n    \"https://example.com/doc.pdf\"\n  ],\n  \"callback_url\": \"https://your-service.com/webhook\"  // optional\n}\n```\n\nReturns an array of job IDs. If `callback_url` is provided, a POST request is sent to it when all jobs complete.\n\n---\n\n### List Jobs\n\n```\nGET /api/agent/ingest?status=completed&limit=20&offset=0\n```\n\nFilter by status, paginate with limit/offset.\n\n---\n\n## Examples\n\n### Example 1 — YouTube Video\n\n**User:** \"Transcribe this YouTube video: https://www.youtube.com/watch?v=dQw4w9WgXcQ\"\n\n```bash\n# Step 1: Submit\ncurl -X POST https://www.citedy.com/api/agent/ingest \\\n  -H \"Authorization: Bearer $CITEDY_API_KEY\" \\\n  -H \"Content-Type: application/json\" \\\n  -d '{\"url\": \"https://www.youtube.com/watch?v=dQw4w9WgXcQ\"}'\n\n# Step 2: Poll\ncurl https://www.citedy.com/api/agent/ingest/job_abc123 \\\n  -H \"Authorization: Bearer $CITEDY_API_KEY\"\n\n# Step 3: Get content\ncurl https://www.citedy.com/api/agent/ingest/job_abc123/content \\\n  -H \"Authorization: Bearer $CITEDY_API_KEY\"\n```\n\nResponse includes full transcript, video title, duration, and chapter breakdown.\n\n---\n\n### Example 2 — Web Article\n\n**User:** \"Extract the main content from https://techcrunch.com/2026/01/01/ai-trends\"\n\n```bash\ncurl -X POST https://www.citedy.com/api/agent/ingest \\\n  -H \"Authorization: Bearer $CITEDY_API_KEY\" \\\n  -H \"Content-Type: application/json\" \\\n  -d '{\"url\": \"https://techcrunch.com/2026/01/01/ai-trends\"}'\n```\n\nResponse includes clean article text, title, author, publish date, and word count.\n\n---\n\n### Example 3 — Batch Ingestion\n\n**User:** \"I have 5 articles to process\"\n\n```bash\ncurl -X POST https://www.citedy.com/api/agent/ingest/batch \\\n  -H \"Authorization: Bearer $CITEDY_API_KEY\" \\\n  -H \"Content-Type: application/json\" \\\n  -d '{\n    \"urls\": [\n      \"https://example.com/article-1\",\n      \"https://example.com/article-2\",\n      \"https://example.com/article-3\",\n      \"https://www.youtube.com/watch?v=abc123\",\n      \"https://example.com/report.pdf\"\n    ]\n  }'\n```\n\nReturns 5 job IDs. Poll each individually or wait for all to complete.\n\n---\n\n## API Reference\n\n### POST /api/agent/ingest\n\nSubmit a single URL for ingestion.\n\n**Request:**\n\n```json\n{\n  \"url\": \"string (required) — any supported URL\"\n}\n```\n\n**Response 202 (new job):**\n\n```json\n{\n  \"id\": \"job_abc123\",\n  \"status\": \"processing\",\n  \"content_type\": \"youtube_video\",\n  \"poll_url\": \"/api/agent/ingest/job_abc123\",\n  \"estimated_credits\": 5\n}\n```\n\n**Response 200 (cache hit):**\n\n```json\n{\n  \"id\": \"job_abc123\",\n  \"status\": \"completed\",\n  \"cached\": true,\n  \"credits_charged\": 1\n}\n```\n\n---\n\n### GET /api/agent/ingest/{id}\n\nPoll job status. No credit cost.\n\n**Response:**\n\n```json\n{\n  \"id\": \"job_abc123\",\n  \"status\": \"completed\",\n  \"content_type\": \"youtube_video\",\n  \"created_at\": \"2026-03-01T10:00:00Z\",\n  \"completed_at\": \"2026-03-01T10:01:30Z\",\n  \"credits_charged\": 5,\n  \"url\": \"https://www.youtube.com/watch?v=dQw4w9WgXcQ\"\n}\n```\n\nStatus values: `queued` | `processing` | `completed` | `failed`\n\n---\n\n### GET /api/agent/ingest/{id}/content\n\nRetrieve full extracted content. No credit cost.\n\n**Response:**\n\n```json\n{\n  \"id\": \"job_abc123\",\n  \"content_type\": \"youtube_video\",\n  \"url\": \"https://www.youtube.com/watch?v=dQw4w9WgXcQ\",\n  \"metadata\": {\n    \"title\": \"Video Title\",\n    \"author\": \"Channel Name\",\n    \"duration_seconds\": 212,\n    \"published_at\": \"2009-10-25\"\n  },\n  \"transcript\": \"Full transcript text...\",\n  \"summary\": \"Brief summary of the content...\",\n  \"word_count\": 1840,\n  \"language\": \"en\"\n}\n```\n\n---\n\n### POST /api/agent/ingest/batch\n\nSubmit up to 20 URLs at once.\n\n**Request:**\n\n```json\n{\n  \"urls\": [\"string\", \"...\"],\n  \"callback_url\": \"string (optional)\"\n}\n```\n\n**Response 202:**\n\n```json\n{\n  \"jobs\": [\n    { \"url\": \"https://...\", \"id\": \"job_abc123\", \"status\": \"queued\" },\n    { \"url\": \"https://...\", \"id\": \"job_abc124\", \"status\": \"queued\" }\n  ],\n  \"total\": 2\n}\n```\n\n---\n\n### GET /api/agent/ingest\n\nList ingestion jobs.\n\n**Query params:**\n\n- `status` — filter by `queued | processing | completed | failed`\n- `limit` — max results (default 20, max 100)\n- `offset` — pagination offset\n\n**Response:**\n\n```json\n{\n  \"jobs\": [...],\n  \"total\": 42,\n  \"limit\": 20,\n  \"offset\": 0\n}\n```\n\n---\n\n## Glue Tools\n\n### GET /api/agent/health\n\nCheck API availability. 0 credits.\n\n### GET /api/agent/me\n\nReturn current agent identity and credit balance. 0 credits.\n\n### GET /api/agent/status\n\nReturn API status, current rate limit usage, and service health. 0 credits.\n\n---\n\n## Pricing\n\n| Content Type         | Duration / Size | Credits    |\n| -------------------- | --------------- | ---------- |\n| `web_article`        | any             | 1 credits  |\n| `pdf_document`       | any             | 2 credits  |\n| `youtube_video`      | < 10 min        | 5 credits  |\n| `youtube_video`      | 10–30 min       | 15 credits |\n| `youtube_video`      | 30–60 min       | 30 credits |\n| `youtube_video`      | 60–120 min      | 55 credits |\n| `audio_file`         | < 10 min        | 3 credits  |\n| `audio_file`         | 10–30 min       | 8 credits  |\n| `audio_file`         | 30–60 min       | 15 credits |\n| `audio_file`         | 60+ min         | 30 credits |\n| Cache hit (any type) | —               | 1 credits  |\n\nCredits are charged on `completed` status only. Failed jobs are not charged.\n\n---\n\n## Limitations\n\n- **YouTube:** maximum video duration 120 minutes. Videos longer than 120 min are rejected with `DURATION_EXCEEDED`.\n- **Audio files:** maximum file size 50 MB. Files larger than 50 MB are rejected with `SIZE_EXCEEDED`.\n- **Supported content types:** `youtube_video`, `web_article`, `pdf_document`, `audio_file`\n- **Batch size:** maximum 20 URLs per batch request\n- **Private content:** private YouTube videos, paywalled articles, and login-gated content cannot be ingested\n\n---\n\n## Rate Limits\n\n| Endpoint                     | Limit                         |\n| ---------------------------- | ----------------------------- |\n| POST /api/agent/ingest       | 30 requests/hour per tenant   |\n| POST /api/agent/ingest/batch | 5 requests/hour per tenant    |\n| All other endpoints          | 60 requests/minute per tenant |\n\nRate limit headers are included in all responses:\n\n- `X-RateLimit-Limit`\n- `X-RateLimit-Remaining`\n- `X-RateLimit-Reset`\n\n---\n\n## Error Handling\n\n| Error Code                 | HTTP Status | Meaning                            |\n| -------------------------- | ----------- | ---------------------------------- |\n| `INVALID_URL`              | 400         | URL is malformed or unsupported    |\n| `UNSUPPORTED_CONTENT_TYPE` | 400         | Content type not supported         |\n| `DURATION_EXCEEDED`        | 400         | YouTube video longer than 120 min  |\n| `SIZE_EXCEEDED`            | 400         | Audio file larger than 50 MB       |\n| `INSUFFICIENT_CREDITS`     | 402         | Not enough credits to process      |\n| `RATE_LIMIT_EXCEEDED`      | 429         | Too many requests                  |\n| `JOB_NOT_FOUND`            | 404         | Job ID does not exist              |\n| `PROCESSING_FAILED`        | 500         | Ingestion failed on server side    |\n| `PRIVATE_CONTENT`          | 403         | Content is behind login or paywall |\n\nOn `PROCESSING_FAILED`, retry after 60 seconds. If it fails twice, try a different URL or contact support.\n\n---\n\n## Response Guidelines\n\nWhen returning ingested content to the user:\n\n- **Always confirm** the content type detected (YouTube, article, PDF, audio)\n- **Show credit cost** before and after ingestion\n- **Summarize** before presenting the full transcript — users often want a quick answer first\n- **Ask what to do next** — \"I have the transcript. Would you like me to write a blog post, summarize it, or extract key points?\"\n- **For YouTube:** include video title, channel, and duration in your response\n- **On cache hit:** inform the user this was previously ingested and cost only 1 credit\n\n---\n\n## Want More?\n\nThis skill is part of the Citedy AI platform. The full suite includes:\n\n- **Article Generation** — write SEO-optimized blog posts from keywords or URLs\n- **Social Adaptation** — repurpose articles for LinkedIn, X, Instagram, Reddit\n- **SEO Analysis** — content gap analysis, competitor tracking, visibility scanning\n- **Autopilot** — fully automated content pipeline from keywords to published articles\n\nLearn more at [citedy.com](https://www.citedy.com) or explore the `citedy-seo-agent` skill for the complete toolkit.","tags":["citedy","content","ingestion","seo","agent","agent-skills","ai-agent","autogpt","content-marketing"],"capabilities":["skill","source-citedy","skill-citedy-content-ingestion","topic-agent-skills","topic-ai-agent","topic-autogpt","topic-content-marketing","topic-seo"],"categories":["citedy-seo-agent"],"synonyms":[],"warnings":[],"endpointUrl":"https://skills.sh/citedy/citedy-seo-agent/citedy-content-ingestion","protocol":"skill","transport":"skills-sh","auth":{"type":"none","details":{"cli":"npx skills add citedy/citedy-seo-agent","source_repo":"https://github.com/citedy/citedy-seo-agent","install_from":"skills.sh"}},"qualityScore":"0.454","qualityRationale":"deterministic score 0.45 from registry signals: · indexed on github topic:agent-skills · 9 github stars · SKILL.md body (11,411 chars)","verified":false,"liveness":"unknown","lastLivenessCheck":null,"agentReviews":{"count":0,"score_avg":null,"cost_usd_avg":null,"success_rate":null,"latency_p50_ms":null,"narrative_summary":null,"summary_updated_at":null},"enrichmentModel":"deterministic:skill-github:v1","enrichmentVersion":1,"enrichedAt":"2026-04-24T07:03:40.335Z","embedding":null,"createdAt":"2026-04-23T13:04:22.557Z","updatedAt":"2026-04-24T07:03:40.335Z","lastSeenAt":"2026-04-24T07:03:40.335Z","tsv":"'-01':746,754 '-03':745,753 '-10':808 '-25':809 '/2026/01/01/ai-trends':574,597 '/api/agent/health':896 '/api/agent/ingest':324,374,396,473,508,581,672,723,772,861,1087 '/api/agent/ingest/batch':422,627,826,1093 '/api/agent/ingest/job_abc123':350,531,703 '/api/agent/ingest/job_abc123/content':545 '/api/agent/me':903 '/api/agent/register':253 '/api/agent/status':914 '/article':435 '/article-1':643 '/article-2':646 '/article-3':649 '/content':398,774 '/doc.pdf':441 '/report.pdf':655 '/watch?v=abc':438 '/watch?v=abc123':652 '/watch?v=dqw4w9wgxcq':498,524,764,794 '/watch?v=example':337 '/webhook':446 '0':479,892,900,911,925 '00':748 '00z':749 '01':756 '1':246,320,366,488,501,721,936,1000,1312 '10':945,951,972,978 '100':880 '120':966,1019,1024,1155 '15':386,954,988 '1840':822 '2':262,369,526,563,859,941 '20':415,477,830,878,890,1062 '200':360,708 '2009':807 '202':339,688,843 '2026':744,752 '212':804 '3':282,392,539,611,974 '30':952,958,961,979,985,994,1088 '30z':757 '400':1134,1143,1150,1159 '402':1168 '403':1200 '404':1184 '42':888 '429':1177 '5':385,617,657,706,760,947,1094 '50':1036,1041,1164 '500':1192 '55':968 '60':959,965,986,992,1101,1212 '8':981 'abc123':345,694,714,735,786,849 'abc124':855 'accept':340 'adapt':1342 'agent':63,240,249,258,261,293,906,1380 'ai':1323 'alreadi':355 'alway':1234 'analysi':1351,1354 'analyz':203 'answer':1262 'api':16,43,53,101,133,244,285,300,312,328,426,513,536,550,586,632,669,898,916 'application/json':257,333,431,519,592,638 'approv':263,270,288 'array':450 'articl':18,106,108,172,565,601,618,934,1054,1073,1241,1329,1344,1368 'ask':187,1264 'audio':21,120,218,970,976,983,990,1031,1057,1160,1243 'auth':49 'authent':237 'author':50,309,325,423,510,533,547,583,604,629,799 'auto':142 'auto-gener':141 'autom':1361 'autopilot':1359 'avail':899 'balanc':910 'base':46,176 'bash':499,575,621 'batch':410,612,1059,1065 'bearer':51,310,326,424,511,534,548,584,630 'behind':1203 'beyond':140 'blog':1280,1335 'breakdown':561 'brief':815 'browser':279 'build':223 'cach':357,363,709,717,996,1300 'callback':442,455,838 'cannot':1079 'caption':104,144 'captur':145 'channel':800,1293 'chapter':560 'charg':720,759,1004,1013 'check':897 'citedi':2,36,52,292,299,311,327,425,512,535,549,585,631,1322,1378 'citedy-content-ingest':1 'citedy-seo-ag':1377 'citedy.com':1372 'clean':83,107,600 'code':1128 'competitor':1355 'complet':372,380,469,475,668,716,737,750,769,872,1006,1384 'confirm':281,1235 'connect':41 'contact':1223 'content':3,10,37,61,92,202,219,230,255,331,394,403,429,517,541,570,590,636,697,738,778,787,819,928,1049,1068,1078,1141,1144,1199,1201,1230,1237,1352,1362 'content-typ':254,330,428,516,589,635 'context':149 'core':314 'cost':365,390,409,730,781,1246,1310 'count':609,821 'creat':742 'credit':367,389,408,705,719,729,758,780,901,909,912,926,932,937,942,948,955,962,969,975,982,989,995,1001,1002,1167,1171,1245,1313 'curl':503,528,542,576,622 'current':377,905,918 'd':520,593,639 'data':85 'date':606 'deep':135 'default':877 'detect':1239 'differ':1220 'differenti':126 'direct':167 'document':113,939,1056 'durat':558,802,930,1018,1029,1148,1295 'en':824 'endpoint':1084,1100 'enough':1170 'environ':304 'error':1125,1127 'estim':704 'everi':384 'exampl':486,487,562,610 'example.com':434,440,642,645,648,654 'example.com/article':433 'example.com/article-1':641 'example.com/article-2':644 'example.com/article-3':647 'example.com/doc.pdf':439 'example.com/report.pdf':653 'exceed':1030,1047,1149,1158,1176 'exist':1189 'explor':1375 'extract':23,71,115,189,214,402,567,777,1285 'fail':382,770,873,1009,1191,1194,1209,1216 'feed':164 'file':22,121,125,971,977,984,991,1032,1034,1038,1058,1161 'filter':480,868 'first':1263 'found':1183 'full':73,96,401,554,776,811,1255,1326 'fulli':1360 'gap':1353 'gate':1077 'gemini':14,99,131 'generat':143,173,1330 'get':373,395,472,540,722,771,860,895,902,913 'glue':893 'goe':139 'guidelin':1226 'h':509,515,532,546,582,588,628,634 'handl':1126 'header':1107 'health':924 'hit':358,710,997,1301 'http':1129 'https':45 'id':343,375,397,453,659,692,712,724,733,773,784,847,853,1186 'ident':907 'includ':553,599,1109,1290,1328 'index':177 'individu':662 'inform':1302 'ingest':4,38,128,217,318,356,411,613,678,863,1081,1193,1229,1250,1308 'input':158 'instagram':1348 'instruct':40,234 'insuffici':1166 'intent':147 'invalid':1132 'job':344,452,468,471,658,690,693,713,726,734,785,845,848,854,864,886,1010,1181,1185 'json':342,680,691,711,732,783,835,844,885 'key':54,245,286,290,301,313,329,427,514,537,551,587,633,1286 'keyword':1338,1365 'knowledg':175 'languag':823 'larger':1039,1162 'learn':1369 'like':1275 'limit':476,874,889,920,1014,1083,1085,1106,1116,1175 'limit/offset':485 'link':68,209 'linkedin':1346 'list':470,862 'llm':32,89,162 'login':1076,1204 'login-g':1075 'longer':1022,1153 'main':569 'malform':1137 'mani':1179 'max':875,879 'maximum':1016,1033,1061 'mb':1037,1042,1165 'mean':1131 'metadata':27,76,111,406,795 'min':946,953,960,967,973,980,987,993,1025,1156 'minut':1020 'mp3/wav/m4a':124 'name':259,801 'need':227 'new':689 'next':1268 'node':159 'obtain':242 'offset':478,881,883,891 'often':1258 'ok':361 'open':275 'optim':1334 'option':447,841 'output':166 'overview':55 'pagin':483,882 'param':866 'part':1319 'pass':66 'paywal':1072,1206 'pdf':112,118,208,938,1055,1242 'pdfs':19 'per':1064,1090,1096,1103 'pipelin':33,90,163,225,1363 'platform':1324 'point':1287 'poll':348,370,383,527,660,701,725 'post':250,323,421,460,505,578,624,671,825,1086,1092,1281,1336 'power':34 'prefix':291 'present':1253 'previous':1307 'price':927 'privat':1067,1069,1198 'process':347,379,620,696,768,871,1173,1190,1208 'provid':458 'public':117 'publish':605,805,1367 'pull':229 'q':170 'queri':865 'queu':767,851,857,870 'quick':1261 'rate':919,1082,1105,1174 'ratelimit':1115,1119,1123 'readi':86 'receiv':268 'reddit':1349 'refer':670 'regist':238,247 'registr':265 'reject':1027,1044 'remain':1120 'repurpos':205,1343 'request':307,420,461,679,834,1066,1180 'requests/hour':1089,1095 'requests/minute':1102 'requir':683 'reset':1124 'respons':274,552,598,687,707,731,782,842,884,1112,1225,1298 'rest':42 'result':876 'retri':1210 'retriev':393,775 'return':80,295,338,359,376,399,448,656,904,915,1228 'save':283 'scan':1358 'second':387,803,1213 'sent':463 'seo':1333,1350,1379 'seo-optim':1332 'server':1196 'servic':923 'setup':235 'share':195,206 'show':1244 'side':1197 'singl':316,419,675 'size':931,1035,1046,1060,1157 'skill':39,70,154,183,1317,1381 'skill-citedy-content-ingestion' 'social':1341 'source-citedy' 'speaker':146 'standalon':157 'status':346,378,474,482,695,715,727,736,765,850,856,867,917,1007,1130 'step':319,368,391,500,525,538 'store':296 'string':682,837,840 'structur':9,60,84,151 'submit':321,412,502,673,827 'subsequ':306 'suit':1327 'summar':169,192,1251,1282 'summari':25,78,814,816 'support':91,685,1048,1147,1224 't10':747,755 'techcrunch.com':573,596 'techcrunch.com/2026/01/01/ai-trends':572,595 'tenant':1091,1097,1104 'text':74,109,114,213,602,813 'titl':557,603,796,798,1292 'tool':894 'toolkit':1385 'topic-agent-skills' 'topic-ai-agent' 'topic-autogpt' 'topic-content-marketing' 'topic-seo' 'total':858,887 'track':1356 'transcrib':190,492 'transcript':24,75,97,122,221,404,555,810,812,1256,1272 'tri':1218 'true':364,718 'turn':5,56 'twice':1217 'type':93,256,332,430,518,591,637,698,739,788,929,999,1050,1142,1145,1238 'understand':137 'unsupport':1139,1140 'url':7,47,58,119,194,271,317,322,334,349,353,416,432,443,456,521,594,640,676,681,686,702,761,791,831,836,839,846,852,1063,1133,1135,1221,1340 'usag':921 'use':29,65,129,152,180,181,308 'user':186,491,566,614,1233,1257,1304 'valu':766 'via':13,98 'video':12,15,95,100,132,136,198,490,495,556,700,741,790,797,944,950,957,964,1017,1021,1052,1071,1152,1291 'visibl':1357 'visual':148 'wait':664 'want':200,211,215,1259,1314 'web':17,105,233,564,933,1053 'word':608,820 'workflow':315 'would':1273 'write':1278,1331 'www.citedy.com':48,252,507,530,544,580,626,1373 'www.citedy.com/api/agent/ingest':506,579 'www.citedy.com/api/agent/ingest/batch':625 'www.citedy.com/api/agent/ingest/job_abc123':529 'www.citedy.com/api/agent/ingest/job_abc123/content':543 'www.citedy.com/api/agent/register':251 'www.youtube.com':336,437,497,523,651,763,793 'www.youtube.com/watch?v=abc':436 'www.youtube.com/watch?v=abc123':650 'www.youtube.com/watch?v=dqw4w9wgxcq':496,522,762,792 'www.youtube.com/watch?v=example':335 'x':504,577,623,1114,1118,1122,1347 'x-ratelimit-limit':1113 'x-ratelimit-remain':1117 'x-ratelimit-reset':1121 'your-service.com':445 'your-service.com/webhook':444 'youtub':11,94,127,197,489,494,699,740,789,943,949,956,963,1015,1051,1070,1151,1240,1289","prices":[{"id":"85835c91-ecf5-4f9d-825b-66bf56654705","listingId":"8e1f47f8-6616-42aa-b9bb-47a98c6b62ef","amountUsd":"0","unit":"free","nativeCurrency":null,"nativeAmount":null,"chain":null,"payTo":null,"paymentMethod":"skill-free","isPrimary":true,"details":{"org":"citedy","category":"citedy-seo-agent","install_from":"skills.sh"},"createdAt":"2026-04-23T13:04:22.557Z"}],"sources":[{"listingId":"8e1f47f8-6616-42aa-b9bb-47a98c6b62ef","source":"github","sourceId":"citedy/citedy-seo-agent/citedy-content-ingestion","sourceUrl":"https://github.com/citedy/citedy-seo-agent/tree/main/skills/citedy-content-ingestion","isPrimary":false,"firstSeenAt":"2026-04-23T13:04:22.557Z","lastSeenAt":"2026-04-24T07:03:40.335Z"}],"details":{"listingId":"8e1f47f8-6616-42aa-b9bb-47a98c6b62ef","quickStartSnippet":null,"exampleRequest":null,"exampleResponse":null,"schema":null,"openapiUrl":null,"agentsTxtUrl":null,"citations":[],"useCases":[],"bestFor":[],"notFor":[],"kindDetails":{"org":"citedy","slug":"citedy-content-ingestion","github":{"repo":"citedy/citedy-seo-agent","stars":9,"topics":["agent-skills","ai-agent","autogpt","content-marketing","seo"],"license":"mit","html_url":"https://github.com/citedy/citedy-seo-agent","pushed_at":"2026-04-17T19:59:46Z","description":"AI-powered SEO content automation agent skill — trend scouting, competitor analysis, article generation in 55 languages, social media adaptations, and cron-based sessions.","skill_md_sha":"6c1cad991e113b97bb3f32e3e4d47eac3fbd86bf","skill_md_path":"skills/citedy-content-ingestion/SKILL.md","default_branch":"main","skill_tree_url":"https://github.com/citedy/citedy-seo-agent/tree/main/skills/citedy-content-ingestion"},"layout":"multi","source":"github","category":"citedy-seo-agent","frontmatter":{"name":"citedy-content-ingestion","description":"Turn any URL into structured content — YouTube videos (via Gemini Video API), web articles, PDFs, and audio files. Extract transcripts, summaries, and metadata for use in any LLM pipeline. Powered by Citedy."},"skills_sh_url":"https://skills.sh/citedy/citedy-seo-agent/citedy-content-ingestion"},"updatedAt":"2026-04-24T07:03:40.335Z"}}