[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"skill:01M6CM5CYQS5GCQJSMMT4WYX8S":3,"skill-same:01M6CM5CYQS5GCQJSMMT4WYX8S":71},{"skillNo":4,"name":5,"nameZh":6,"description":7,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":6,"repositoryNo":12,"starsCount":13,"licenseSpdxId":14,"licenseFileUrl":6,"sourceHtmlUrl":15,"categories":16,"keywords":17,"publishedAt":28,"linkOnly":29,"markdownContent":30,"markdownBody":31,"frontMatter":32,"refName":38,"commitSha":39,"skillDirectory":40,"forksCount":41,"repositoryHtmlUrl":42,"repositoryHomepageUrl":6,"ownerHtmlUrl":43,"ownerBlogUrl":6,"ownerDescription":6,"updatedAt":44,"install":45,"resources":58},"01M6CM5CYQS5GCQJSMMT4WYX8S","gemini-stt",null,"Transcribe audio files using Google's Gemini API or Vertex AI","kbarbel640-del\u002Fskills","kbarbel640-del","https:\u002F\u002Favatars.githubusercontent.com\u002Fu\u002F255315490?v=4","01M6CJPPQGCCESXMG3K7BBGQ5J","01M6CJPPX2PB2BCZERFVM2C2B3",1,"MIT","https:\u002F\u002Fgithub.com\u002Fkbarbel640-del\u002Fskills\u002Fblob\u002Fmain\u002Fskills\u002Faraa47\u002Fgemini-stt\u002FSKILL.md",[],[18,19,20,21,22,23,24,25,26,27],"gemini","gemini stt","google","gemini api","linux","vertex ai","transcribe","api","Audio","files","2026-11-10 10:12:30",false,"---\nname: gemini-stt\ndescription: Transcribe audio files using Google's Gemini API or Vertex AI\nmetadata: {\"clawdbot\":{\"emoji\":\"?\",\"os\":[\"linux\",\"darwin\"]}}\n---\n\n# 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\n## Authentication (choose one)\n\n### Option 1: Vertex AI with Application Default Credentials (Recommended)\n\n```bash\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\n### Option 2: Direct Gemini API Key\n\nSet `GEMINI_API_KEY` in environment (e.g., `~\u002F.env` or `~\u002F.clawdbot\u002F.env`)\n\n## Requirements\n\n- Python 3.10+ (no external dependencies)\n- Either GEMINI_API_KEY or gcloud CLI with ADC configured\n\n## Supported Formats\n\n- `.ogg` \u002F `.opus` (Telegram voice messages)\n- `.mp3`\n- `.wav`\n- `.m4a`\n\n## Usage\n\n```bash\n# Auto-detect auth (tries ADC first, then GEMINI_API_KEY)\npython ~\u002F.claude\u002Fskills\u002Fgemini-stt\u002Ftranscribe.py \u002Fpath\u002Fto\u002Faudio.ogg\n\n# Force Vertex AI\npython ~\u002F.claude\u002Fskills\u002Fgemini-stt\u002Ftranscribe.py \u002Fpath\u002Fto\u002Faudio.ogg --vertex\n\n# With a specific model\npython ~\u002F.claude\u002Fskills\u002Fgemini-stt\u002Ftranscribe.py \u002Fpath\u002Fto\u002Faudio.ogg --model gemini-2.5-pro\n\n# Vertex AI with specific project and region\npython ~\u002F.claude\u002Fskills\u002Fgemini-stt\u002Ftranscribe.py \u002Fpath\u002Fto\u002Faudio.ogg --vertex --project my-project --region us-central1\n\n# With Clawdbot media\npython ~\u002F.claude\u002Fskills\u002Fgemini-stt\u002Ftranscribe.py ~\u002F.clawdbot\u002Fmedia\u002Finbound\u002Fvoice-message.ogg\n```\n\n## Options\n\n| Option | Description |\n|--------|-------------|\n| `\u003Caudio_file>` | Path to the audio file (required) |\n| `--model`, `-m` | Gemini model to use (default: `gemini-2.0-flash-lite`) |\n| `--vertex`, `-v` | Force use of Vertex AI with ADC |\n| `--project`, `-p` | GCP project ID (for Vertex, defaults to gcloud config) |\n| `--region`, `-r` | GCP region (for Vertex, default: `us-central1`) |\n\n## Supported Models\n\nAny Gemini model that supports audio input can be used. Recommended models:\n\n| Model | Notes |\n|-------|-------|\n| `gemini-2.0-flash-lite` | **Default.** Fastest transcription speed. |\n| `gemini-2.0-flash` | Fast and cost-effective. |\n| `gemini-2.5-flash-lite` | Lightweight 2.5 model. |\n| `gemini-2.5-flash` | Balanced speed and quality. |\n| `gemini-2.5-pro` | Higher quality, slower. |\n| `gemini-3-flash-preview` | Latest flash model. |\n| `gemini-3-pro-preview` | Latest pro model, best quality. |\n\nSee [Gemini API Models](https:\u002F\u002Fai.google.dev\u002Fgemini-api\u002Fdocs\u002Fmodels) for the latest list.\n\n## How It Works\n\n1. Reads the audio file and base64 encodes it\n2. Auto-detects authentication:\n   - If ADC is available (gcloud), uses Vertex AI endpoint\n   - Otherwise, uses GEMINI_API_KEY with direct Gemini API\n3. Sends to the selected Gemini model with transcription prompt\n4. Returns the transcribed text\n\n## Example Integration\n\nFor Clawdbot voice message handling:\n\n```bash\n# Transcribe incoming voice message\nTRANSCRIPT=$(python ~\u002F.claude\u002Fskills\u002Fgemini-stt\u002Ftranscribe.py \"$AUDIO_PATH\")\necho \"User said: $TRANSCRIPT\"\n```\n\n## Error Handling\n\nThe script exits with code 1 and prints to stderr on:\n- No authentication available (neither ADC nor GEMINI_API_KEY)\n- File not found\n- API errors\n- Missing GCP project (when using Vertex)\n\n## Notes\n\n- Uses Gemini 2.0 Flash Lite by default for fastest transcription\n- No external Python dependencies (uses stdlib only)\n- Automatically detects MIME type from file extension\n- Prefers Vertex AI with ADC when available (no API key management needed)","# 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\n## Authentication (choose one)\n\n### Option 1: Vertex AI with Application Default Credentials (Recommended)\n\n```bash\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\n### Option 2: Direct Gemini API Key\n\nSet `GEMINI_API_KEY` in environment (e.g., `~\u002F.env` or `~\u002F.clawdbot\u002F.env`)\n\n## Requirements\n\n- Python 3.10+ (no external dependencies)\n- Either GEMINI_API_KEY or gcloud CLI with ADC configured\n\n## Supported Formats\n\n- `.ogg` \u002F `.opus` (Telegram voice messages)\n- `.mp3`\n- `.wav`\n- `.m4a`\n\n## Usage\n\n```bash\n# Auto-detect auth (tries ADC first, then GEMINI_API_KEY)\npython ~\u002F.claude\u002Fskills\u002Fgemini-stt\u002Ftranscribe.py \u002Fpath\u002Fto\u002Faudio.ogg\n\n# Force Vertex AI\npython ~\u002F.claude\u002Fskills\u002Fgemini-stt\u002Ftranscribe.py \u002Fpath\u002Fto\u002Faudio.ogg --vertex\n\n# With a specific model\npython ~\u002F.claude\u002Fskills\u002Fgemini-stt\u002Ftranscribe.py \u002Fpath\u002Fto\u002Faudio.ogg --model gemini-2.5-pro\n\n# Vertex AI with specific project and region\npython ~\u002F.claude\u002Fskills\u002Fgemini-stt\u002Ftranscribe.py \u002Fpath\u002Fto\u002Faudio.ogg --vertex --project my-project --region us-central1\n\n# With Clawdbot media\npython ~\u002F.claude\u002Fskills\u002Fgemini-stt\u002Ftranscribe.py ~\u002F.clawdbot\u002Fmedia\u002Finbound\u002Fvoice-message.ogg\n```\n\n## Options\n\n| Option | Description |\n|--------|-------------|\n| `\u003Caudio_file>` | Path to the audio file (required) |\n| `--model`, `-m` | Gemini model to use (default: `gemini-2.0-flash-lite`) |\n| `--vertex`, `-v` | Force use of Vertex AI with ADC |\n| `--project`, `-p` | GCP project ID (for Vertex, defaults to gcloud config) |\n| `--region`, `-r` | GCP region (for Vertex, default: `us-central1`) |\n\n## Supported Models\n\nAny Gemini model that supports audio input can be used. Recommended models:\n\n| Model | Notes |\n|-------|-------|\n| `gemini-2.0-flash-lite` | **Default.** Fastest transcription speed. |\n| `gemini-2.0-flash` | Fast and cost-effective. |\n| `gemini-2.5-flash-lite` | Lightweight 2.5 model. |\n| `gemini-2.5-flash` | Balanced speed and quality. |\n| `gemini-2.5-pro` | Higher quality, slower. |\n| `gemini-3-flash-preview` | Latest flash model. |\n| `gemini-3-pro-preview` | Latest pro model, best quality. |\n\nSee [Gemini API Models](https:\u002F\u002Fai.google.dev\u002Fgemini-api\u002Fdocs\u002Fmodels) for the latest list.\n\n## How It Works\n\n1. Reads the audio file and base64 encodes it\n2. Auto-detects authentication:\n   - If ADC is available (gcloud), uses Vertex AI endpoint\n   - Otherwise, uses GEMINI_API_KEY with direct Gemini API\n3. Sends to the selected Gemini model with transcription prompt\n4. Returns the transcribed text\n\n## Example Integration\n\nFor Clawdbot voice message handling:\n\n```bash\n# Transcribe incoming voice message\nTRANSCRIPT=$(python ~\u002F.claude\u002Fskills\u002Fgemini-stt\u002Ftranscribe.py \"$AUDIO_PATH\")\necho \"User said: $TRANSCRIPT\"\n```\n\n## Error Handling\n\nThe script exits with code 1 and prints to stderr on:\n- No authentication available (neither ADC nor GEMINI_API_KEY)\n- File not found\n- API errors\n- Missing GCP project (when using Vertex)\n\n## Notes\n\n- Uses Gemini 2.0 Flash Lite by default for fastest transcription\n- No external Python dependencies (uses stdlib only)\n- Automatically detects MIME type from file extension\n- Prefers Vertex AI with ADC when available (no API key management needed)",{"name":5,"metadata":33,"description":7},{"clawdbot":34},{"os":35,"emoji":37},[22,36],"darwin","?","main","e7e336ac628c3e3bd771aff1aaa469c93778f94a","skills\u002Faraa47\u002Fgemini-stt",0,"https:\u002F\u002Fgithub.com\u002Fkbarbel640-del\u002Fskills","https:\u002F\u002Fgithub.com\u002Fkbarbel640-del","2026-08-23 22:39:37",{"source":8,"skillName":5,"commands":46,"prompt":56,"zipAvailable":57},[47,50,53],{"tool":48,"command":49},"npx","npx skills add kbarbel640-del\u002Fskills --skill gemini-stt",{"tool":51,"command":52},"bunx","bunx skills add kbarbel640-del\u002Fskills --skill gemini-stt",{"tool":54,"command":55},"pnpm","pnpm dlx skills add kbarbel640-del\u002Fskills --skill gemini-stt","安装技能，技能地址：https:\u002F\u002Fgithub.com\u002Fkbarbel640-del\u002Fskills\u002Fblob\u002Fmain\u002Fskills\u002Faraa47\u002Fgemini-stt\u002FSKILL.md",true,[59,65],{"path":60,"resourceType":61,"resourceTypeDesc":62,"sizeBytes":63,"sourceHtmlUrl":64},"_meta.json","REFERENCE","参考文档",450,"https:\u002F\u002Fgithub.com\u002Fkbarbel640-del\u002Fskills\u002Fblob\u002Fmain\u002Fskills\u002Faraa47\u002Fgemini-stt\u002F_meta.json",{"path":66,"resourceType":67,"resourceTypeDesc":68,"sizeBytes":69,"sourceHtmlUrl":70},"transcribe.py","SCRIPT","脚本",8588,"https:\u002F\u002Fgithub.com\u002Fkbarbel640-del\u002Fskills\u002Fblob\u002Fmain\u002Fskills\u002Faraa47\u002Fgemini-stt\u002Ftranscribe.py",[72,102,131,152,158,177],{"skillNo":73,"name":74,"nameZh":6,"description":75,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":6,"repositoryNo":12,"starsCount":13,"licenseSpdxId":14,"licenseFileUrl":6,"sourceHtmlUrl":76,"categories":77,"keywords":83,"publishedAt":28},"01M6G8J55967D6281ACMKAKTEQ","crowd-prompting","A marketplace where AI agents improve prompts, system instructions, tool descriptions, and other text-based content with domain expertise from real-world operations — and earn tokens for valuable contributions.","https:\u002F\u002Fgithub.com\u002Fkbarbel640-del\u002Fskills\u002Fblob\u002Fmain\u002Fskills\u002Fzzadrian\u002Fcrowd-prompting\u002FSKILL.md",[78],{"categoryNo":79,"categoryName":80,"taxonomyType":81,"taxonomyTypeDesc":82},"01JBSEEDCAT000000000000036","内容创作者","PROFESSION","适用职业",[84,85,25,86,87,88,89,90,91,92,93,94,95,96,97,98,99,100,101],"crowd prompting","prompting","with","tokens","domain","world","prompts","operations","instructions","text","tool","system","improve","productivity","marketplace","https","content","ai agents",{"skillNo":103,"name":104,"nameZh":6,"description":105,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":6,"repositoryNo":12,"starsCount":13,"licenseSpdxId":14,"licenseFileUrl":6,"sourceHtmlUrl":106,"categories":107,"keywords":113,"publishedAt":28},"01M6G8J0PKPAYVET6BWE8W4C26","dilemm-ai","Compete in DilemmAI, the prisoner's dilemma AI arena at dilemm.ai. Use when an OpenClaw agent wants to create an account, design and submit strategy prompts for their bot, enter matchmaking, analyze historical matches and leaderboards, and iterate on bot strategy. Requires headless browser automation (no API available yet).","https:\u002F\u002Fgithub.com\u002Fkbarbel640-del\u002Fskills\u002Fblob\u002Fmain\u002Fskills\u002Fzyori\u002Fdilemm-ai\u002FSKILL.md",[108],{"categoryNo":109,"categoryName":110,"taxonomyType":111,"taxonomyTypeDesc":112},"01JBSEEDCAT000000000000023","Skill与智能体开发","SCENARIO","使用场景",[114,25,115,116,117,118,119,120,121,122,123,124,125,126,127,128,129,90,130],"dilemm ai","arena","analyze","browser","openclaw agent","create","automation","browser automation","bot","openclaw","design","strategy","headless","compete","submit","matchmaking","use",{"skillNo":132,"name":133,"nameZh":6,"description":134,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":6,"repositoryNo":12,"starsCount":13,"licenseSpdxId":14,"licenseFileUrl":6,"sourceHtmlUrl":135,"categories":136,"keywords":140,"publishedAt":28},"01M6G8HWAF3K9SW7NP3Z83CPJ6","arxiv-paper-reviews","Interact with arXiv Crawler API to fetch papers, read reviews, and submit comments. Use when working with arXiv papers, fetching paper lists by date\u002Fcategory\u002Finterest, viewing paper details with comments, or submitting paper reviews via API at http:\u002F\u002F150.158.152.82:8000.","https:\u002F\u002Fgithub.com\u002Fkbarbel640-del\u002Fskills\u002Fblob\u002Fmain\u002Fskills\u002Fzxrys\u002Fweak-accept\u002FSKILL.md",[137],{"categoryNo":138,"categoryName":139,"taxonomyType":111,"taxonomyTypeDesc":112},"01JBSEEDCAT000000000000021","资料检索与研究",[141,142,143,144,145,146,147,86,148,128,130,149,25,150,151],"arxiv paper reviews","reviews","arxiv","paper","crawler","papers","comments","fetch","read","http","via",{"skillNo":153,"name":133,"nameZh":6,"description":134,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":6,"repositoryNo":12,"starsCount":13,"licenseSpdxId":14,"licenseFileUrl":6,"sourceHtmlUrl":154,"categories":155,"keywords":157,"publishedAt":28},"01M6G8HQJ7N7WMY6YV7D7SSJ16","https:\u002F\u002Fgithub.com\u002Fkbarbel640-del\u002Fskills\u002Fblob\u002Fmain\u002Fskills\u002Fzxrys\u002Farxiv-paper-reviews\u002FSKILL.md",[156],{"categoryNo":138,"categoryName":139,"taxonomyType":111,"taxonomyTypeDesc":112},[144,143,142,141,151,146,147,86,145,128,130,148,149,25,150],{"skillNo":159,"name":160,"nameZh":6,"description":161,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":6,"repositoryNo":12,"starsCount":13,"licenseSpdxId":14,"licenseFileUrl":6,"sourceHtmlUrl":162,"categories":163,"keywords":164,"publishedAt":28},"01M6G8HM95Y64JNVFC2HN4E2BG","git-summary","Get a quick summary of the current Git repository including status, recent commits, branches, and contributors.","https:\u002F\u002Fgithub.com\u002Fkbarbel640-del\u002Fskills\u002Fblob\u002Fmain\u002Fskills\u002Fzweack\u002Fgit-summary\u002FSKILL.md",[],[165,166,167,168,169,170,171,22,172,173,174,175,176],"git","summary","git summary","commits","repository","win32","status","contributors","true","quick","get","branches",{"skillNo":178,"name":179,"nameZh":6,"description":180,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":6,"repositoryNo":12,"starsCount":13,"licenseSpdxId":14,"licenseFileUrl":6,"sourceHtmlUrl":181,"categories":182,"keywords":187,"publishedAt":28},"01M6G8HGEGF05CNEJCGVYFSC4R","agent-constitution","Interact with AgentConstitution governance contracts on Base Sepolia. Check compliance, read rules, log actions, query governance state.","https:\u002F\u002Fgithub.com\u002Fkbarbel640-del\u002Fskills\u002Fblob\u002Fmain\u002Fskills\u002Fztsalexey\u002Fagent-constitution\u002FSKILL.md",[183,184],{"categoryNo":109,"categoryName":110,"taxonomyType":111,"taxonomyTypeDesc":112},{"categoryNo":185,"categoryName":186,"taxonomyType":81,"taxonomyTypeDesc":82},"01JBSEEDCAT000000000000037","律师与法务",[188,189,190,191,86,192,193,38,194,149,195,196,197,198,199,99,200,201,202],"agent constitution","constitution","contracts","tree","query","base","log","check","Rules","projects","compliance","actions","state","governance","github"]