{
  "schemaVersion": "1.0",
  "item": {
    "slug": "gemini-stt",
    "name": "Gemini STT",
    "source": "tencent",
    "type": "skill",
    "category": "开发工具",
    "sourceUrl": "https://clawhub.ai/araa47/gemini-stt",
    "canonicalUrl": "https://clawhub.ai/araa47/gemini-stt",
    "targetPlatform": "OpenClaw"
  },
  "install": {
    "downloadMode": "redirect",
    "downloadUrl": "/downloads/gemini-stt",
    "sourceDownloadUrl": "https://wry-manatee-359.convex.site/api/v1/download?slug=gemini-stt",
    "sourcePlatform": "tencent",
    "targetPlatform": "OpenClaw",
    "installMethod": "Manual import",
    "extraction": "Extract archive",
    "prerequisites": [
      "OpenClaw"
    ],
    "packageFormat": "ZIP package",
    "includedAssets": [
      "SKILL.md",
      "transcribe.py"
    ],
    "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. 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. 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/gemini-stt"
    },
    "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/gemini-stt",
    "agentPageUrl": "https://openagent3.xyz/skills/gemini-stt/agent",
    "manifestUrl": "https://openagent3.xyz/skills/gemini-stt/agent.json",
    "briefUrl": "https://openagent3.xyz/skills/gemini-stt/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. 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. Summarize what changed and any follow-up checks I should run."
      }
    ]
  },
  "documentation": {
    "source": "clawhub",
    "primaryDoc": "SKILL.md",
    "sections": [
      {
        "title": "Gemini Speech-to-Text Skill",
        "body": "Transcribe audio files using Google's Gemini API or Vertex AI. Default model is gemini-2.0-flash-lite for fastest transcription."
      },
      {
        "title": "Option 1: Vertex AI with Application Default Credentials (Recommended)",
        "body": "gcloud auth application-default login\ngcloud config set project YOUR_PROJECT_ID\n\nThe script will automatically detect and use ADC when available."
      },
      {
        "title": "Option 2: Direct Gemini API Key",
        "body": "Set GEMINI_API_KEY in environment (e.g., ~/.env or ~/.clawdbot/.env)"
      },
      {
        "title": "Requirements",
        "body": "Python 3.10+ (no external dependencies)\nEither GEMINI_API_KEY or gcloud CLI with ADC configured"
      },
      {
        "title": "Supported Formats",
        "body": ".ogg / .opus (Telegram voice messages)\n.mp3\n.wav\n.m4a"
      },
      {
        "title": "Usage",
        "body": "# Auto-detect auth (tries ADC first, then GEMINI_API_KEY)\npython ~/.claude/skills/gemini-stt/transcribe.py /path/to/audio.ogg\n\n# Force Vertex AI\npython ~/.claude/skills/gemini-stt/transcribe.py /path/to/audio.ogg --vertex\n\n# With a specific model\npython ~/.claude/skills/gemini-stt/transcribe.py /path/to/audio.ogg --model gemini-2.5-pro\n\n# Vertex AI with specific project and region\npython ~/.claude/skills/gemini-stt/transcribe.py /path/to/audio.ogg --vertex --project my-project --region us-central1\n\n# With Clawdbot media\npython ~/.claude/skills/gemini-stt/transcribe.py ~/.clawdbot/media/inbound/voice-message.ogg"
      },
      {
        "title": "Options",
        "body": "OptionDescription<audio_file>Path to the audio file (required)--model, -mGemini model to use (default: gemini-2.0-flash-lite)--vertex, -vForce use of Vertex AI with ADC--project, -pGCP project ID (for Vertex, defaults to gcloud config)--region, -rGCP region (for Vertex, default: us-central1)"
      },
      {
        "title": "Supported Models",
        "body": "Any Gemini model that supports audio input can be used. Recommended models:\n\nModelNotesgemini-2.0-flash-liteDefault. Fastest transcription speed.gemini-2.0-flashFast and cost-effective.gemini-2.5-flash-liteLightweight 2.5 model.gemini-2.5-flashBalanced speed and quality.gemini-2.5-proHigher quality, slower.gemini-3-flash-previewLatest flash model.gemini-3-pro-previewLatest pro model, best quality.\n\nSee Gemini API Models for the latest list."
      },
      {
        "title": "How It Works",
        "body": "Reads the audio file and base64 encodes it\nAuto-detects authentication:\n\nIf ADC is available (gcloud), uses Vertex AI endpoint\nOtherwise, uses GEMINI_API_KEY with direct Gemini API\n\n\nSends to the selected Gemini model with transcription prompt\nReturns the transcribed text"
      },
      {
        "title": "Example Integration",
        "body": "For Clawdbot voice message handling:\n\n# Transcribe incoming voice message\nTRANSCRIPT=$(python ~/.claude/skills/gemini-stt/transcribe.py \"$AUDIO_PATH\")\necho \"User said: $TRANSCRIPT\""
      },
      {
        "title": "Error Handling",
        "body": "The script exits with code 1 and prints to stderr on:\n\nNo authentication available (neither ADC nor GEMINI_API_KEY)\nFile not found\nAPI errors\nMissing GCP project (when using Vertex)"
      },
      {
        "title": "Notes",
        "body": "Uses Gemini 2.0 Flash Lite by default for fastest transcription\nNo external Python dependencies (uses stdlib only)\nAutomatically detects MIME type from file extension\nPrefers Vertex AI with ADC when available (no API key management needed)"
      }
    ],
    "body": "Gemini Speech-to-Text Skill\n\nTranscribe audio files using Google's Gemini API or Vertex AI. Default model is gemini-2.0-flash-lite for fastest transcription.\n\nAuthentication (choose one)\nOption 1: Vertex AI with Application Default Credentials (Recommended)\ngcloud auth application-default login\ngcloud config set project YOUR_PROJECT_ID\n\n\nThe script will automatically detect and use ADC when available.\n\nOption 2: Direct Gemini API Key\n\nSet GEMINI_API_KEY in environment (e.g., ~/.env or ~/.clawdbot/.env)\n\nRequirements\nPython 3.10+ (no external dependencies)\nEither GEMINI_API_KEY or gcloud CLI with ADC configured\nSupported Formats\n.ogg / .opus (Telegram voice messages)\n.mp3\n.wav\n.m4a\nUsage\n# Auto-detect auth (tries ADC first, then GEMINI_API_KEY)\npython ~/.claude/skills/gemini-stt/transcribe.py /path/to/audio.ogg\n\n# Force Vertex AI\npython ~/.claude/skills/gemini-stt/transcribe.py /path/to/audio.ogg --vertex\n\n# With a specific model\npython ~/.claude/skills/gemini-stt/transcribe.py /path/to/audio.ogg --model gemini-2.5-pro\n\n# Vertex AI with specific project and region\npython ~/.claude/skills/gemini-stt/transcribe.py /path/to/audio.ogg --vertex --project my-project --region us-central1\n\n# With Clawdbot media\npython ~/.claude/skills/gemini-stt/transcribe.py ~/.clawdbot/media/inbound/voice-message.ogg\n\nOptions\nOption\tDescription\n<audio_file>\tPath to the audio file (required)\n--model, -m\tGemini model to use (default: gemini-2.0-flash-lite)\n--vertex, -v\tForce use of Vertex AI with ADC\n--project, -p\tGCP project ID (for Vertex, defaults to gcloud config)\n--region, -r\tGCP region (for Vertex, default: us-central1)\nSupported Models\n\nAny Gemini model that supports audio input can be used. Recommended models:\n\nModel\tNotes\ngemini-2.0-flash-lite\tDefault. Fastest transcription speed.\ngemini-2.0-flash\tFast and cost-effective.\ngemini-2.5-flash-lite\tLightweight 2.5 model.\ngemini-2.5-flash\tBalanced speed and quality.\ngemini-2.5-pro\tHigher quality, slower.\ngemini-3-flash-preview\tLatest flash model.\ngemini-3-pro-preview\tLatest pro model, best quality.\n\nSee Gemini API Models for the latest list.\n\nHow It Works\nReads the audio file and base64 encodes it\nAuto-detects authentication:\nIf ADC is available (gcloud), uses Vertex AI endpoint\nOtherwise, uses GEMINI_API_KEY with direct Gemini API\nSends to the selected Gemini model with transcription prompt\nReturns the transcribed text\nExample Integration\n\nFor Clawdbot voice message handling:\n\n# Transcribe incoming voice message\nTRANSCRIPT=$(python ~/.claude/skills/gemini-stt/transcribe.py \"$AUDIO_PATH\")\necho \"User said: $TRANSCRIPT\"\n\nError Handling\n\nThe script exits with code 1 and prints to stderr on:\n\nNo authentication available (neither ADC nor GEMINI_API_KEY)\nFile not found\nAPI errors\nMissing GCP project (when using Vertex)\nNotes\nUses Gemini 2.0 Flash Lite by default for fastest transcription\nNo external Python dependencies (uses stdlib only)\nAutomatically detects MIME type from file extension\nPrefers Vertex AI with ADC when available (no API key management needed)"
  },
  "trust": {
    "sourceLabel": "tencent",
    "provenanceUrl": "https://clawhub.ai/araa47/gemini-stt",
    "publisherUrl": "https://clawhub.ai/araa47/gemini-stt",
    "owner": "araa47",
    "version": "1.1.0",
    "license": null,
    "verificationStatus": "Indexed source record"
  },
  "links": {
    "detailUrl": "https://openagent3.xyz/skills/gemini-stt",
    "downloadUrl": "https://openagent3.xyz/downloads/gemini-stt",
    "agentUrl": "https://openagent3.xyz/skills/gemini-stt/agent",
    "manifestUrl": "https://openagent3.xyz/skills/gemini-stt/agent.json",
    "briefUrl": "https://openagent3.xyz/skills/gemini-stt/agent.md"
  }
}