{
  "schemaVersion": "1.0",
  "item": {
    "slug": "gettr-transcribe",
    "name": "Gettr Transcribe",
    "source": "tencent",
    "type": "skill",
    "category": "AI 智能",
    "sourceUrl": "https://clawhub.ai/Kevin37Li/gettr-transcribe",
    "canonicalUrl": "https://clawhub.ai/Kevin37Li/gettr-transcribe",
    "targetPlatform": "OpenClaw"
  },
  "install": {
    "downloadMode": "redirect",
    "downloadUrl": "/downloads/gettr-transcribe",
    "sourceDownloadUrl": "https://wry-manatee-359.convex.site/api/v1/download?slug=gettr-transcribe",
    "sourcePlatform": "tencent",
    "targetPlatform": "OpenClaw",
    "installMethod": "Manual import",
    "extraction": "Extract archive",
    "prerequisites": [
      "OpenClaw"
    ],
    "packageFormat": "ZIP package",
    "includedAssets": [
      "README.md",
      "SKILL.md",
      "references/api_reference.md",
      "references/troubleshooting.md",
      "scripts/download_audio.sh",
      "scripts/run_pipeline.sh"
    ],
    "primaryDoc": "SKILL.md",
    "quickSetup": [
      "Download the package from Yavira.",
      "Extract the archive and review SKILL.md first.",
      "Import or place the package into your OpenClaw setup."
    ],
    "agentAssist": {
      "summary": "Hand the extracted package to your coding agent with a concrete install brief instead of figuring it out manually.",
      "steps": [
        "Download the package from Yavira.",
        "Extract it into a folder your agent can access.",
        "Paste one of the prompts below and point your agent at the extracted folder."
      ],
      "prompts": [
        {
          "label": "New install",
          "body": "I downloaded a skill package from Yavira. Read SKILL.md from the extracted folder and install it by following the included instructions. Then review README.md for any prerequisites, environment setup, or post-install checks. Tell me what you changed and call out any manual steps you could not complete."
        },
        {
          "label": "Upgrade existing",
          "body": "I downloaded an updated skill package from Yavira. Read SKILL.md from the extracted folder, compare it with my current installation, and upgrade it while preserving any custom configuration unless the package docs explicitly say otherwise. Then review README.md for any prerequisites, environment setup, or post-install checks. Summarize what changed and any follow-up checks I should run."
        }
      ]
    },
    "sourceHealth": {
      "source": "tencent",
      "status": "healthy",
      "reason": "direct_download_ok",
      "recommendedAction": "download",
      "checkedAt": "2026-04-30T16:55:25.780Z",
      "expiresAt": "2026-05-07T16:55:25.780Z",
      "httpStatus": 200,
      "finalUrl": "https://wry-manatee-359.convex.site/api/v1/download?slug=network",
      "contentType": "application/zip",
      "probeMethod": "head",
      "details": {
        "probeUrl": "https://wry-manatee-359.convex.site/api/v1/download?slug=network",
        "contentDisposition": "attachment; filename=\"network-1.0.0.zip\"",
        "redirectLocation": null,
        "bodySnippet": null
      },
      "scope": "source",
      "summary": "Source download looks usable.",
      "detail": "Yavira can redirect you to the upstream package for this source.",
      "primaryActionLabel": "Download for OpenClaw",
      "primaryActionHref": "/downloads/gettr-transcribe"
    },
    "validation": {
      "installChecklist": [
        "Use the Yavira download entry.",
        "Review SKILL.md after the package is downloaded.",
        "Confirm the extracted package contains the expected setup assets."
      ],
      "postInstallChecks": [
        "Confirm the extracted package includes the expected docs or setup files.",
        "Validate the skill or prompts are available in your target agent workspace.",
        "Capture any manual follow-up steps the agent could not complete."
      ]
    },
    "downloadPageUrl": "https://openagent3.xyz/downloads/gettr-transcribe",
    "agentPageUrl": "https://openagent3.xyz/skills/gettr-transcribe/agent",
    "manifestUrl": "https://openagent3.xyz/skills/gettr-transcribe/agent.json",
    "briefUrl": "https://openagent3.xyz/skills/gettr-transcribe/agent.md"
  },
  "agentAssist": {
    "summary": "Hand the extracted package to your coding agent with a concrete install brief instead of figuring it out manually.",
    "steps": [
      "Download the package from Yavira.",
      "Extract it into a folder your agent can access.",
      "Paste one of the prompts below and point your agent at the extracted folder."
    ],
    "prompts": [
      {
        "label": "New install",
        "body": "I downloaded a skill package from Yavira. Read SKILL.md from the extracted folder and install it by following the included instructions. Then review README.md for any prerequisites, environment setup, or post-install checks. Tell me what you changed and call out any manual steps you could not complete."
      },
      {
        "label": "Upgrade existing",
        "body": "I downloaded an updated skill package from Yavira. Read SKILL.md from the extracted folder, compare it with my current installation, and upgrade it while preserving any custom configuration unless the package docs explicitly say otherwise. Then review README.md for any prerequisites, environment setup, or post-install checks. Summarize what changed and any follow-up checks I should run."
      }
    ]
  },
  "documentation": {
    "source": "clawhub",
    "primaryDoc": "SKILL.md",
    "sections": [
      {
        "title": "Quick start",
        "body": "# 1. Parse the slug from the URL (just read it — no script needed)\n#    https://gettr.com/post/p1abc2def  → slug = p1abc2def\n#    https://gettr.com/streaming/p3xyz → slug = p3xyz\n\n# 2. Get the audio/video URL via browser automation (see Step 1 below)\n#    For /streaming/ URLs: extract the .m4a audio URL\n#    For /post/ URLs: extract the og:video .m3u8 URL\n\n# 3. Run download + transcription pipeline\nbash scripts/run_pipeline.sh \"<AUDIO_OR_VIDEO_URL>\" \"<SLUG>\"\n\nTo explicitly set the transcription language (recommended for non-English content):\n\nbash scripts/run_pipeline.sh --language zh \"<AUDIO_OR_VIDEO_URL>\" \"<SLUG>\"\n\nCommon language codes: zh (Chinese), en (English), ja (Japanese), ko (Korean), es (Spanish), fr (French), de (German), ru (Russian).\n\nThis outputs:\n\n./out/gettr-transcribe/<slug>/audio.wav\n./out/gettr-transcribe/<slug>/audio.vtt\n\nSummarization is handled separately by the caller (see your prompt for summarization instructions)."
      },
      {
        "title": "Inputs to confirm",
        "body": "Ask for:\n\nGETTR post URL\nLanguage (optional): if the video is non-English and auto-detection fails, ask for the language code (e.g., zh for Chinese)\n\nNotes:\n\nThis skill does not handle authentication-gated GETTR posts.\nThis skill does not translate; outputs stay in the video's original language.\nIf transcription quality is poor or mixed with English, re-run with explicit --language flag."
      },
      {
        "title": "Prereqs (local)",
        "body": "mlx_whisper installed and on PATH\nffmpeg installed (recommended: brew install ffmpeg)"
      },
      {
        "title": "Step 0 — Parse the slug and pick an output directory",
        "body": "Parse the slug directly from the GETTR URL — just read the last path segment, no script needed:\n\nhttps://gettr.com/post/p1abc2def → slug = p1abc2def\nhttps://gettr.com/streaming/p3xyz789 → slug = p3xyz789\n\nOutput directory: ./out/gettr-transcribe/<slug>/\n\nDirectory structure:\n\n./out/gettr-transcribe/<slug>/audio.wav\n./out/gettr-transcribe/<slug>/audio.vtt"
      },
      {
        "title": "Step 1 — Get the audio/video URL via browser automation",
        "body": "Use browser automation to navigate to the GETTR URL and extract the media URL from the rendered DOM.\n\nFor /streaming/ URLs (primary path)\n\nStreaming pages provide a direct .m4a audio download. Extract it by deriving from the og:video meta tag:\n\nNavigate to the GETTR streaming URL and wait for the page to fully load (JavaScript must execute)\nExtract the audio URL via JavaScript:\nconst ogVideo = document.querySelector('meta[property=\"og:video\"]')?.getAttribute(\"content\");\n// Replace .m3u8 with /audio.m4a to get the direct audio download URL\nconst audioUrl = ogVideo.replace(\".m3u8\", \"/audio.m4a\");\n\n\nUse the .m4a URL for the pipeline in Step 2\n\nThe .m4a URL is a direct file download (no HLS), so it downloads faster and more reliably than the .m3u8 stream.\n\nFor /post/ URLs (fallback path)\n\nPost pages do not have a \"Download Audio\" button. Extract the og:video URL from the rendered DOM:\n\nNavigate to the GETTR post URL and wait for the page to fully load\nExtract the video URL via JavaScript:\ndocument.querySelector('meta[property=\"og:video\"]')?.getAttribute(\"content\");\n\n\nUse the .m3u8 URL directly for the pipeline in Step 2\n\nIf browser automation is not available or fails, see references/troubleshooting.md for how to guide the user to manually extract the URL from their browser."
      },
      {
        "title": "Step 2 — Run the pipeline (download + transcribe)",
        "body": "Feed the extracted URL and slug into the pipeline:\n\nbash scripts/run_pipeline.sh \"<AUDIO_OR_VIDEO_URL>\" \"<SLUG>\"\n\nTo explicitly set the language (recommended when auto-detection fails):\n\nbash scripts/run_pipeline.sh --language zh \"<AUDIO_OR_VIDEO_URL>\" \"<SLUG>\"\n\nThe pipeline does two things:\n\nDownloads audio as 16kHz mono WAV via ffmpeg (handles both .m4a and .m3u8 inputs)\nTranscribes with MLX Whisper, outputting VTT with timestamps\n\nIf the pipeline fails with HTTP 412 (stale signed URL)\n\nThis error occurs with /streaming/ URLs when the signed URL has expired. Re-run browser automation to get a fresh URL, then retry the pipeline.\n\nIf browser automation is not available or fails, see references/troubleshooting.md for how to guide the user to manually extract the fresh URL from their browser.\n\nNotes:\n\nBy default, language is auto-detected. For non-English content where detection fails, use --language.\nIf too slow or memory-heavy, try smaller models: mlx-community/whisper-medium or mlx-community/whisper-small.\nIf quality is poor, try the full model: mlx-community/whisper-large-v3 (slower but more accurate).\nIf --word-timestamps causes issues, the pipeline retries automatically without it."
      },
      {
        "title": "Bundled scripts",
        "body": "scripts/run_pipeline.sh: download + transcription pipeline (takes an audio/video URL and slug)\nscripts/download_audio.sh: download/extract audio from HLS (.m3u8) or direct (.m4a) URL to 16kHz mono WAV"
      },
      {
        "title": "Error handling",
        "body": "No audio track: The download script validates output and reports if the source has no audio.\nHTTP 412 errors: Occurs with /streaming/ URLs when the signed URL has expired. Re-run browser automation to get a fresh URL (see Step 1); if that fails, see references/troubleshooting.md."
      },
      {
        "title": "Troubleshooting",
        "body": "See references/troubleshooting.md for detailed solutions to common issues including:\n\nHTTP 412 errors (stale signed URLs)\nDownload errors\nTranscription quality issues"
      }
    ],
    "body": "Gettr Transcribe (MLX Whisper)\nQuick start\n# 1. Parse the slug from the URL (just read it — no script needed)\n#    https://gettr.com/post/p1abc2def  → slug = p1abc2def\n#    https://gettr.com/streaming/p3xyz → slug = p3xyz\n\n# 2. Get the audio/video URL via browser automation (see Step 1 below)\n#    For /streaming/ URLs: extract the .m4a audio URL\n#    For /post/ URLs: extract the og:video .m3u8 URL\n\n# 3. Run download + transcription pipeline\nbash scripts/run_pipeline.sh \"<AUDIO_OR_VIDEO_URL>\" \"<SLUG>\"\n\n\nTo explicitly set the transcription language (recommended for non-English content):\n\nbash scripts/run_pipeline.sh --language zh \"<AUDIO_OR_VIDEO_URL>\" \"<SLUG>\"\n\n\nCommon language codes: zh (Chinese), en (English), ja (Japanese), ko (Korean), es (Spanish), fr (French), de (German), ru (Russian).\n\nThis outputs:\n\n./out/gettr-transcribe/<slug>/audio.wav\n./out/gettr-transcribe/<slug>/audio.vtt\n\nSummarization is handled separately by the caller (see your prompt for summarization instructions).\n\nWorkflow (GETTR URL → transcript)\nInputs to confirm\n\nAsk for:\n\nGETTR post URL\nLanguage (optional): if the video is non-English and auto-detection fails, ask for the language code (e.g., zh for Chinese)\n\nNotes:\n\nThis skill does not handle authentication-gated GETTR posts.\nThis skill does not translate; outputs stay in the video's original language.\nIf transcription quality is poor or mixed with English, re-run with explicit --language flag.\nPrereqs (local)\nmlx_whisper installed and on PATH\nffmpeg installed (recommended: brew install ffmpeg)\nStep 0 — Parse the slug and pick an output directory\n\nParse the slug directly from the GETTR URL — just read the last path segment, no script needed:\n\nhttps://gettr.com/post/p1abc2def → slug = p1abc2def\nhttps://gettr.com/streaming/p3xyz789 → slug = p3xyz789\n\nOutput directory: ./out/gettr-transcribe/<slug>/\n\nDirectory structure:\n\n./out/gettr-transcribe/<slug>/audio.wav\n./out/gettr-transcribe/<slug>/audio.vtt\nStep 1 — Get the audio/video URL via browser automation\n\nUse browser automation to navigate to the GETTR URL and extract the media URL from the rendered DOM.\n\nFor /streaming/ URLs (primary path)\n\nStreaming pages provide a direct .m4a audio download. Extract it by deriving from the og:video meta tag:\n\nNavigate to the GETTR streaming URL and wait for the page to fully load (JavaScript must execute)\nExtract the audio URL via JavaScript:\nconst ogVideo = document.querySelector('meta[property=\"og:video\"]')?.getAttribute(\"content\");\n// Replace .m3u8 with /audio.m4a to get the direct audio download URL\nconst audioUrl = ogVideo.replace(\".m3u8\", \"/audio.m4a\");\n\nUse the .m4a URL for the pipeline in Step 2\n\nThe .m4a URL is a direct file download (no HLS), so it downloads faster and more reliably than the .m3u8 stream.\n\nFor /post/ URLs (fallback path)\n\nPost pages do not have a \"Download Audio\" button. Extract the og:video URL from the rendered DOM:\n\nNavigate to the GETTR post URL and wait for the page to fully load\nExtract the video URL via JavaScript:\ndocument.querySelector('meta[property=\"og:video\"]')?.getAttribute(\"content\");\n\nUse the .m3u8 URL directly for the pipeline in Step 2\n\nIf browser automation is not available or fails, see references/troubleshooting.md for how to guide the user to manually extract the URL from their browser.\n\nStep 2 — Run the pipeline (download + transcribe)\n\nFeed the extracted URL and slug into the pipeline:\n\nbash scripts/run_pipeline.sh \"<AUDIO_OR_VIDEO_URL>\" \"<SLUG>\"\n\n\nTo explicitly set the language (recommended when auto-detection fails):\n\nbash scripts/run_pipeline.sh --language zh \"<AUDIO_OR_VIDEO_URL>\" \"<SLUG>\"\n\n\nThe pipeline does two things:\n\nDownloads audio as 16kHz mono WAV via ffmpeg (handles both .m4a and .m3u8 inputs)\nTranscribes with MLX Whisper, outputting VTT with timestamps\nIf the pipeline fails with HTTP 412 (stale signed URL)\n\nThis error occurs with /streaming/ URLs when the signed URL has expired. Re-run browser automation to get a fresh URL, then retry the pipeline.\n\nIf browser automation is not available or fails, see references/troubleshooting.md for how to guide the user to manually extract the fresh URL from their browser.\n\nNotes:\n\nBy default, language is auto-detected. For non-English content where detection fails, use --language.\nIf too slow or memory-heavy, try smaller models: mlx-community/whisper-medium or mlx-community/whisper-small.\nIf quality is poor, try the full model: mlx-community/whisper-large-v3 (slower but more accurate).\nIf --word-timestamps causes issues, the pipeline retries automatically without it.\nBundled scripts\nscripts/run_pipeline.sh: download + transcription pipeline (takes an audio/video URL and slug)\nscripts/download_audio.sh: download/extract audio from HLS (.m3u8) or direct (.m4a) URL to 16kHz mono WAV\nError handling\nNo audio track: The download script validates output and reports if the source has no audio.\nHTTP 412 errors: Occurs with /streaming/ URLs when the signed URL has expired. Re-run browser automation to get a fresh URL (see Step 1); if that fails, see references/troubleshooting.md.\nTroubleshooting\n\nSee references/troubleshooting.md for detailed solutions to common issues including:\n\nHTTP 412 errors (stale signed URLs)\nDownload errors\nTranscription quality issues"
  },
  "trust": {
    "sourceLabel": "tencent",
    "provenanceUrl": "https://clawhub.ai/Kevin37Li/gettr-transcribe",
    "publisherUrl": "https://clawhub.ai/Kevin37Li/gettr-transcribe",
    "owner": "Kevin37Li",
    "version": "1.0.1",
    "license": null,
    "verificationStatus": "Indexed source record"
  },
  "links": {
    "detailUrl": "https://openagent3.xyz/skills/gettr-transcribe",
    "downloadUrl": "https://openagent3.xyz/downloads/gettr-transcribe",
    "agentUrl": "https://openagent3.xyz/skills/gettr-transcribe/agent",
    "manifestUrl": "https://openagent3.xyz/skills/gettr-transcribe/agent.json",
    "briefUrl": "https://openagent3.xyz/skills/gettr-transcribe/agent.md"
  }
}