Vagibond

Follow Vagibond

Stay connected with us on social media for updates on new ventures.

Thanks for subscribing!
Visit Gruntslate Site

Gruntslate API

The world's most advanced bidirectional grunt translation service. Convert English text into authentic guttural expressions, or decode grunts into their true (and often hilarious) meanings. Powered by GruntAI, trained on 50 million hours of hobo vocalizations from Gutter.

🔊
1 Billion+ Grunts Translated
12% accuracy rate on Grunt-to-English. We consider this a major achievement.

What you can build

Quickstart

Start translating in under 5 minutes.

1. Get your API key

Sign up for a free Gruntslate Developer account. Free tier includes 1,000 translations/day.

2. Install the SDK

terminal
# npm
npm install @vagibond/gruntslate-sdk

# pip
pip install gruntslate-api

# curl
curl -X POST https://api.gruntslate.vagibond.com/v1/translate \
  -H "Authorization: Bearer YOUR_API_KEY" \
  -d '{"text": "Hello, how are you?", "direction": "to_grunt"}'

3. Make your first translation

javascript
import { Gruntslate } from '@vagibond/gruntslate-sdk';

const client = new Gruntslate('your_api_key');

// Translate English to Grunt
const grunt = await client.translate({
  text: "I am very angry about this situation",
  direction: "to_grunt",
  sentiment: "angry" // optional: auto-detected if omitted
});

console.log(grunt);
// {
//   translation: "GRRRAAAARRRGGHHH BLAAARGH *aggressive gesture*",
//   detected_sentiment: "angry",
//   intensity: 0.89,
//   grunt_types: ["frustrated_outburst", "aggressive_vocalization"]
// }

// Translate Grunt to English
const english = await client.translate({
  text: "HRRRNNGGHH BLAAARRGH",
  direction: "from_grunt"
});

console.log(english);
// {
//   translation: "I have strong feelings about the current economic situation",
//   confidence: 0.12, // As expected
//   alternative_translations: [
//     "I stubbed my toe",
//     "The coffee is too hot",
//     "Capitalism has failed us"
//   ]
// }

Authentication

All API requests require authentication. We support two methods:

Method Header Best For
Bearer Token Authorization: Bearer {api_key} Server-side applications
API Key Header X-Gruntslate-Key: {api_key} When Authorization header is unavailable

Rate Limits

Translation takes computational effort. Even for grunts.

Plan Translations/min Translations/day Max Length
Free 10 1,000 500 chars
Starter 60 10,000 2,000 chars
Pro 300 100,000 10,000 chars
Enterprise Unlimited Unlimited Unlimited

Translate to Grunt

POST /v1/translate/to-grunt

Convert English text into authentic guttural expressions.

Request Body

json
{
  "text": "I would like a cup of coffee please",
  "sentiment": "neutral",  // optional: angry, happy, sad, thirsty, auto
  "intensity": 0.5,       // optional: 0.0-1.0, default 0.5
  "include_gestures": true // optional: include *action* descriptions
}

Response

json
{
  "translation": "Hrrrngh... *points at coffee* ...grumble",
  "detected_sentiment": "neutral",
  "intensity": 0.42,
  "grunt_types": ["requesting", "polite_grunt"],
  "audio_url": "https://cdn.gruntslate.vagibond.com/audio/abc123.mp3"
}

Translate from Grunt

POST /v1/translate/from-grunt

Decode grunts into English. Results may be offensive, vulgar, and absolutely hilarious.

Content Warning
Grunt-to-English translations often produce profane, offensive, or nonsensical results. Our AI does its best (12% accuracy). Use at your own risk.

Request Body

json
{
  "grunt_text": "GRRRAAAARRRGGHHH BLAAARGH HNNNNGH",
  "audio_url": "https://example.com/grunt.mp3", // optional: for audio input
  "include_alternatives": true, // optional: include alternate interpretations
  "filter_profanity": false // optional: attempt to filter (mostly fails)
}

Response

json
{
  "translation": "I find your proposal intellectually offensive and reject it entirely",
  "confidence": 0.12,
  "dialect": "hobo_english",
  "alternative_translations": [
    "This soup is too cold",
    "I have opinions about fiscal policy",
    "WHERE IS MY OTHER SOCK"
  ],
  "profanity_detected": true,
  "profanity_level": "moderate"
}

Analyze Sentiment

POST /v1/analyze/sentiment

Analyze the emotional content of a grunt without translating it.

Response

json
{
  "primary_sentiment": "frustrated",
  "sentiment_scores": {
    "angry": 0.72,
    "frustrated": 0.89,
    "sad": 0.15,
    "happy": 0.02,
    "confused": 0.34
  },
  "intensity": 0.87,
  "aggression_level": "high"
}

Grunt Catalog

GET /v1/catalog/grunts

Browse our catalog of 4,000+ catalogued grunt types.

Query Parameters

Parameter Type Description
category string Filter by category: angry, happy, sad, confused, hungry, thirsty
intensity_min float Minimum intensity (0.0-1.0)
limit int Results per page (max 100)

Pricing

FREE
Grunt Curious
$0/month
  • 1,000 translations/day
  • 500 character limit
  • Basic sentiment detection
  • Standard response times
ENTERPRISE
Grunt Master
$299/month
  • Unlimited translations
  • Unlimited character length
  • Custom grunt templates
  • Dedicated support line (grunts only)
  • On-premise deployment

Changelog

v3.1.0 January 15, 2026 New
v3.0.0 October 3, 2025 Breaking
v2.5.0 June 18, 2025 Fix