{"endpoints":["/api/qr","/api/barcode","/api/emoji-image","/api/uuid","/api/token","/api/api-token","/api/password","/api/hash","/api/api-key","/api/jwt-token","/api/oauth-token","/api/webhook-secret","/api/encryption-key","/api/salt","/api/ssh-key","/api/bearer-token","/api/port-number","/api/base64","/api/url","/api/slug","/api/cron-expression","/api/regex-pattern","/api/json-schema-example","/api/json-to-typescript","/api/json-fetch-code","/api/json-axios-code","/api/http-curl-command","/api/http-request-example","/api/http-har-request","/api/json-api-response","/api/html-meta-tags","/api/timestamp","/api/date","/api/time","/api/datetime","/api/ip-address","/api/ipv4","/api/ipv6","/api/mac","/api/phone","/api/username","/api/company","/api/minecraft-uuid","/api/us-state","/api/zodiac","/api/person","/api/number","/api/binary","/api/hex-number","/api/octal-number","/api/fraction","/api/string","/api/emoji","/api/pin","/api/passphrase","/api/colour","/api/palette","/api/css-gradient","/api/box-shadow","/api/text-shadow","/api/border-radius","/api/chart-svg","/api/lorem","/api/utm","/api/coordinates","/api/zip","/api/card","/api/iban","/api/dice","/api/dice-probability","/api/lottery","/api/minecraft-seed","/api/pokemon","/api/coinflip","/api/list-randomizer","/api/yes-no","/api/teams","/api/secret-santa","/api/name-picker","/api/markdown-to-jira","/api/jira-to-markdown","/api/markdown-format","/api/html-transform","/api/timestamp-transform","/api/text-transform","/api/json-transform","/api/data-shape","/api/developer-inspect","/api/developer-text","/api/request-transform","/api/url-transform","/api/unit-converter","/api/image-format","/api/slackmoji","/api/slack-hdr-emoji","/api/file-format","/api/document-format","/api/video-format","/api/audio-format"],"exportFormats":["csv","json","txt"],"features":{"ai":{"available":false,"enabled":false,"requiredServices":["ai"],"unavailableServices":[]},"conversions":{"available":true,"enabled":true,"requiredServices":["conversionBucket","conversionContainer","conversionQueue"],"unavailableServices":[]}},"name":"Pashi","services":{"ai":{"available":true,"label":"Cloudflare Workers AI","requiredFor":["ai"],"status":"available"},"conversionBucket":{"available":true,"label":"Conversion R2 bucket","requiredFor":["conversions"],"status":"available"},"conversionContainer":{"available":true,"label":"Conversion container","requiredFor":["conversions"],"status":"available"},"conversionQueue":{"available":true,"label":"Conversion queue","requiredFor":["conversions"],"status":"available"}},"tools":[{"aliases":["qr-code","qr-codes","qr-code-generator","url-qr-code-generator"],"audience":"Engineering","description":"QR image for links and notes.","display":{"actionLabel":"generate QR","category":"Code","examples":["https://pashi.app","https://nicholasgriffin.dev/docs"]},"endpoint":"/api/qr","id":"qr","input":{"label":"Input","mode":"text","required":true},"label":"QR image","modes":[],"placeholder":"https://pashi.app","result":{"kind":"image"},"toolType":"generator"},{"aliases":["barcodes","barcode-generator","barcode-data-encoder"],"audience":"Engineering","description":"Code 128 barcode SVG.","display":{"actionLabel":"Generate barcode","category":"Code","examples":["PASHI-12345","ORDER-2048"]},"endpoint":"/api/barcode","id":"barcode","input":{"fields":[{"id":"value","label":"Value","placeholder":"PASHI-12345","required":true,"type":"text"},{"id":"height","label":"Height","placeholder":"160","required":true,"type":"text"},{"id":"scale","label":"Scale","placeholder":"2","required":true,"type":"text"},{"id":"text","label":"Text","options":["show","hide"],"placeholder":"show","required":false,"type":"select"}],"label":"Value","mode":"text","required":true},"label":"Barcode","modes":[],"placeholder":"PASHI-12345","result":{"kind":"image"},"toolType":"generator"},{"aliases":["emoji-images"],"audience":"Design","description":"Square SVG emoji image.","display":{"actionLabel":"Generate image","category":"Design","examples":["⚡","✨"]},"endpoint":"/api/emoji-image","id":"emoji-image","input":{"fields":[{"id":"emoji","label":"Emoji","placeholder":"⚡","required":true,"type":"text"},{"id":"size","label":"Size","placeholder":"512","required":true,"type":"text"},{"id":"background","label":"Background","placeholder":"0d1024","required":true,"type":"text"}],"label":"Emoji","mode":"text","required":false},"label":"Emoji image","modes":[],"placeholder":"⚡","result":{"kind":"image"},"toolType":"generator"},{"aliases":["uuids","uuid-generator","bulk-uuid-generator","offline-uuid-generator","uuid-v1-generator"],"audience":"Engineering","description":"UUIDs across versions v1, v3, v4, v5 and v7.","display":{"actionLabel":"Generate UUID","category":"Code","examples":["1","10"]},"endpoint":"/api/uuid","id":"uuid","input":{"fields":[{"id":"count","label":"Count","placeholder":"1","required":true,"type":"text"},{"id":"format","label":"Format","options":["v1","v3","v4","v5","v7"],"placeholder":"v4","required":false,"type":"select"},{"id":"outputFormat","label":"Output format","options":["standard","uppercase","no-hyphens","braced","urn"],"placeholder":"standard","required":false,"type":"select"},{"id":"name","label":"Name","placeholder":"name","required":false,"type":"text"},{"id":"namespace","label":"Namespace","placeholder":"url","required":false,"type":"text"}],"label":"Count","mode":"none","required":false},"label":"UUID","modes":[],"placeholder":"1","result":{"kind":"text"},"toolType":"generator"},{"aliases":[],"audience":"Engineering","description":"URL-safe random tokens.","display":{"actionLabel":"Generate token","category":"Code","examples":["32","48"]},"endpoint":"/api/token","id":"token","input":{"fields":[{"id":"length","label":"Length","placeholder":"32","required":true,"type":"text"},{"id":"count","label":"Count","placeholder":"1","required":true,"type":"text"}],"label":"Length","mode":"text","required":false},"label":"Token","modes":[],"placeholder":"32","result":{"kind":"text"},"toolType":"generator"},{"aliases":["api-tokens"],"audience":"Security","description":"API tokens with selectable encoding.","display":{"actionLabel":"Generate API token","category":"Security","examples":["32","64"]},"endpoint":"/api/api-token","id":"api-token","input":{"fields":[{"id":"count","label":"Count","placeholder":"10","required":true,"type":"text"},{"id":"length","label":"Length","placeholder":"32","required":true,"type":"text"},{"id":"format","label":"Format","options":["alphanumeric","hex","base64","base64url"],"placeholder":"alphanumeric","required":false,"type":"select"},{"id":"prefix","label":"Prefix","placeholder":"token_","required":false,"type":"text"}],"label":"Length","mode":"text","required":false},"label":"API token","modes":[],"placeholder":"32","result":{"kind":"text"},"toolType":"generator"},{"aliases":["passwords"],"audience":"Security","description":"Strong passwords with configurable character sets.","display":{"actionLabel":"Generate password","category":"Security","examples":["16","32"]},"endpoint":"/api/password","id":"password","input":{"fields":[{"id":"length","label":"Length","placeholder":"16","required":true,"type":"text"},{"id":"count","label":"Count","placeholder":"5","required":true,"type":"text"},{"id":"uppercase","label":"Uppercase","options":["true","false"],"placeholder":"true","required":false,"type":"select"},{"id":"lowercase","label":"Lowercase","options":["true","false"],"placeholder":"true","required":false,"type":"select"},{"id":"numbers","label":"Numbers","options":["true","false"],"placeholder":"true","required":false,"type":"select"},{"id":"symbols","label":"Symbols","options":["true","false"],"placeholder":"true","required":false,"type":"select"},{"id":"excludeSimilar","label":"Exclude similar","options":["false","true"],"placeholder":"false","required":false,"type":"select"},{"id":"customSymbols","label":"Custom symbols","placeholder":"!@#$%^&*()_+-=[]{}|;:,.<>?","required":false,"type":"text"}],"label":"Length","mode":"text","required":false},"label":"Password","modes":[],"placeholder":"16","result":{"kind":"text"},"toolType":"generator"},{"aliases":["hashes","hash-generator","md5-hash-generator-checker","sha1-hash-generator-decrypter","binary-checksum-hash-generator"],"audience":"Security","description":"MD5 and SHA hashes for text or random data.","display":{"actionLabel":"Generate hash","category":"Security","examples":["hello world","sha256"]},"endpoint":"/api/hash","id":"hash","input":{"fields":[{"id":"value","label":"Text","placeholder":"hello world","required":false,"type":"textarea"},{"id":"algorithm","label":"Algorithm","options":["md5","sha1","sha256","sha512"],"placeholder":"sha256","required":true,"type":"select"},{"id":"count","label":"Count","placeholder":"1","required":true,"type":"text"},{"id":"uppercase","label":"Uppercase","options":["false","true"],"placeholder":"false","required":false,"type":"select"},{"id":"includeInput","label":"Include input","options":["false","true"],"placeholder":"false","required":false,"type":"select"}],"label":"Input","mode":"text","required":false},"label":"Hash","modes":[],"placeholder":"Text to hash","result":{"kind":"fields"},"toolType":"generator"},{"aliases":["api-keys"],"audience":"Security","description":"API keys with selectable formats and optional secrets.","display":{"actionLabel":"Generate key","category":"Security","examples":["32","64"]},"endpoint":"/api/api-key","id":"api-key","input":{"fields":[{"id":"count","label":"Count","placeholder":"1","required":true,"type":"text"},{"id":"length","label":"Length","placeholder":"32","required":true,"type":"text"},{"id":"format","label":"Format","options":["alphanumeric","hex","base64","base64url","uuid","numeric"],"placeholder":"alphanumeric","required":false,"type":"select"},{"id":"prefix","label":"Prefix","placeholder":"sk_","required":false,"type":"text"},{"id":"includeSecret","label":"Include secret","options":["false","true"],"placeholder":"false","required":false,"type":"select"},{"id":"keyLength","label":"Key length","placeholder":"32","required":true,"type":"text"},{"id":"secretLength","label":"Secret length","placeholder":"64","required":true,"type":"text"},{"id":"keyPrefix","label":"Key prefix","placeholder":"key_","required":false,"type":"text"},{"id":"secretPrefix","label":"Secret prefix","placeholder":"secret_","required":false,"type":"text"}],"label":"Length","mode":"text","required":false},"label":"API key","modes":[],"placeholder":"32","result":{"kind":"fields"},"toolType":"generator"},{"aliases":["jwt-tokens","jwt-generator-signer"],"audience":"Security","description":"Signed JWTs with HMAC or RSA algorithms and configurable claims.","display":{"actionLabel":"Sign JWT","category":"Security","examples":["user_123","RS256"]},"endpoint":"/api/jwt-token","id":"jwt-token","input":{"fields":[{"id":"count","label":"Count","placeholder":"1","required":true,"type":"text"},{"id":"algorithm","label":"Algorithm","options":["HS256","HS384","HS512","RS256","RS384","RS512"],"placeholder":"HS256","required":false,"type":"select"},{"id":"subject","label":"Subject","placeholder":"user_123","required":true,"type":"text"},{"id":"issuer","label":"Issuer","placeholder":"pashi","required":true,"type":"text"},{"id":"audience","label":"Audience","placeholder":"https://api.example.com","required":false,"type":"text"},{"id":"expiresIn","label":"Expires in seconds","placeholder":"3600","required":true,"type":"text"},{"id":"includeNbf","label":"Include nbf","options":["false","true"],"placeholder":"false","required":false,"type":"select"},{"id":"includeJti","label":"Include jti","options":["true","false"],"placeholder":"true","required":false,"type":"select"},{"id":"customClaims","label":"Custom claims JSON","placeholder":"{\"role\":\"admin\"}","required":false,"type":"textarea"}],"label":"Subject","mode":"text","required":false},"label":"JWT token","modes":[],"placeholder":"user_123","result":{"kind":"fields"},"toolType":"generator"},{"aliases":["oauth-tokens"],"audience":"Security","description":"OAuth 2.0 token response with optional refresh token.","display":{"actionLabel":"Generate OAuth","category":"Security","examples":["64"]},"endpoint":"/api/oauth-token","id":"oauth-token","input":{"fields":[{"id":"count","label":"Count","placeholder":"1","required":true,"type":"text"},{"id":"tokenType","label":"Token type","options":["bearer","mac","basic"],"placeholder":"bearer","required":false,"type":"select"},{"id":"format","label":"Format","options":["base64","base64url","hex","alphanumeric"],"placeholder":"base64url","required":false,"type":"select"},{"id":"accessTokenLength","label":"Access length","placeholder":"64","required":true,"type":"text"},{"id":"refreshTokenLength","label":"Refresh length","placeholder":"128","required":true,"type":"text"},{"id":"expiresIn","label":"Expires in seconds","placeholder":"3600","required":true,"type":"text"},{"id":"scope","label":"Scope","placeholder":"read write","required":false,"type":"text"},{"id":"includeRefresh","label":"Include refresh","options":["true","false"],"placeholder":"true","required":false,"type":"select"}],"label":"Length","mode":"text","required":false},"label":"OAuth token","modes":[],"placeholder":"64","result":{"kind":"fields"},"toolType":"generator"},{"aliases":["webhook-secrets"],"audience":"Security","description":"Webhook HMAC secret with optional signature example.","display":{"actionLabel":"Generate secret","category":"Security","examples":["32"]},"endpoint":"/api/webhook-secret","id":"webhook-secret","input":{"fields":[{"id":"count","label":"Count","placeholder":"1","required":true,"type":"text"},{"id":"length","label":"Length","placeholder":"32","required":true,"type":"text"},{"id":"algorithm","label":"Algorithm","options":["sha256","sha384","sha512"],"placeholder":"sha256","required":false,"type":"select"},{"id":"format","label":"Format","options":["hex","base64","alphanumeric"],"placeholder":"hex","required":false,"type":"select"},{"id":"includeExample","label":"Include example","options":["true","false"],"placeholder":"true","required":false,"type":"select"},{"id":"includeTimestamp","label":"Include timestamp","options":["false","true"],"placeholder":"false","required":false,"type":"select"}],"label":"Length","mode":"text","required":false},"label":"Webhook secret","modes":[],"placeholder":"32","result":{"kind":"fields"},"toolType":"generator"},{"aliases":["encryption-keys"],"audience":"Security","description":"AES, HMAC, and RSA key material with selectable output formats.","display":{"actionLabel":"Generate key","category":"Security","examples":["aes","rsa"]},"endpoint":"/api/encryption-key","id":"encryption-key","input":{"fields":[{"id":"count","label":"Count","placeholder":"1","required":true,"type":"text"},{"id":"algorithm","label":"Algorithm","options":["aes","hmac","rsa"],"placeholder":"aes","required":false,"type":"select"},{"id":"keySize","label":"Key size","options":["128","192","256","384","512","2048","4096"],"placeholder":"256","required":true,"type":"select"},{"id":"format","label":"Format","options":["hex","base64","base64url","pem"],"placeholder":"hex","required":false,"type":"select"},{"id":"includeIv","label":"Include IV","options":["true","false"],"placeholder":"true","required":false,"type":"select"}],"label":"Algorithm","mode":"text","required":false},"label":"Encryption key","modes":[],"placeholder":"aes","result":{"kind":"fields"},"toolType":"generator"},{"aliases":["salts"],"audience":"Security","description":"Cryptographic salt with selectable encoding.","display":{"actionLabel":"Generate salt","category":"Security","examples":["16","32"]},"endpoint":"/api/salt","id":"salt","input":{"fields":[{"id":"length","label":"Length","placeholder":"32","required":true,"type":"text"},{"id":"encoding","label":"Encoding","options":["base64","base64url","hex","alphanumeric"],"placeholder":"base64","required":false,"type":"select"},{"id":"count","label":"Count","placeholder":"1","required":true,"type":"text"},{"id":"includeLength","label":"Include length","options":["false","true"],"placeholder":"false","required":false,"type":"select"}],"label":"Length","mode":"text","required":false},"label":"Salt","modes":[],"placeholder":"32","result":{"kind":"fields"},"toolType":"generator"},{"aliases":["ssh-keys"],"audience":"Security","description":"RSA SSH key pair with authorized_keys public output.","display":{"actionLabel":"Generate SSH","category":"Security","examples":["rsa","deploy@ci-server"]},"endpoint":"/api/ssh-key","id":"ssh-key","input":{"fields":[{"id":"count","label":"Count","placeholder":"1","required":true,"type":"text"},{"id":"type","label":"Type","options":["rsa"],"placeholder":"rsa","required":false,"type":"select"},{"id":"bits","label":"Bits","options":["2048","4096"],"placeholder":"2048","required":false,"type":"select"},{"id":"format","label":"Format","options":["both","pem"],"placeholder":"both","required":false,"type":"select"},{"id":"comment","label":"Comment","placeholder":"pashi@localhost","required":false,"type":"text"}],"label":"Options","mode":"none","required":false},"label":"SSH key","modes":[],"placeholder":"","result":{"kind":"fields"},"toolType":"generator"},{"aliases":["bearer-tokens"],"audience":"Security","description":"Ready-to-paste bearer token header value.","display":{"actionLabel":"Generate bearer","category":"Security","examples":["48"]},"endpoint":"/api/bearer-token","id":"bearer-token","input":{"fields":[{"id":"bytes","label":"Bytes","placeholder":"48","required":true,"type":"text"},{"id":"count","label":"Count","placeholder":"1","required":true,"type":"text"}],"label":"Bytes","mode":"text","required":false},"label":"Bearer token","modes":[],"placeholder":"48","result":{"kind":"text"},"toolType":"generator"},{"aliases":["port-numbers"],"audience":"Security","description":"Random TCP/UDP port in a range.","display":{"actionLabel":"Generate port","category":"Security","examples":["1024-65535"]},"endpoint":"/api/port-number","id":"port-number","input":{"fields":[{"id":"min","label":"Min","placeholder":"1024","required":true,"type":"text"},{"id":"max","label":"Max","placeholder":"65535","required":true,"type":"text"},{"id":"count","label":"Count","placeholder":"1","required":true,"type":"text"}],"label":"Range","mode":"text","required":false},"label":"Port number","modes":[],"placeholder":"1024-65535","result":{"kind":"text"},"toolType":"generator"},{"aliases":[],"audience":"Engineering","description":"Base64 encode text.","display":{"actionLabel":"Encode","category":"Code","examples":["hello world","{\"ok\":true}"]},"endpoint":"/api/base64","id":"base64","input":{"label":"Input","mode":"text","required":true},"label":"Base64","modes":[],"placeholder":"Text to encode","result":{"kind":"text"},"toolType":"generator"},{"aliases":[],"audience":"Engineering","description":"URL encode text.","display":{"actionLabel":"Encode URL","category":"Code","examples":["hello world","https://nicholasgriffin.dev/?q=hello world"]},"endpoint":"/api/url","id":"url","input":{"label":"Input","mode":"text","required":true},"label":"URL encode","modes":[],"placeholder":"Text or URL","result":{"kind":"text"},"toolType":"generator"},{"aliases":["slugs","url-slug-generator","text-to-slug-converter"],"audience":"Engineering","description":"Safe URL slug.","display":{"actionLabel":"Make slug","category":"Code","examples":["My Great Blog Post","Launch notes v2"]},"endpoint":"/api/slug","id":"slug","input":{"label":"Input","mode":"text","required":true},"label":"Slug","modes":[],"placeholder":"Launch notes v2","result":{"kind":"text"},"toolType":"generator"},{"aliases":["cron-expression-generator"],"audience":"Engineering","description":"Cron expressions for common schedules.","display":{"actionLabel":"Generate cron","category":"Code","examples":["daily","weekly"]},"endpoint":"/api/cron-expression","id":"cron-expression","input":{"fields":[{"id":"preset","label":"Preset","options":["hourly","daily","weekly","monthly"],"placeholder":"daily","required":false,"type":"select"},{"id":"minute","label":"Minute","placeholder":"0","required":true,"type":"text"},{"id":"hour","label":"Hour","placeholder":"9","required":true,"type":"text"},{"id":"weekday","label":"Weekday","placeholder":"1","required":true,"type":"text"},{"id":"day","label":"Day","placeholder":"1","required":true,"type":"text"}],"label":"Preset","mode":"text","required":false},"label":"Cron expression","modes":[],"placeholder":"daily","result":{"kind":"fields"},"toolType":"generator"},{"aliases":["regex","regexp","regular-expression","regular-expression-generator","regex-generator"],"audience":"Engineering","description":"Curated regular expressions for common matching tasks.","display":{"actionLabel":"Generate regex","category":"Code","examples":["email","uuid","hex colour"]},"endpoint":"/api/regex-pattern","id":"regex-pattern","input":{"fields":[{"id":"preset","label":"Preset","options":["email","url","uuid","hex-colour","ipv4","slug","iso-date","time","integer","decimal","whitespace","html-tag"],"placeholder":"email","required":false,"type":"select"},{"id":"anchors","label":"Anchors","options":["true","false"],"placeholder":"true","required":false,"type":"select"},{"id":"flags","label":"Flags","options":["none","i","g","gi","m","im"],"placeholder":"none","required":false,"type":"select"}],"label":"Preset","mode":"text","required":false},"label":"Regex pattern","modes":[],"placeholder":"email","result":{"kind":"fields"},"toolType":"generator"},{"aliases":["json-schema-example-generator"],"audience":"Engineering","description":"Generate a JSON schema from field:type lines.","display":{"actionLabel":"Generate schema","category":"Code","examples":["name:string\nage:number"]},"endpoint":"/api/json-schema-example","id":"json-schema-example","input":{"fields":[{"id":"title","label":"Title","placeholder":"Example","required":false,"type":"text"},{"id":"fields","label":"Fields","placeholder":"name:string\nage:number","required":true,"type":"textarea"}],"label":"Fields","mode":"text","required":true},"label":"JSON schema example","modes":[],"placeholder":"name:string\nage:number","result":{"kind":"text"},"toolType":"generator"},{"aliases":["json-to-typescript-interface-generator","json-to-typescript","json-to-ts"],"audience":"Engineering","description":"Generate a TypeScript interface from sample JSON.","display":{"actionLabel":"Generate interface","category":"Code","examples":["{\"id\":123,\"name\":\"Ada\"}"]},"endpoint":"/api/json-to-typescript","id":"json-to-typescript","input":{"fields":[{"id":"json","label":"JSON","placeholder":"{\n  \"id\": 123,\n  \"name\": \"Ada\"\n}","required":true,"type":"textarea"},{"id":"name","label":"Interface name","placeholder":"Root","required":true,"type":"text"}],"label":"JSON","mode":"text","required":true},"label":"JSON to TypeScript","modes":[],"placeholder":"{\n  \"id\": 123,\n  \"name\": \"Ada\"\n}","result":{"kind":"text"},"toolType":"generator"},{"aliases":["json-fetch-code-generator"],"audience":"Engineering","description":"Generate a Fetch API JSON request snippet.","display":{"actionLabel":"Generate Fetch","category":"Code","examples":["{\"ok\":true}"]},"endpoint":"/api/json-fetch-code","id":"json-fetch-code","input":{"fields":[{"id":"url","label":"URL","placeholder":"https://api.example.com/items","required":true,"type":"text"},{"id":"method","label":"Method","options":["GET","POST","PUT","PATCH","DELETE"],"placeholder":"POST","required":false,"type":"select"},{"id":"headers","label":"Headers","placeholder":"Accept: application/json","required":false,"type":"textarea"}],"label":"JSON","mode":"text","required":true},"label":"JSON Fetch code","modes":[],"placeholder":"{\"ok\":true}","result":{"kind":"text"},"toolType":"generator"},{"aliases":["json-axios-code-generator"],"audience":"Engineering","description":"Generate an Axios JSON request snippet.","display":{"actionLabel":"Generate Axios","category":"Code","examples":["{\"ok\":true}"]},"endpoint":"/api/json-axios-code","id":"json-axios-code","input":{"fields":[{"id":"url","label":"URL","placeholder":"https://api.example.com/items","required":true,"type":"text"},{"id":"method","label":"Method","options":["GET","POST","PUT","PATCH","DELETE"],"placeholder":"POST","required":false,"type":"select"},{"id":"headers","label":"Headers","placeholder":"Accept: application/json","required":false,"type":"textarea"}],"label":"JSON","mode":"text","required":true},"label":"JSON Axios code","modes":[],"placeholder":"{\"ok\":true}","result":{"kind":"text"},"toolType":"generator"},{"aliases":["curl-command-generator","curl-generator","request-curl-generator"],"audience":"Engineering","description":"Generate a cURL command for a JSON API request.","display":{"actionLabel":"Generate cURL","category":"Code","examples":["{\"ok\":true}","GET https://api.example.com/items"]},"endpoint":"/api/http-curl-command","id":"http-curl-command","input":{"fields":[{"id":"url","label":"URL","placeholder":"https://api.example.com/items","required":true,"type":"text"},{"id":"method","label":"Method","options":["GET","POST","PUT","PATCH","DELETE"],"placeholder":"POST","required":false,"type":"select"},{"id":"headers","label":"Headers","placeholder":"Accept: application/json","required":false,"type":"textarea"}],"label":"JSON","mode":"text","required":false},"label":"HTTP cURL command","modes":[],"placeholder":"{\"ok\":true}","result":{"kind":"text"},"toolType":"generator"},{"aliases":["http-request-generator","raw-http-request-generator"],"audience":"Engineering","description":"Generate raw HTTP request text for API testing and documentation.","display":{"actionLabel":"Generate request","category":"Code","examples":["{\"ok\":true}","GET /items"]},"endpoint":"/api/http-request-example","id":"http-request-example","input":{"fields":[{"id":"url","label":"URL","placeholder":"https://api.example.com/items","required":true,"type":"text"},{"id":"method","label":"Method","options":["GET","POST","PUT","PATCH","DELETE"],"placeholder":"POST","required":false,"type":"select"},{"id":"headers","label":"Headers","placeholder":"Accept: application/json","required":false,"type":"textarea"}],"label":"JSON","mode":"text","required":false},"label":"Raw HTTP request","modes":[],"placeholder":"{\"ok\":true}","result":{"kind":"text"},"toolType":"generator"},{"aliases":["har-request-generator","har-example-generator"],"audience":"Engineering","description":"Generate a minimal HAR request entry for browser tooling and converter tests.","display":{"actionLabel":"Generate HAR","category":"Code","examples":["{\"ok\":true}","POST request"]},"endpoint":"/api/http-har-request","id":"http-har-request","input":{"fields":[{"id":"url","label":"URL","placeholder":"https://api.example.com/items","required":true,"type":"text"},{"id":"method","label":"Method","options":["GET","POST","PUT","PATCH","DELETE"],"placeholder":"POST","required":false,"type":"select"},{"id":"headers","label":"Headers","placeholder":"Accept: application/json","required":false,"type":"textarea"}],"label":"JSON","mode":"text","required":false},"label":"HAR request","modes":[],"placeholder":"{\"ok\":true}","result":{"kind":"text"},"toolType":"generator"},{"aliases":["json-api-response-generator"],"audience":"Engineering","description":"Generate a standard JSON API response wrapper.","display":{"actionLabel":"Generate response","category":"Code","examples":["{\"id\":123}"]},"endpoint":"/api/json-api-response","id":"json-api-response","input":{"fields":[{"id":"status","label":"Status","placeholder":"200","required":true,"type":"text"},{"id":"success","label":"Success","options":["true","false"],"placeholder":"true","required":false,"type":"select"}],"label":"JSON","mode":"text","required":false},"label":"JSON API response","modes":[],"placeholder":"{\"id\":123}","result":{"kind":"text"},"toolType":"generator"},{"aliases":["html-meta-tag-generator"],"audience":"Engineering","description":"SEO and Open Graph meta tag snippet.","display":{"actionLabel":"Generate tags","category":"Code","examples":["Pashi"]},"endpoint":"/api/html-meta-tags","id":"html-meta-tags","input":{"fields":[{"id":"title","label":"Title","placeholder":"Pashi","required":true,"type":"text"},{"id":"description","label":"Description","placeholder":"Fast tools and converters","required":true,"type":"text"},{"id":"url","label":"URL","placeholder":"https://pashi.app","required":false,"type":"text"},{"id":"image","label":"Image URL","placeholder":"","required":false,"type":"text"}],"label":"Title","mode":"text","required":false},"label":"HTML meta tags","modes":[],"placeholder":"Pashi","result":{"kind":"text"},"toolType":"generator"},{"aliases":["timestamps","unix-timestamp-converter","batch-timestamp-converter","iso-8601-timestamp-converter"],"audience":"Engineering","description":"Random timestamp records.","display":{"actionLabel":"Generate timestamp","category":"Code","examples":["2020-2030","unix seconds"]},"endpoint":"/api/timestamp","id":"timestamp","input":{"fields":[{"id":"start","label":"Start","placeholder":"2020-01-01T00:00:00Z","required":true,"type":"text"},{"id":"end","label":"End","placeholder":"2030-12-31T23:59:59Z","required":true,"type":"text"},{"id":"unit","label":"Unit","options":["seconds","milliseconds"],"placeholder":"seconds","required":false,"type":"select"},{"id":"count","label":"Count","placeholder":"1","required":true,"type":"text"}],"label":"Range","mode":"text","required":false},"label":"Timestamp","modes":[],"placeholder":"2020-2030","result":{"kind":"fields"},"toolType":"generator"},{"aliases":["dates","random-date-generator"],"audience":"Engineering","description":"Random dates in multiple formats.","display":{"actionLabel":"Generate date","category":"Code","examples":["2020-01-01","unix"]},"endpoint":"/api/date","id":"date","input":{"fields":[{"id":"startDate","label":"Start date","placeholder":"1970-01-01","required":true,"type":"text"},{"id":"endDate","label":"End date","placeholder":"2026-06-13","required":true,"type":"text"},{"id":"format","label":"Format","options":["iso8601","us","eu","long","short","unix"],"placeholder":"iso8601","required":false,"type":"select"},{"id":"count","label":"Count","placeholder":"10","required":true,"type":"text"}],"label":"Range","mode":"text","required":false},"label":"Date","modes":[],"placeholder":"1970-01-01","result":{"kind":"text"},"toolType":"generator"},{"aliases":["times","random-time-generator"],"audience":"Engineering","description":"Random times with hour range and second controls.","display":{"actionLabel":"Generate time","category":"Code","examples":["24-hour","12-hour"]},"endpoint":"/api/time","id":"time","input":{"fields":[{"id":"format","label":"Format","options":["24-hour","12-hour"],"placeholder":"24-hour","required":false,"type":"select"},{"id":"startHour","label":"Start hour","placeholder":"0","required":true,"type":"text"},{"id":"endHour","label":"End hour","placeholder":"23","required":true,"type":"text"},{"id":"includeSeconds","label":"Include seconds","options":["true","false"],"placeholder":"true","required":false,"type":"select"},{"id":"count","label":"Count","placeholder":"1","required":true,"type":"text"}],"label":"Format","mode":"text","required":false},"label":"Time","modes":[],"placeholder":"24-hour","result":{"kind":"fields"},"toolType":"generator"},{"aliases":["date-time","datetimes","random-timestamp-generator","epoch-timestamp-generator"],"audience":"Engineering","description":"Random Unix or ISO 8601 timestamps.","display":{"actionLabel":"Generate timestamp","category":"Code","examples":["unix","iso8601"]},"endpoint":"/api/datetime","id":"datetime","input":{"fields":[{"id":"format","label":"Format","options":["unix","iso8601"],"placeholder":"unix","required":false,"type":"select"},{"id":"startDate","label":"Start date","placeholder":"1970-01-01","required":true,"type":"text"},{"id":"endDate","label":"End date","placeholder":"2026-06-13","required":true,"type":"text"},{"id":"count","label":"Count","placeholder":"1","required":true,"type":"text"}],"label":"Format","mode":"text","required":false},"label":"Timestamp","modes":[],"placeholder":"unix","result":{"kind":"fields"},"toolType":"generator"},{"aliases":["ip","ip-addresses"],"audience":"Identifiers","description":"Random IPv4 and IPv6 addresses with uniqueness and range controls.","display":{"actionLabel":"Generate IP","category":"Identifiers","examples":["ipv4","ipv6"]},"endpoint":"/api/ip-address","id":"ip-address","input":{"fields":[{"id":"version","label":"Version","options":["ipv4","ipv6","both"],"placeholder":"ipv4","required":false,"type":"select"},{"id":"count","label":"Count","placeholder":"10","required":true,"type":"text"},{"id":"unique","label":"Unique","options":["false","true"],"placeholder":"false","required":false,"type":"select"},{"id":"includePrivate","label":"Private ranges","options":["true","false"],"placeholder":"true","required":false,"type":"select"},{"id":"includeLocalhost","label":"Localhost","options":["false","true"],"placeholder":"false","required":false,"type":"select"}],"label":"Version","mode":"none","required":false},"label":"IP address","modes":[],"placeholder":"ipv4","result":{"kind":"text"},"toolType":"generator"},{"aliases":["ipv4-address","ipv4-addresses"],"audience":"Identifiers","description":"Random IPv4 addresses.","display":{"actionLabel":"Generate IPv4","category":"Identifiers","examples":["10","25"]},"endpoint":"/api/ipv4","id":"ipv4","input":{"fields":[{"id":"count","label":"Count","placeholder":"10","required":true,"type":"text"},{"id":"unique","label":"Unique","options":["false","true"],"placeholder":"false","required":false,"type":"select"},{"id":"includePrivate","label":"Private ranges","options":["true","false"],"placeholder":"true","required":false,"type":"select"},{"id":"includeLocalhost","label":"Localhost","options":["false","true"],"placeholder":"false","required":false,"type":"select"}],"label":"Count","mode":"none","required":false},"label":"IPv4 address","modes":[],"placeholder":"10","result":{"kind":"text"},"toolType":"generator"},{"aliases":["ipv6-address","ipv6-addresses"],"audience":"Identifiers","description":"Random IPv6 addresses.","display":{"actionLabel":"Generate IPv6","category":"Identifiers","examples":["10","25"]},"endpoint":"/api/ipv6","id":"ipv6","input":{"fields":[{"id":"count","label":"Count","placeholder":"10","required":true,"type":"text"},{"id":"unique","label":"Unique","options":["false","true"],"placeholder":"false","required":false,"type":"select"},{"id":"includePrivate","label":"Private ranges","options":["true","false"],"placeholder":"true","required":false,"type":"select"},{"id":"includeLocalhost","label":"Localhost","options":["false","true"],"placeholder":"false","required":false,"type":"select"}],"label":"Count","mode":"none","required":false},"label":"IPv6 address","modes":[],"placeholder":"10","result":{"kind":"text"},"toolType":"generator"},{"aliases":["mac-address","mac-addresses"],"audience":"Identifiers","description":"IEEE 802 MAC addresses with format and address-bit controls.","display":{"actionLabel":"Generate MAC","category":"Identifiers","examples":["colon","cisco"]},"endpoint":"/api/mac","id":"mac","input":{"fields":[{"id":"format","label":"Format","options":["colon","hyphen","dot","cisco","plain"],"placeholder":"colon","required":false,"type":"select"},{"id":"count","label":"Count","placeholder":"10","required":true,"type":"text"},{"id":"uppercase","label":"Uppercase","options":["false","true"],"placeholder":"false","required":false,"type":"select"},{"id":"local","label":"Locally administered","options":["true","false"],"placeholder":"true","required":false,"type":"select"},{"id":"unicast","label":"Unicast","options":["true","false"],"placeholder":"true","required":false,"type":"select"},{"id":"unique","label":"Unique","options":["false","true"],"placeholder":"false","required":false,"type":"select"}],"label":"Format","mode":"none","required":false},"label":"MAC address","modes":[],"placeholder":"colon","result":{"kind":"text"},"toolType":"generator"},{"aliases":["phone-number","phone-numbers"],"audience":"Identifiers","description":"Random country-specific test phone numbers.","display":{"actionLabel":"Generate phone","category":"Identifiers","examples":["US","GB"]},"endpoint":"/api/phone","id":"phone","input":{"fields":[{"id":"country","label":"Country","options":["US","CA","GB","DE","FR","ES","IT","NL","AU","JP","CN","IN","BR","MX"],"placeholder":"US","required":false,"type":"select"},{"id":"format","label":"Format","options":["national","international","e164"],"placeholder":"national","required":false,"type":"select"},{"id":"count","label":"Count","placeholder":"10","required":true,"type":"text"},{"id":"unique","label":"Unique","options":["false","true"],"placeholder":"false","required":false,"type":"select"}],"label":"Country","mode":"text","required":false},"label":"Phone number","modes":[],"placeholder":"US","result":{"kind":"text"},"toolType":"generator"},{"aliases":["usernames"],"audience":"Identifiers","description":"Random usernames with style, length, and uniqueness controls.","display":{"actionLabel":"Generate username","category":"Identifiers","examples":["mixed","gamer"]},"endpoint":"/api/username","id":"username","input":{"fields":[{"id":"style","label":"Style","options":["professional","gamer","quirky","simple","cool","mixed"],"placeholder":"mixed","required":false,"type":"select"},{"id":"count","label":"Count","placeholder":"10","required":true,"type":"text"},{"id":"minLength","label":"Min length","placeholder":"6","required":true,"type":"text"},{"id":"maxLength","label":"Max length","placeholder":"15","required":true,"type":"text"},{"id":"includeNumbers","label":"Include numbers","options":["true","false"],"placeholder":"true","required":false,"type":"select"},{"id":"unique","label":"Unique","options":["true","false"],"placeholder":"true","required":false,"type":"select"}],"label":"Style","mode":"text","required":false},"label":"Username","modes":[],"placeholder":"mixed","result":{"kind":"text"},"toolType":"generator"},{"aliases":["company-names"],"audience":"Identifiers","description":"Random company names by style and industry.","display":{"actionLabel":"Generate company","category":"Identifiers","examples":["mixed","tech"]},"endpoint":"/api/company","id":"company","input":{"fields":[{"id":"style","label":"Style","options":["professional","creative","modern","traditional","tech","mixed"],"placeholder":"mixed","required":false,"type":"select"},{"id":"industry","label":"Industry","options":["general","tech","finance","retail","healthcare","consulting","food","fashion","construction","education"],"placeholder":"general","required":false,"type":"select"},{"id":"count","label":"Count","placeholder":"10","required":true,"type":"text"}],"label":"Style","mode":"none","required":false},"label":"Company name","modes":[],"placeholder":"mixed","result":{"kind":"text"},"toolType":"generator"},{"aliases":[],"audience":"Identifiers","description":"Random Minecraft UUID formats.","display":{"actionLabel":"Generate UUID","category":"Identifiers","examples":["1","10"]},"endpoint":"/api/minecraft-uuid","id":"minecraft-uuid","input":{"fields":[{"id":"count","label":"Count","placeholder":"1","required":true,"type":"text"}],"label":"Count","mode":"none","required":false},"label":"Minecraft UUID","modes":[],"placeholder":"1","result":{"kind":"fields"},"toolType":"generator"},{"aliases":["us-states"],"audience":"Geographic","description":"Random US states.","display":{"actionLabel":"Generate state","category":"Geographic","examples":["1","5"]},"endpoint":"/api/us-state","id":"us-state","input":{"fields":[{"id":"count","label":"Count","placeholder":"1","required":true,"type":"text"}],"label":"Count","mode":"none","required":false},"label":"US state","modes":[],"placeholder":"1","result":{"kind":"text"},"toolType":"generator"},{"aliases":["zodiac-sign","zodiac-signs"],"audience":"Identifiers","description":"Random zodiac signs.","display":{"actionLabel":"Generate sign","category":"Identifiers","examples":["1","5"]},"endpoint":"/api/zodiac","id":"zodiac","input":{"fields":[{"id":"count","label":"Count","placeholder":"1","required":true,"type":"text"}],"label":"Count","mode":"none","required":false},"label":"Zodiac sign","modes":[],"placeholder":"1","result":{"kind":"text"},"toolType":"generator"},{"aliases":["persons"],"audience":"People","description":"Generated fictional identities with optional financial and professional data.","display":{"actionLabel":"Generate person","category":"People","examples":["en_GB","en_US","de_DE"]},"endpoint":"/api/person","id":"person","input":{"fields":[{"id":"locale","label":"Locale","options":["en_GB","en_US","fr_FR","es_ES","it_IT","de_DE","pt_PT","nl_NL","pl_PL"],"placeholder":"en_GB","required":false,"type":"select"},{"id":"count","label":"Count","placeholder":"1","required":true,"type":"text"},{"id":"gender","label":"Gender","options":["mixed","male","female"],"placeholder":"mixed","required":false,"type":"select"},{"id":"ageMin","label":"Min age","placeholder":"18","required":true,"type":"text"},{"id":"ageMax","label":"Max age","placeholder":"80","required":true,"type":"text"},{"id":"includeFinancial","label":"Financial data","options":["true","false"],"placeholder":"true","required":false,"type":"select"},{"id":"includeProfessional","label":"Professional data","options":["true","false"],"placeholder":"true","required":false,"type":"select"}],"label":"Locale","mode":"text","required":false},"label":"Person","modes":[],"placeholder":"en_GB","result":{"kind":"fields"},"toolType":"generator"},{"aliases":["numbers"],"audience":"Random","description":"Random numbers by type, range, and precision.","display":{"actionLabel":"Generate number","category":"Random","examples":["integer","negative","even","odd","prime","percentage"]},"endpoint":"/api/number","id":"number","input":{"fields":[{"id":"min","label":"Min","placeholder":"1","required":true,"type":"text"},{"id":"max","label":"Max","placeholder":"100","required":true,"type":"text"},{"id":"type","label":"Type","options":["integer","decimal","prime","percentage","even","odd","negative"],"placeholder":"integer","required":true,"type":"select"},{"id":"decimals","label":"Decimals","placeholder":"2","required":true,"type":"text"},{"id":"count","label":"Count","placeholder":"10","required":true,"type":"text"}],"label":"Type","mode":"text","required":false},"label":"Number","modes":[],"placeholder":"integer","result":{"kind":"text"},"toolType":"generator"},{"aliases":["binary-number","binary-numbers"],"audience":"Random","description":"Random binary values with configurable bit width and count.","display":{"actionLabel":"Generate binary","category":"Random","examples":["8","16"]},"endpoint":"/api/binary","id":"binary","input":{"fields":[{"id":"bits","label":"Bits","placeholder":"8","required":true,"type":"text"},{"id":"count","label":"Count","placeholder":"10","required":true,"type":"text"}],"label":"Bits","mode":"text","required":false},"label":"Binary number","modes":[],"placeholder":"8","result":{"kind":"text"},"toolType":"generator"},{"aliases":["hexadecimal-number","hexadecimal-numbers"],"audience":"Random","description":"Random hexadecimal numbers with length and format controls.","display":{"actionLabel":"Generate hex","category":"Random","examples":["8","16"]},"endpoint":"/api/hex-number","id":"hex-number","input":{"fields":[{"id":"count","label":"Count","placeholder":"10","required":true,"type":"text"},{"id":"length","label":"Length","placeholder":"8","required":true,"type":"text"},{"id":"prefix","label":"0x prefix","options":["true","false"],"placeholder":"true","required":false,"type":"select"},{"id":"uppercase","label":"Uppercase","options":["true","false"],"placeholder":"true","required":false,"type":"select"},{"id":"unique","label":"Unique","options":["false","true"],"placeholder":"false","required":false,"type":"select"}],"label":"Length","mode":"text","required":false},"label":"Hex number","modes":[],"placeholder":"8","result":{"kind":"text"},"toolType":"generator"},{"aliases":["octal-numbers"],"audience":"Random","description":"Random octal numbers with length and prefix controls.","display":{"actionLabel":"Generate octal","category":"Random","examples":["8","16"]},"endpoint":"/api/octal-number","id":"octal-number","input":{"fields":[{"id":"count","label":"Count","placeholder":"10","required":true,"type":"text"},{"id":"length","label":"Length","placeholder":"8","required":true,"type":"text"},{"id":"prefix","label":"0o prefix","options":["true","false"],"placeholder":"true","required":false,"type":"select"},{"id":"unique","label":"Unique","options":["false","true"],"placeholder":"false","required":false,"type":"select"}],"label":"Length","mode":"text","required":false},"label":"Octal number","modes":[],"placeholder":"8","result":{"kind":"text"},"toolType":"generator"},{"aliases":["fractions"],"audience":"Random","description":"Random fraction records.","display":{"actionLabel":"Generate fraction","category":"Random","examples":["proper","mixed"]},"endpoint":"/api/fraction","id":"fraction","input":{"fields":[{"id":"type","label":"Type","options":["proper","improper","mixed"],"placeholder":"proper","required":true,"type":"select"},{"id":"maxNumerator","label":"Max numerator","placeholder":"12","required":true,"type":"text"},{"id":"maxDenominator","label":"Max denominator","placeholder":"12","required":true,"type":"text"},{"id":"simplify","label":"Simplify","options":["yes","no"],"placeholder":"yes","required":false,"type":"select"},{"id":"count","label":"Count","placeholder":"1","required":true,"type":"text"}],"label":"Type","mode":"text","required":false},"label":"Fraction","modes":[],"placeholder":"proper","result":{"kind":"fields"},"toolType":"generator"},{"aliases":["strings","random-string-generator","text-generator"],"audience":"Strings","description":"Random strings, words, sentences, binary, hex, and base64.","display":{"actionLabel":"Generate string","category":"Text","examples":["alphanumeric","lorem"]},"endpoint":"/api/string","id":"string","input":{"fields":[{"id":"type","label":"Type","options":["alphanumeric","letters","words","sentences","paragraphs","binary","hex","base64","lorem"],"placeholder":"alphanumeric","required":false,"type":"select"},{"id":"count","label":"Count","placeholder":"1","required":true,"type":"text"},{"id":"length","label":"Length","placeholder":"32","required":true,"type":"text"},{"id":"wordCount","label":"Words","placeholder":"5","required":true,"type":"text"},{"id":"sentenceCount","label":"Sentences","placeholder":"3","required":true,"type":"text"},{"id":"paragraphCount","label":"Paragraphs","placeholder":"2","required":true,"type":"text"},{"id":"byteCount","label":"Bytes","placeholder":"32","required":true,"type":"text"},{"id":"case","label":"Case","options":["mixed","lower","upper"],"placeholder":"mixed","required":false,"type":"select"},{"id":"uppercase","label":"Uppercase","options":["true","false"],"placeholder":"true","required":false,"type":"select"},{"id":"lowercase","label":"Lowercase","options":["true","false"],"placeholder":"true","required":false,"type":"select"},{"id":"numbers","label":"Numbers","options":["true","false"],"placeholder":"true","required":false,"type":"select"}],"label":"Length","mode":"text","required":false},"label":"String","modes":[],"placeholder":"32","result":{"kind":"text"},"toolType":"generator"},{"aliases":["emojis","random-emoji-generator"],"audience":"Strings","description":"Random emoji string.","display":{"actionLabel":"Generate emoji","category":"Text","examples":["6","12"]},"endpoint":"/api/emoji","id":"emoji","input":{"fields":[{"id":"count","label":"Count","placeholder":"6","required":true,"type":"text"},{"id":"separator","label":"Separator","placeholder":"","required":false,"type":"text"}],"label":"Count","mode":"text","required":false},"label":"Emoji","modes":[],"placeholder":"6","result":{"kind":"text"},"toolType":"generator"},{"aliases":["pin-code","pin-codes"],"audience":"Security","description":"Numeric PINs with pattern filters.","display":{"actionLabel":"Generate PIN","category":"Security","examples":["4","6"]},"endpoint":"/api/pin","id":"pin","input":{"fields":[{"id":"length","label":"Length","placeholder":"4","required":true,"type":"text"},{"id":"count","label":"Count","placeholder":"10","required":true,"type":"text"},{"id":"uniqueDigits","label":"Unique digits","options":["false","true"],"placeholder":"false","required":false,"type":"select"},{"id":"excludeSequential","label":"Exclude sequential","options":["false","true"],"placeholder":"false","required":false,"type":"select"},{"id":"excludeRepeating","label":"Exclude repeating","options":["false","true"],"placeholder":"false","required":false,"type":"select"}],"label":"Length","mode":"text","required":false},"label":"PIN code","modes":[],"placeholder":"4","result":{"kind":"text"},"toolType":"generator"},{"aliases":["passphrases"],"audience":"Security","description":"Memorable passphrases with word and suffix controls.","display":{"actionLabel":"Generate phrase","category":"Security","examples":["5","6"]},"endpoint":"/api/passphrase","id":"passphrase","input":{"fields":[{"id":"wordCount","label":"Words","placeholder":"5","required":true,"type":"text"},{"id":"separator","label":"Separator","placeholder":"-","required":false,"type":"text"},{"id":"count","label":"Count","placeholder":"5","required":true,"type":"text"},{"id":"capitalize","label":"Capitalize","options":["false","true"],"placeholder":"false","required":false,"type":"select"},{"id":"includeNumbers","label":"Include number","options":["false","true"],"placeholder":"false","required":false,"type":"select"}],"label":"Words","mode":"text","required":false},"label":"Passphrase","modes":[],"placeholder":"5","result":{"kind":"text"},"toolType":"generator"},{"aliases":["color","colors","colours","random-color-generator","html-color-picker-generator"],"audience":"Design","description":"Random colours with formats and contrast checks.","display":{"actionLabel":"Generate colours","category":"Design","examples":["5","10"]},"endpoint":"/api/colour","id":"colour","input":{"fields":[{"id":"count","label":"Count","placeholder":"10","required":true,"type":"text"},{"id":"format","label":"Format","options":["hex","rgb","hsl","rgba","hsla","all"],"placeholder":"hex","required":false,"type":"select"},{"id":"palette","label":"Palette","options":["random","pastel","vibrant","dark","light","grayscale"],"placeholder":"random","required":false,"type":"select"},{"id":"alpha","label":"Alpha","placeholder":"1","required":true,"type":"text"}],"label":"Count","mode":"text","required":false},"label":"Colour","modes":[],"placeholder":"10","result":{"kind":"fields"},"toolType":"generator"},{"aliases":["palettes","color-palette-generator","random-color-palette-generator","custom-color-palette-generator","color-harmony-generator","monochrome-palette-generator","pastel-palette-generator"],"audience":"Design","description":"Configurable colour palette with harmony controls.","display":{"actionLabel":"Make palette","category":"Design","examples":["Cyber citrus checkout","Neon ink docs"]},"endpoint":"/api/palette","id":"palette","input":{"fields":[{"id":"seed","label":"Seed","placeholder":"Cyber citrus checkout","required":false,"type":"text"},{"id":"count","label":"Count","placeholder":"5","required":true,"type":"text"},{"id":"harmony","label":"Harmony","options":["analogous","complementary","triadic","split","monochrome","random"],"placeholder":"analogous","required":false,"type":"select"},{"id":"saturation","label":"Saturation","placeholder":"72","required":true,"type":"text"},{"id":"lightness","label":"Lightness","placeholder":"52","required":true,"type":"text"}],"label":"Seed","mode":"text","required":false},"label":"Palette","modes":[],"placeholder":"Cyber citrus checkout","result":{"kind":"palette"},"toolType":"generator"},{"aliases":["css-gradient-generator","gradient-generator","gradient-palette-generator","gradient-step-generator"],"audience":"Design","description":"CSS linear gradient snippet.","display":{"actionLabel":"Generate CSS","category":"Design","examples":["Pashi gradient"]},"endpoint":"/api/css-gradient","id":"css-gradient","input":{"fields":[{"id":"angle","label":"Angle","placeholder":"135","required":true,"type":"text"},{"id":"from","label":"From","placeholder":"#17c964","required":true,"type":"text"},{"id":"to","label":"To","placeholder":"#0ea5e9","required":true,"type":"text"}],"label":"Seed","mode":"text","required":false},"label":"CSS gradient","modes":[],"placeholder":"Pashi gradient","result":{"kind":"text"},"toolType":"generator"},{"aliases":["box-shadow-generator"],"audience":"Design","description":"CSS box-shadow snippet with offset, blur, spread, and colour controls.","display":{"actionLabel":"Generate shadow","category":"Design","examples":["soft card shadow"]},"endpoint":"/api/box-shadow","id":"box-shadow","input":{"fields":[{"id":"x","label":"X offset","placeholder":"0","required":true,"type":"text"},{"id":"y","label":"Y offset","placeholder":"8","required":true,"type":"text"},{"id":"blur","label":"Blur","placeholder":"24","required":true,"type":"text"},{"id":"spread","label":"Spread","placeholder":"0","required":true,"type":"text"},{"id":"color","label":"Colour","placeholder":"rgba(15, 23, 42, 0.18)","required":true,"type":"text"}],"label":"Options","mode":"text","required":false},"label":"Box shadow","modes":[],"placeholder":"","result":{"kind":"text"},"toolType":"generator"},{"aliases":["text-shadow-generator"],"audience":"Design","description":"CSS text-shadow snippet.","display":{"actionLabel":"Generate shadow","category":"Design","examples":["soft heading shadow"]},"endpoint":"/api/text-shadow","id":"text-shadow","input":{"fields":[{"id":"x","label":"X offset","placeholder":"0","required":true,"type":"text"},{"id":"y","label":"Y offset","placeholder":"2","required":true,"type":"text"},{"id":"blur","label":"Blur","placeholder":"10","required":true,"type":"text"},{"id":"color","label":"Colour","placeholder":"rgba(15, 23, 42, 0.28)","required":true,"type":"text"}],"label":"Options","mode":"text","required":false},"label":"Text shadow","modes":[],"placeholder":"","result":{"kind":"text"},"toolType":"generator"},{"aliases":["border-radius-generator"],"audience":"Design","description":"CSS border-radius snippet.","display":{"actionLabel":"Generate radius","category":"Design","examples":["8","12"]},"endpoint":"/api/border-radius","id":"border-radius","input":{"fields":[{"id":"radius","label":"Radius","placeholder":"8","required":true,"type":"text"}],"label":"Radius","mode":"text","required":false},"label":"Border radius","modes":[],"placeholder":"8","result":{"kind":"text"},"toolType":"generator"},{"aliases":["bar-graph-generator","gauge-chart-generator","heat-map-generator","radar-chart-generator","word-cloud-generator","pie-bar-chart-generator"],"audience":"Design","description":"Simple SVG charts from label-value lines.","display":{"actionLabel":"Generate chart","category":"Design","examples":["Apples: 10\nPears: 5"]},"endpoint":"/api/chart-svg","id":"chart-svg","input":{"fields":[{"id":"type","label":"Type","options":["bar","word-cloud"],"placeholder":"bar","required":false,"type":"select"},{"id":"data","label":"Data","placeholder":"Apples: 10\nPears: 5","required":true,"type":"textarea"}],"label":"Data","mode":"text","required":true},"label":"SVG chart","modes":[],"placeholder":"Apples: 10\nPears: 5","result":{"kind":"text"},"toolType":"generator"},{"aliases":["lorem-ipsum-generator","placeholder-text-generator"],"audience":"Design","description":"Placeholder copy with configurable length.","display":{"actionLabel":"Generate lorem","category":"Design","examples":["Pashi interface","Checkout flow"]},"endpoint":"/api/lorem","id":"lorem","input":{"fields":[{"id":"topic","label":"Topic","placeholder":"Pashi interface","required":false,"type":"text"},{"id":"paragraphs","label":"Paragraphs","placeholder":"2","required":true,"type":"text"},{"id":"sentences","label":"Sentences each","placeholder":"3","required":true,"type":"text"}],"label":"Topic","mode":"text","required":false},"label":"Lorem ipsum","modes":[],"placeholder":"Pashi interface","result":{"kind":"text"},"toolType":"generator"},{"aliases":["utm-builder","utm-generator","url-utm-builder"],"audience":"Product","description":"Campaign URL with UTM tags.","display":{"actionLabel":"Build UTM","category":"Product","examples":["https://nicholasgriffin.dev/pricing","https://pashi.app"]},"endpoint":"/api/utm","id":"utm","input":{"fields":[{"id":"url","label":"URL","placeholder":"https://example.com/pricing","required":true,"type":"text"},{"id":"source","label":"Source","placeholder":"newsletter","required":true,"type":"text"},{"id":"medium","label":"Medium","placeholder":"email","required":true,"type":"text"},{"id":"campaign","label":"Campaign","placeholder":"launch","required":true,"type":"text"}],"label":"URL","mode":"text","required":false},"label":"UTM link","modes":[],"placeholder":"https://nicholasgriffin.dev/pricing","result":{"kind":"text"},"toolType":"generator"},{"aliases":[],"audience":"Geographic","description":"Random coordinates with region, format, and custom bounds.","display":{"actionLabel":"Generate coords","category":"Geographic","examples":["global","uk"]},"endpoint":"/api/coordinates","id":"coordinates","input":{"fields":[{"id":"region","label":"Region","options":["global","north-america","south-america","europe","africa","asia","oceania","usa","canada","uk","australia"],"placeholder":"global","required":false,"type":"select"},{"id":"count","label":"Count","placeholder":"1","required":true,"type":"text"},{"id":"format","label":"Format","options":["decimal","dms","dm"],"placeholder":"decimal","required":false,"type":"select"},{"id":"precision","label":"Precision","placeholder":"6","required":true,"type":"text"},{"id":"minLat","label":"Min latitude","placeholder":"","required":false,"type":"text"},{"id":"maxLat","label":"Max latitude","placeholder":"","required":false,"type":"text"},{"id":"minLon","label":"Min longitude","placeholder":"","required":false,"type":"text"},{"id":"maxLon","label":"Max longitude","placeholder":"","required":false,"type":"text"}],"label":"Region","mode":"none","required":false},"label":"Coordinates","modes":[],"placeholder":"global","result":{"kind":"fields"},"toolType":"generator"},{"aliases":["zip-code","zip-codes","post-code","postcodes","postcode","postal-code","postal-codes"],"audience":"Geographic","description":"Random post codes for multiple locales.","display":{"actionLabel":"Generate post code","category":"Geographic","examples":["en_GB","en_US"]},"endpoint":"/api/zip","id":"zip","input":{"fields":[{"id":"locale","label":"Locale","options":["en_GB","en_US","en_CA","pt_BR","es_AR","fr_FR","de_DE","es_ES","it_IT","pt_PT","nl_NL","pl_PL","ru_RU","tr_TR","uk_UA","en_IN","bn_BD","ja_JP","zh_CN","zh_TW","ko_KR","id_ID","th_TH","vi_VN","fa_IR","ar_SA","ar_EG","en_AU"],"placeholder":"en_GB","required":false,"type":"select"},{"id":"count","label":"Count","placeholder":"10","required":true,"type":"text"}],"label":"Locale","mode":"none","required":false},"label":"Post code","modes":[],"placeholder":"en_GB","result":{"kind":"text"},"toolType":"generator"},{"aliases":["credit-cards"],"audience":"TestData","description":"Brand-valid, Luhn-valid test card details.","display":{"actionLabel":"Generate card","category":"Test data","examples":["visa","mastercard"]},"endpoint":"/api/card","id":"card","input":{"fields":[{"id":"type","label":"Type","options":["visa","mastercard","amex","discover"],"placeholder":"visa","required":false,"type":"select"},{"id":"count","label":"Count","placeholder":"1","required":true,"type":"text"},{"id":"includeDetails","label":"Include details","options":["true","false"],"placeholder":"true","required":false,"type":"select"},{"id":"includeName","label":"Include name","options":["true","false"],"placeholder":"true","required":false,"type":"select"}],"label":"Type","mode":"text","required":false},"label":"Card number","modes":[],"placeholder":"visa","result":{"kind":"fields"},"toolType":"generator"},{"aliases":["ibans"],"audience":"TestData","description":"Valid-checksum IBANs for selected countries.","display":{"actionLabel":"Generate IBAN","category":"Test data","examples":["GB","DE"]},"endpoint":"/api/iban","id":"iban","input":{"fields":[{"id":"country","label":"Country","options":["GB","DE","FR","IT","ES","NL"],"placeholder":"GB","required":false,"type":"select"},{"id":"count","label":"Count","placeholder":"10","required":true,"type":"text"}],"label":"Country","mode":"none","required":false},"label":"IBAN","modes":[],"placeholder":"GB","result":{"kind":"text"},"toolType":"generator"},{"aliases":[],"audience":"Gaming","description":"Roll RPG dice with drop, keep, modifier, and bulk controls.","display":{"actionLabel":"Roll dice","category":"Gaming","examples":["d20","4d6","2d20"]},"endpoint":"/api/dice","id":"dice","input":{"fields":[{"id":"count","label":"Rolls","placeholder":"1","required":true,"type":"text"},{"id":"dice_type","label":"Dice type","options":["d4","d6","d8","d10","d12","d20","d100","custom"],"placeholder":"d6","required":false,"type":"select"},{"id":"dice_sides","label":"Custom sides","placeholder":"6","required":true,"type":"text"},{"id":"num_dice","label":"Dice count","placeholder":"1","required":true,"type":"text"},{"id":"modifier","label":"Modifier","placeholder":"0","required":true,"type":"text"},{"id":"drop_lowest","label":"Drop lowest","placeholder":"0","required":true,"type":"text"},{"id":"drop_highest","label":"Drop highest","placeholder":"0","required":true,"type":"text"},{"id":"keep_highest","label":"Keep highest","placeholder":"0","required":true,"type":"text"},{"id":"show_individual","label":"Show rolls","options":["true","false"],"placeholder":"true","required":false,"type":"select"}],"label":"Dice type","mode":"text","required":false},"label":"Dice","modes":[],"placeholder":"d6","result":{"kind":"fields"},"toolType":"generator"},{"aliases":[],"audience":"Gaming","description":"Exact probability for dice notation and target.","display":{"actionLabel":"Calculate odds","category":"Gaming","examples":["2d6 >= 7","4d6 drop lowest >= 12"]},"endpoint":"/api/dice-probability","id":"dice-probability","input":{"fields":[{"id":"notation","label":"Notation","placeholder":"2d6","required":true,"type":"text"},{"id":"comparison","label":"Comparison","options":[">=",">","=","<=","<"],"placeholder":">=","required":true,"type":"select"},{"id":"target","label":"Target","placeholder":"7","required":true,"type":"text"}],"label":"Notation","mode":"text","required":false},"label":"Dice probability","modes":[],"placeholder":"2d6","result":{"kind":"fields"},"toolType":"generator"},{"aliases":[],"audience":"Gaming","description":"Lottery numbers from a configurable range.","display":{"actionLabel":"Generate lottery","category":"Gaming","examples":["6 from 1-59"]},"endpoint":"/api/lottery","id":"lottery","input":{"fields":[{"id":"count","label":"Count","placeholder":"6","required":true,"type":"text"},{"id":"min","label":"Min","placeholder":"1","required":true,"type":"text"},{"id":"max","label":"Max","placeholder":"59","required":true,"type":"text"}],"label":"Count","mode":"text","required":false},"label":"Lottery","modes":[],"placeholder":"6","result":{"kind":"fields"},"toolType":"generator"},{"aliases":["minecraft-seeds"],"audience":"Gaming","description":"Random signed 64-bit Minecraft seed.","display":{"actionLabel":"Generate seed","category":"Gaming","examples":["world seed"]},"endpoint":"/api/minecraft-seed","id":"minecraft-seed","input":{"label":"Input","mode":"none","required":false},"label":"Minecraft seed","modes":[],"placeholder":"","result":{"kind":"text"},"toolType":"generator"},{"aliases":[],"audience":"Gaming","description":"Random Kanto Pokedex entries with type filtering.","display":{"actionLabel":"Generate Pokemon","category":"Gaming","examples":["any","electric"]},"endpoint":"/api/pokemon","id":"pokemon","input":{"fields":[{"id":"type","label":"Type","options":["any","bug","dragon","electric","fairy","fighting","fire","flying","ghost","grass","ground","ice","normal","poison","psychic","rock","water"],"placeholder":"any","required":false,"type":"select"},{"id":"count","label":"Count","placeholder":"1","required":true,"type":"text"}],"label":"Type","mode":"text","required":false},"label":"Pokemon","modes":[],"placeholder":"any","result":{"kind":"text"},"toolType":"generator"},{"aliases":["coin-flip"],"audience":"Gaming","description":"Independent CSPRNG HEADS or TAILS flips.","display":{"actionLabel":"Flip coin","category":"Gaming","examples":["1","10"]},"endpoint":"/api/coinflip","id":"coinflip","input":{"fields":[{"id":"count","label":"Count","placeholder":"1","required":true,"type":"text"}],"label":"Count","mode":"none","required":false},"label":"Coin flip","modes":[],"placeholder":"1","result":{"kind":"text"},"toolType":"generator"},{"aliases":[],"audience":"Tools","description":"Shuffle a comma or newline list.","display":{"actionLabel":"Shuffle list","category":"Tools","examples":["Ada, Grace, Margaret"]},"endpoint":"/api/list-randomizer","id":"list-randomizer","input":{"fields":[{"id":"items","label":"Items","placeholder":"Ada\nGrace\nMargaret","required":true,"type":"textarea"}],"label":"Items","mode":"text","required":true},"label":"List randomizer","modes":[],"placeholder":"Ada\nGrace\nMargaret","result":{"kind":"text"},"toolType":"generator"},{"aliases":[],"audience":"Tools","description":"Weighted yes/no decision.","display":{"actionLabel":"Decide","category":"Tools","examples":["50"]},"endpoint":"/api/yes-no","id":"yes-no","input":{"fields":[{"id":"yesWeight","label":"Yes chance","placeholder":"50","required":true,"type":"text"}],"label":"Chance","mode":"text","required":false},"label":"Yes or no","modes":[],"placeholder":"50","result":{"kind":"text"},"toolType":"generator"},{"aliases":[],"audience":"Tools","description":"Split a list into balanced random teams.","display":{"actionLabel":"Make teams","category":"Tools","examples":["Ada, Grace, Margaret, Katherine"]},"endpoint":"/api/teams","id":"teams","input":{"fields":[{"id":"items","label":"Items","placeholder":"Ada\nGrace\nMargaret\nKatherine","required":true,"type":"textarea"},{"id":"teams","label":"Teams","placeholder":"2","required":true,"type":"text"}],"label":"Items","mode":"text","required":true},"label":"Teams","modes":[],"placeholder":"Ada\nGrace\nMargaret\nKatherine","result":{"kind":"fields"},"toolType":"generator"},{"aliases":[],"audience":"Tools","description":"Assign each person a different recipient.","display":{"actionLabel":"Assign pairs","category":"Tools","examples":["Ada, Grace, Margaret"]},"endpoint":"/api/secret-santa","id":"secret-santa","input":{"fields":[{"id":"items","label":"People","placeholder":"Ada\nGrace\nMargaret","required":true,"type":"textarea"}],"label":"People","mode":"text","required":true},"label":"Secret Santa","modes":[],"placeholder":"Ada\nGrace\nMargaret","result":{"kind":"fields"},"toolType":"generator"},{"aliases":[],"audience":"Tools","description":"Pick one item from a comma or newline list.","display":{"actionLabel":"Pick one","category":"Tools","examples":["Ada, Grace, Margaret"]},"endpoint":"/api/name-picker","id":"name-picker","input":{"fields":[{"id":"items","label":"Items","placeholder":"Ada\nGrace\nMargaret","required":true,"type":"textarea"}],"label":"Items","mode":"text","required":true},"label":"Name picker","modes":[],"placeholder":"Ada\nGrace\nMargaret","result":{"kind":"text"},"toolType":"generator"},{"aliases":["md-to-jira","markdown-to-confluence","md-to-confluence"],"api":{"accepts":["application/json","application/x-www-form-urlencoded","text/plain"],"examples":[{"body":"## Heading\n\n- **Bold** item","contentType":"text/markdown","description":"Post Markdown as the raw request body.","method":"POST","url":"/api/markdown-to-jira"},{"description":"Convert Markdown supplied in the query string.","method":"GET","url":"/api/markdown-to-jira?input=%23%23%20Heading"}],"fields":[],"methods":["GET","POST"],"response":"json"},"audience":"Documents","description":"Convert Markdown into Jira and Confluence wiki markup.","display":{"actionLabel":"Convert to Jira","category":"Jira and Confluence","examples":["## Release notes\n\n- **Fixed** auth\n- Added `copy` action","[Pashi](https://pashi.app) is **fast**"]},"endpoint":"/api/markdown-to-jira","id":"markdown-to-jira","input":{"label":"Markdown","kind":"text","required":true},"label":"Markdown to Jira","outputs":["jira","confluence"],"placeholder":"## Heading\n\n- **Bold** item\n- [Link](https://pashi.app)","runtime":"worker","status":"available","toolType":"converter"},{"aliases":["jira-to-md","confluence-to-markdown","confluence-to-md"],"api":{"accepts":["application/json","application/x-www-form-urlencoded","text/plain"],"examples":[{"body":"h2. Heading\n\n* *Bold* item","contentType":"text/plain","description":"Post Jira markup as the raw request body.","method":"POST","url":"/api/jira-to-markdown"}],"fields":[],"methods":["GET","POST"],"response":"json"},"audience":"Documents","description":"Convert Jira and Confluence wiki markup back into Markdown.","display":{"actionLabel":"Convert to Markdown","category":"Jira and Confluence","examples":["h2. Release notes\n\n* *Fixed* auth\n* Added {{copy}} action","[Pashi|https://pashi.app] is *fast*"]},"endpoint":"/api/jira-to-markdown","id":"jira-to-markdown","input":{"label":"Jira markup","kind":"text","required":true},"label":"Jira to Markdown","outputs":["markdown"],"placeholder":"h2. Heading\n\n* *Bold* item\n* [Link|https://pashi.app]","runtime":"worker","status":"available","toolType":"converter"},{"aliases":["markdown-format","markdown-to-slack-converter","markdown-to-html-converter","markdown-to-wordpress-html-converter","markdown-link-generator","markdown-image-syntax-generator","markdown-task-list-generator"],"api":{"accepts":["application/json","application/x-www-form-urlencoded","text/plain"],"examples":[{"body":"## Release notes\n\n- **Fixed** auth","contentType":"text/markdown","description":"Post Markdown and select a target output format.","method":"POST","url":"/api/markdown-format?outputFormat=slack"}],"fields":[{"description":"Target Markdown publishing format.","id":"outputFormat","required":true,"values":["slack","wordpress-html"]}],"methods":["GET","POST"],"response":"json"},"audience":"Documents","description":"Convert Markdown into Slack-friendly text or WordPress HTML.","display":{"actionLabel":"Convert Markdown","category":"Markdown","examples":["## Release notes\n\n- **Fixed** auth\n- [Pashi](https://pashi.app)"]},"endpoint":"/api/markdown-format","id":"markdown-format","input":{"label":"Markdown","kind":"text","required":true},"label":"Markdown targets","outputs":["slack","wordpress-html"],"placeholder":"## Heading\n\n- **Bold** item","runtime":"worker","status":"available","toolType":"converter"},{"aliases":["html-entity-encoder-decoder","html-escape-unescape","html-tag-remover-stripper","html-link-extractor-checker","html-comment-remover-extractor","html-to-markdown-converter"],"api":{"accepts":["application/json","application/x-www-form-urlencoded","text/plain"],"examples":[{"body":"<h1>Title</h1><p>Hello <strong>world</strong>.</p>","contentType":"text/html","description":"Post HTML and select a transform with outputFormat.","method":"POST","url":"/api/html-transform?outputFormat=to-markdown"}],"fields":[{"description":"HTML transform mode.","id":"outputFormat","required":true,"values":["escape","unescape","strip-tags","extract-links","extract-comments","remove-comments","to-markdown"]}],"methods":["GET","POST"],"response":"json"},"audience":"Documents","description":"Escape, unescape, strip, inspect, and convert simple HTML snippets to Markdown.","display":{"actionLabel":"Transform HTML","category":"HTML","examples":["<h1>Title</h1><p>Hello <strong>world</strong>.</p>"]},"endpoint":"/api/html-transform","id":"html-transform","input":{"label":"HTML","kind":"text","required":true},"label":"HTML transform","outputs":["escape","unescape","strip-tags","extract-links","extract-comments","remove-comments","to-markdown"],"placeholder":"<p>Hello <strong>world</strong>.</p>","runtime":"worker","status":"available","toolType":"converter"},{"aliases":["unix-timestamp-converter","milliseconds-timestamp-converter","human-date-to-timestamp","timestamp-to-readable-date","iso-8601-timestamp-converter","rfc-timestamp-converter","discord-timestamp-generator","add-subtract-time-timestamp","timestamp-difference-calculator","timestamp-validator-formatter","epoch-timestamp-generator"],"api":{"accepts":["application/json","application/x-www-form-urlencoded","text/plain"],"examples":[{"body":"2024-01-02T03:04:05Z","contentType":"text/plain","description":"Post a timestamp or date and select an output format.","method":"POST","url":"/api/timestamp-transform?outputFormat=unix"}],"fields":[{"description":"Timestamp output or calculation mode.","id":"outputFormat","required":true,"values":["unix","milliseconds","iso","readable","rfc2822","discord","add","subtract","difference"]},{"description":"Amount for add or subtract modes.","id":"amount"},{"description":"Unit for add or subtract modes.","id":"unit","values":["milliseconds","seconds","minutes","hours","days","weeks"]},{"description":"End timestamp for difference mode.","id":"until"},{"description":"Discord timestamp style.","id":"style","values":["shortTime","longTime","shortDate","longDate","full","relative"]}],"methods":["GET","POST"],"response":"json"},"audience":"Documents","description":"Convert timestamps and dates between Unix, milliseconds, ISO, readable UTC, RFC, Discord, and simple date math outputs.","display":{"actionLabel":"Convert timestamp","category":"Dates","examples":["2024-01-02T03:04:05Z","1704164645"]},"endpoint":"/api/timestamp-transform","id":"timestamp-transform","input":{"label":"Timestamp or date","kind":"text","required":true},"label":"Timestamp transform","outputs":["unix","milliseconds","iso","readable","rfc2822","discord","add","subtract","difference"],"placeholder":"2024-01-02T03:04:05Z","runtime":"worker","status":"available","toolType":"converter"},{"aliases":["text-transform","character-counter","case-converter","duplicate-word-remover","find-and-replace-text","remove-duplicate-lines","sentence-counter","string-length-calculator","string-reverse","text-case-converter","leet-speak-converter","text-line-sorter","text-repeater","text-reverser","text-size-calculator","text-to-hashtags-generator","text-to-list-converter","upside-down-text-generator","text-to-binary-converter","binary-to-text-converter","text-to-hex-converter","hex-to-text-converter","ascii-to-decimal-converter","ascii-to-hex-converter","ascii-to-octal-converter","binary-decimal-hex-converter","url-decoder","url-encoder","url-case-converter","unicode-escape-encoder","unicode-normalizer","unicode-text-converter","unicode-url-encoder","unicode-whitespace-remover","unicode-zero-width-tool","vertical-text-generator","whitespace-remover","word-counter","word-counter-character-counter","word-frequency-counter"],"api":{"accepts":["application/json","application/x-www-form-urlencoded","text/plain"],"examples":[{"body":"Hello, Pashi App!","contentType":"text/plain","description":"Post text and select a transform with outputFormat.","method":"POST","url":"/api/text-transform?outputFormat=kebab"},{"description":"Decode a binary byte sequence.","method":"GET","url":"/api/text-transform?input=01001000%2001101001&outputFormat=from-binary"}],"fields":[{"description":"Text transform or encoding mode.","id":"outputFormat","required":true,"values":["lowercase","uppercase","title","kebab","snake","camel","reverse","sort-lines","unique-lines","dedupe-words","word-count","character-count","sentence-count","text-size","word-frequency","hashtags","list","repeat","replace","leet","upside-down","binary","from-binary","hex","from-hex","ascii-decimal","ascii-hex","ascii-octal","url-encode","url-decode","unicode-escape","unicode-unescape","normalize-nfc","normalize-nfd","remove-whitespace","remove-zero-width","vertical"]},{"description":"Repeat count for repeat mode.","id":"count"},{"description":"Search text for replace mode.","id":"search"},{"description":"Replacement text for replace mode.","id":"replace"}],"methods":["GET","POST"],"response":"json"},"audience":"Documents","description":"Convert case, encode, decode, count, sort, dedupe, and reshape text.","display":{"actionLabel":"Transform text","category":"Text","examples":["Hello, Pashi App!","01001000 01101001"]},"endpoint":"/api/text-transform","id":"text-transform","input":{"label":"Text","kind":"text","required":true},"label":"Text and encoding","outputs":["lowercase","uppercase","title","kebab","snake","camel","reverse","sort-lines","unique-lines","dedupe-words","word-count","character-count","sentence-count","text-size","word-frequency","hashtags","list","repeat","replace","leet","upside-down","binary","from-binary","hex","from-hex","ascii-decimal","ascii-hex","ascii-octal","url-encode","url-decode","unicode-escape","unicode-unescape","normalize-nfc","normalize-nfd","remove-whitespace","remove-zero-width","vertical"],"placeholder":"Hello, Pashi App!","runtime":"worker","status":"available","toolType":"converter"},{"aliases":["json-formatter-beautifier","json-pretty-print","json-minifier","json-sorter","json-flatten","json-key-extractor","json-key-value-extractor","json-base64","json-encode-decode","json-escape-unescape","json-stringify-parse"],"api":{"accepts":["application/json","application/x-www-form-urlencoded","text/plain"],"examples":[{"body":"{\"b\":2,\"a\":1}","contentType":"application/json","description":"Post JSON and select a transform with outputFormat.","method":"POST","url":"/api/json-transform?outputFormat=format"}],"fields":[{"description":"JSON transform mode.","id":"outputFormat","required":true,"values":["format","minify","sort","flatten","keys","base64","from-base64","escape","unescape"]}],"methods":["GET","POST"],"response":"json"},"audience":"Documents","description":"Format, minify, sort, flatten, inspect, encode, and escape JSON text.","display":{"actionLabel":"Transform JSON","category":"JSON","examples":["{\"b\":2,\"a\":{\"c\":3}}"]},"endpoint":"/api/json-transform","id":"json-transform","input":{"label":"JSON","kind":"text","required":true},"label":"JSON transform","outputs":["format","minify","sort","flatten","keys","base64","from-base64","escape","unescape"],"placeholder":"{\"b\":2,\"a\":{\"c\":3}}","runtime":"worker","status":"available","toolType":"converter"},{"aliases":["csv-json-shape-tools","csv-schema-inspector","csv-shape","csv-summary","json-schema-inspector","json-shape","json-structure-inspector"],"api":{"accepts":["application/json","application/x-www-form-urlencoded","text/plain"],"examples":[{"body":"{\"users\":[{\"id\":1,\"name\":\"Ada\"}]}","contentType":"application/json","description":"Inspect JSON structure and inferred value kinds.","method":"POST","url":"/api/data-shape?outputFormat=json-shape"},{"body":"id,name\n1,Ada\n2,Grace","contentType":"text/csv","description":"Inspect CSV columns, row counts, examples, and inferred scalar types.","method":"POST","url":"/api/data-shape?outputFormat=csv-shape"}],"fields":[{"description":"Data shape inspection mode.","id":"outputFormat","required":true,"values":["json-shape","csv-shape"]}],"methods":["GET","POST"],"response":"json"},"audience":"Documents","description":"Inspect JSON and CSV structure, including fields, row counts, examples, and inferred scalar types.","display":{"actionLabel":"Inspect data","category":"Data","examples":["{\"users\":[{\"id\":1,\"name\":\"Ada\"}]}","id,name\n1,Ada\n2,Grace"]},"endpoint":"/api/data-shape","id":"data-shape","input":{"label":"JSON or CSV","kind":"text","required":true},"label":"Data shape","outputs":["json-shape","csv-shape"],"placeholder":"{\"users\":[{\"id\":1,\"name\":\"Ada\"}]}","runtime":"worker","status":"available","toolType":"converter"},{"aliases":["colour-contrast-checker","color-contrast-checker","cron-explainer","file-signature-inspector","jwt-decoder","jwt-inspector","mime-inspector","uuid-decoder","uuid-inspector"],"api":{"accepts":["application/json","application/x-www-form-urlencoded","text/plain"],"examples":[{"body":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiIxMjMifQ.signature","contentType":"text/plain","description":"Decode a JWT header and payload without verifying the signature.","method":"POST","url":"/api/developer-inspect?outputFormat=jwt"},{"body":"#111827 #ffffff","contentType":"text/plain","description":"Check WCAG contrast for foreground and background colours.","method":"POST","url":"/api/developer-inspect?outputFormat=colour-contrast"}],"fields":[{"description":"Developer inspection mode.","id":"outputFormat","required":true,"values":["jwt","uuid","cron","colour-contrast","mime-signature"]},{"description":"Foreground colour for contrast checks.","id":"foreground"},{"description":"Background colour for contrast checks.","id":"background"}],"methods":["GET","POST"],"response":"json"},"audience":"Documents","description":"Decode JWTs, inspect UUIDs, explain cron expressions, check colour contrast, and identify common file signatures.","display":{"actionLabel":"Inspect value","category":"Developer","examples":["0 9 * * 1","018f9b7c-2f2d-7b68-8f4f-1f3f6c0b2f00"]},"endpoint":"/api/developer-inspect","id":"developer-inspect","input":{"label":"Value","kind":"text","required":true},"label":"Developer inspector","outputs":["jwt","uuid","cron","colour-contrast","mime-signature"],"placeholder":"0 9 * * 1","runtime":"worker","status":"available","toolType":"converter"},{"aliases":["css-beautifier","css-formatter","css-minifier","diff-checker","diff-tool","html-beautifier","html-formatter","html-minifier","json-beautifier","json-diff-tool","json-minifier-tool","pretty-print","text-diff","xml-beautifier","xml-formatter","xml-minifier"],"api":{"accepts":["application/json","application/x-www-form-urlencoded","text/plain"],"examples":[{"body":"one\ntwo\n---\none\nthree","contentType":"text/plain","description":"Compare two text blocks separated by a line containing three hyphens.","method":"POST","url":"/api/developer-text?outputFormat=diff-lines"},{"body":"body{color:#111;background:#fff}","contentType":"text/css","description":"Pretty-print CSS without adding dependencies.","method":"POST","url":"/api/developer-text?outputFormat=pretty-css"}],"fields":[{"description":"Developer text transform mode.","id":"outputFormat","required":true,"values":["diff-lines","pretty-json","minify-json","pretty-css","minify-css","pretty-html","minify-html","pretty-xml","minify-xml"]},{"description":"Left-hand text for diff mode.","display":{"width":"full"},"id":"left"},{"description":"Right-hand text for diff mode.","display":{"width":"full"},"id":"right"},{"description":"Separator used when diffing from a single input field.","id":"separator"}],"methods":["GET","POST"],"response":"json"},"audience":"Documents","description":"Diff text blocks and pretty-print or minify JSON, CSS, HTML, and XML snippets.","display":{"actionLabel":"Transform text","category":"Developer","examples":["one\ntwo\n---\none\nthree","body{color:#111;background:#fff}"]},"endpoint":"/api/developer-text","id":"developer-text","input":{"label":"Text or code","kind":"text","required":false},"label":"Developer text tools","outputs":["diff-lines","pretty-json","minify-json","pretty-css","minify-css","pretty-html","minify-html","pretty-xml","minify-xml"],"placeholder":"one\ntwo\n---\none\nthree","runtime":"worker","status":"available","toolType":"converter"},{"aliases":["curl-converter","curl-to-fetch","curl-to-json","har-converter","har-to-curl","http-request-converter","request-to-curl"],"api":{"accepts":["application/json","application/x-www-form-urlencoded","text/plain"],"examples":[{"body":"curl -X POST -H 'Content-Type: application/json' --data-raw '{\"ok\":true}' https://api.example.com/items","contentType":"text/plain","description":"Convert a curl command into a Fetch API snippet.","method":"POST","url":"/api/request-transform?outputFormat=curl-to-fetch"},{"body":"GET /items HTTP/1.1\nHost: api.example.com\nAccept: application/json","contentType":"text/plain","description":"Convert raw HTTP request text into curl.","method":"POST","url":"/api/request-transform?outputFormat=request-to-curl"}],"fields":[{"description":"Request conversion mode.","id":"outputFormat","required":true,"values":["curl-to-fetch","curl-to-json","har-to-curl","request-to-curl"]}],"methods":["GET","POST"],"response":"json"},"audience":"Documents","description":"Convert common request formats between curl, Fetch API snippets, HAR requests, and raw HTTP request text.","display":{"actionLabel":"Convert request","category":"Requests","examples":["curl -H 'Accept: application/json' https://api.example.com/items","GET /items HTTP/1.1\nHost: api.example.com"]},"endpoint":"/api/request-transform","id":"request-transform","input":{"label":"Request","kind":"text","required":true},"label":"Request transform","outputs":["curl-to-fetch","curl-to-json","har-to-curl","request-to-curl"],"placeholder":"curl -H 'Accept: application/json' https://api.example.com/items","runtime":"worker","status":"available","toolType":"converter"},{"aliases":["url-parser","url-query-string-extractor","url-email-link-extractor","url-duplicate-finder"],"api":{"accepts":["application/json","application/x-www-form-urlencoded","text/plain"],"examples":[{"body":"https://example.com/search?q=pashi&tag=tools","contentType":"text/plain","description":"Post a URL or text containing URLs and choose a transform with outputFormat.","method":"POST","url":"/api/url-transform?outputFormat=parse"}],"fields":[{"description":"URL inspection or extraction mode.","id":"outputFormat","required":true,"values":["parse","query","extract-links","extract-emails","dedupe-links"]}],"methods":["GET","POST"],"response":"json"},"audience":"Documents","description":"Parse URLs, extract query parameters, pull links and email addresses from text, and deduplicate links.","display":{"actionLabel":"Inspect URL","category":"URLs","examples":["https://example.com/search?q=pashi&tag=tools","Email hello@example.com or read https://pashi.app"]},"endpoint":"/api/url-transform","id":"url-transform","input":{"label":"URL or text","kind":"text","required":true},"label":"URL transform","outputs":["parse","query","extract-links","extract-emails","dedupe-links"],"placeholder":"https://example.com/search?q=pashi&tag=tools","runtime":"worker","status":"available","toolType":"converter"},{"aliases":["unit-converter","unit-converter-tool","length-converter","area-converter","volume-converter","weight-converter","weight-and-mass","temperature-converter","speed-converter","data-storage-converter","degrees-radians-converter","time-converter","pressure-converter","energy-converter","power","power-converter","force","force-converter","frequency","frequency-converter","torque","torque-converter","moment-of-force"],"api":{"accepts":["application/json","application/x-www-form-urlencoded","text/plain"],"examples":[{"body":"10 m","contentType":"text/plain","description":"Convert a value with a source unit into the selected output unit.","method":"POST","url":"/api/unit-converter?outputFormat=ft"},{"description":"Convert Celsius to Fahrenheit.","method":"GET","url":"/api/unit-converter?input=100%20c&outputFormat=f"}],"fields":[{"description":"Target unit.","id":"outputFormat","required":true,"values":["m","km","cm","mm","in","ft","yd","mi","kg","g","lb","oz","c","f","k","b","kb","mb","gb","tb","mps","kph","mph","kn","sqm","sqft","acre","l","ml","gal","deg","rad","s","min","h","pa","kpa","bar","psi","j","kj","kwh","cal","w","kw","hp","n","lbf","hz","khz","mhz","nm","lbft"]},{"description":"Optional source unit when the input contains only a number.","id":"fromUnit"}],"methods":["GET","POST"],"response":"json"},"audience":"Documents","description":"Convert common length, mass, temperature, data, speed, area, volume, angle, time, pressure, energy, power, force, frequency, and torque units.","display":{"actionLabel":"Convert unit","category":"Units","examples":["10 m","100 c","1048576 b"]},"endpoint":"/api/unit-converter","id":"unit-converter","input":{"label":"Value with unit","kind":"text","required":true},"label":"Unit converter","outputs":["m","km","cm","mm","in","ft","yd","mi","kg","g","lb","oz","c","f","k","b","kb","mb","gb","tb","mps","kph","mph","kn","sqm","sqft","acre","l","ml","gal","deg","rad","s","min","h","pa","kpa","bar","psi","j","kj","kwh","cal","w","kw","hp","n","lbf","hz","khz","mhz","nm","lbft"],"placeholder":"10 m","runtime":"worker","status":"available","toolType":"converter"},{"aliases":["image-format","image-transcode","image-url","remote-image","png-to-webp","jpg-to-webp","svg-to-png-converter","svg-to-jpg-converter","svg-to-webp-converter","svg-to-ico-converter","favicon-generator-from-image","icon-file-format-converter-all-types","animated-gif-to-icon-converter"],"api":{"accepts":["application/json","application/x-www-form-urlencoded","application/octet-stream","image/*","image/avif","image/bmp","image/gif","image/jpeg","image/png","image/tiff","image/webp","multipart/form-data","text/plain"],"examples":[{"description":"Fetch and convert a public image URL to WebP.","method":"GET","url":"/api/image-format?input=https%3A%2F%2Fnicholasgriffin.dev%2Favatar.png&outputFormat=webp"},{"body":"file=@image.png; outputFormat=avif","contentType":"multipart/form-data","description":"Upload an image file and create a conversion job.","method":"POST","url":"/api/image-format"},{"description":"Check a queued image conversion job.","method":"GET","url":"/api/image-format?job=<job-id>"}],"fields":[{"description":"Target image format.","id":"outputFormat","values":["webp","jpeg","png","avif","gif","bmp","tiff","ico","mjpeg"]},{"description":"Optional image quality from 1 to 100.","id":"quality"}],"methods":["GET","POST"],"response":"json"},"audience":"Media","description":"Convert image URLs immediately, or upload image files into the async ffmpeg pipeline.","display":{"actionLabel":"Convert image","category":"Media","examples":[]},"endpoint":"/api/image-format","id":"image-format","input":{"accept":["image/*",".avif",".bmp",".gif",".ico",".jpg",".jpeg",".mjpeg",".png",".tif",".tiff",".webp"],"label":"Image file","kind":"file","required":true},"label":"Image formats","outputs":["webp","jpeg","png","avif","gif","bmp","tiff","ico","mjpeg"],"placeholder":"Any ffmpeg-readable image","runtime":"container","status":"available","toolType":"converter"},{"aliases":["slackmoji","slack-emoji","slack-emoji-converter","emoji-to-gif","animated-emoji-converter"],"api":{"accepts":["application/json","application/x-www-form-urlencoded","application/octet-stream","image/*","image/avif","image/bmp","image/gif","image/jpeg","image/png","image/tiff","image/webp","multipart/form-data","text/plain"],"examples":[{"body":"file=@emoji.png; effect=none","contentType":"multipart/form-data","description":"Upload an image and generate an animated GIF.","method":"POST","url":"/api/slackmoji"},{"description":"Check a queued slackmoji conversion job.","method":"GET","url":"/api/slackmoji?job=<job-id>"}],"fields":[{"description":"Target output format.","id":"outputFormat","required":true,"values":["gif"]},{"description":"Preset image.","display":{"control":"source-presets","width":"full"},"id":"sourceKey"},{"defaultValue":"spinning","description":"Optional animation preset.","display":{"control":"effect-presets","width":"full"},"id":"effect","values":["none","spinning","flipping","zoom","slide_in","slide_out","scroll","spin_left","spin_right","jitter","rock","pulse","dance","intensifies","blink","party","loop","zigzag","yup","excited","nope","dizzy","spiral","shrinking","peeking","hologram","frazzled","melting","rave","matrix","bees","deal_with_it","glitch","ripple","pixelate","glitch_out","shattered","portal","origami","paint_drip","neon_pulse","pixel_sort","kaleidoscope","bubble_pop","typewriter","black_hole","mosaic_spin","liquid_metal","time_warp","dna_spiral","paint_splash","rubiks","vinyl_record","blueprint"]}],"methods":["GET","POST"],"response":"json"},"audience":"Media","description":"Create animated Slack-style GIFs from images in the ffmpeg container.","display":{"actionLabel":"Generate Slack-style GIF","category":"Media","examples":[]},"endpoint":"/api/slackmoji","id":"slackmoji","input":{"accept":["image/*",".avif",".bmp",".gif",".ico",".jpg",".jpeg",".mjpeg",".png",".tif",".tiff",".webp"],"label":"Image file","kind":"file","required":true},"label":"Slack-style GIF generator","outputs":["gif"],"placeholder":"Upload an image to animate as GIF","runtime":"container","status":"available","toolType":"converter"},{"aliases":["slack-hdr-emoji","hdr-emoji","hdr-slack-emoji","bright-slack-emoji","glowing-slack-emoji","slack-emoji-hdr"],"api":{"accepts":["application/json","application/x-www-form-urlencoded","application/octet-stream","image/*","image/avif","image/bmp","image/gif","image/jpeg","image/png","image/tiff","image/webp","multipart/form-data","text/plain"],"examples":[{"body":"file=@emoji.png; intensity=2.1; gamma=1.1","contentType":"multipart/form-data","description":"Upload an image and generate an HDR-style Slack emoji PNG.","method":"POST","url":"/api/slack-hdr-emoji"},{"description":"Check a queued HDR emoji conversion job.","method":"GET","url":"/api/slack-hdr-emoji?job=<job-id>"}],"fields":[{"description":"Target output format.","id":"outputFormat","required":true,"values":["png"]},{"description":"Preset image.","display":{"control":"source-presets","width":"full"},"id":"sourceKey"},{"defaultValue":"2.1","description":"Brightness intensity.","id":"intensity","values":["1.2","1.5","1.8","2.1"]},{"defaultValue":"1.1","description":"Gamma shaping.","id":"gamma","values":["0.8","0.9","1.0","1.1"]}],"methods":["GET","POST"],"response":"json"},"audience":"Media","description":"Create bright HDR-style Slack emoji PNGs from uploaded images or presets.","display":{"actionLabel":"Generate HDR emoji","category":"Media","examples":[]},"endpoint":"/api/slack-hdr-emoji","id":"slack-hdr-emoji","input":{"accept":["image/*",".avif",".bmp",".gif",".ico",".jpg",".jpeg",".mjpeg",".png",".tif",".tiff",".webp"],"label":"Image file","kind":"file","required":true},"label":"HDR Slack emoji generator","outputs":["png"],"placeholder":"Upload an image or choose a preset for an HDR-style Slack emoji","runtime":"container","status":"available","toolType":"converter"},{"aliases":["file-format","text-file","data-file","json-to-csv","csv-to-json","json-to-yaml-converter","yaml-to-json-converter","json-to-toml-converter","toml-to-json-converter","xml-to-json-converter","csv-to-sql-converter-inserts","csv-to-excel-converter","excel-json-to-csv-converter","excel-xml-to-csv-converter","json-to-sql-converter","csv-to-yaml-converter","yaml-to-csv-converter","csv-to-toml-converter","toml-to-csv-converter","json-to-xml-converter","xml-to-csv-converter","yaml-to-toml-converter","toml-to-yaml-converter","yaml-to-xml-converter","xml-to-yaml-converter","env-to-toml-converter","toml-to-env-converter","ini-to-yaml-converter","yaml-to-ini-converter","properties-to-yaml-converter","yaml-to-properties-converter","tsv-to-csv-converter","csv-to-tsv-converter"],"api":{"accepts":["application/json","application/sql","application/x-www-form-urlencoded","application/xml","application/yaml","multipart/form-data","text/csv","text/html","text/markdown","text/plain"],"examples":[{"body":"name,role\nAda,admin","contentType":"text/csv","description":"Post raw CSV and choose JSON output with query fields.","method":"POST","url":"/api/file-format?outputFormat=json&sourceName=people.csv"},{"body":"file=@people.csv; outputFormat=json","contentType":"multipart/form-data","description":"Upload a file with a file field and outputFormat field.","method":"POST","url":"/api/file-format"}],"fields":[{"description":"Target text-file format.","id":"outputFormat","required":true,"values":["txt","md","json","csv","tsv","html","xls","yaml","toml","xml","ini","properties","env","sql"]},{"description":"Optional source filename used for conversion context and download names.","id":"sourceName"}],"methods":["GET","POST"],"response":"json"},"audience":"Media","description":"Convert text, Markdown, JSON, CSV, HTML, YAML, TOML, XML, INI, env, properties, and SQL files.","display":{"actionLabel":"Convert file","category":"Files","examples":[]},"id":"file-format","endpoint":"/api/file-format","input":{"accept":["text/plain","text/markdown","text/csv","text/tab-separated-values","text/html","application/json","application/xml","application/yaml","application/sql",".txt",".md",".markdown",".csv",".tsv",".tab",".xls",".html",".json",".yaml",".yml",".toml",".xml",".ini",".properties",".env",".sql"],"label":"Text file","kind":"file","required":true},"label":"Text file formats","outputs":["txt","md","json","csv","tsv","html","xls","yaml","toml","xml","ini","properties","env","sql"],"placeholder":"TXT, Markdown, JSON, CSV, HTML, YAML, TOML, XML, INI, env, properties, or SQL","runtime":"worker","status":"available","toolType":"converter"},{"aliases":["document-format","document-convert","docx-to-markdown","markdown-to-docx","md-to-docx","html-to-docx","docx-to-html","markdown-to-wordpress-html-converter"],"api":{"accepts":["application/epub+zip","application/msword","application/octet-stream","application/rtf","application/vnd.oasis.opendocument.text","application/vnd.openxmlformats-officedocument.wordprocessingml.document","multipart/form-data","text/html","text/markdown","text/plain"],"examples":[{"body":"file=@notes.md; outputFormat=docx","contentType":"multipart/form-data","description":"Upload a document and create a Pandoc conversion job.","method":"POST","url":"/api/document-format"},{"description":"Check a queued document conversion job.","method":"GET","url":"/api/document-format?job=<job-id>"}],"fields":[{"description":"Target document format. The API accepts safe Pandoc output extensions.","id":"outputFormat","required":true,"values":["docx","odt","rtf","epub","html","md","txt"]}],"methods":["GET","POST"],"response":"json"},"audience":"Documents","description":"Convert uploaded documents through the async Cloudflare Container running Pandoc.","display":{"actionLabel":"Convert document","category":"Documents","examples":[]},"endpoint":"/api/document-format","id":"document-format","input":{"accept":["application/epub+zip","application/rtf","application/vnd.oasis.opendocument.text","application/vnd.openxmlformats-officedocument.wordprocessingml.document","text/html","text/markdown","text/plain",".docx",".epub",".html",".md",".odt",".rtf",".txt"],"label":"Document file","kind":"file","required":true},"label":"Document formats","outputs":["docx","odt","rtf","epub","html","md","txt"],"placeholder":"DOCX, ODT, RTF, EPUB, HTML, Markdown, or TXT","runtime":"container","status":"available","toolType":"converter"},{"aliases":["video-format","video-transcode","video-format-converter","mp4-to-webm","webm-to-mp4","mov-to-mp4","extract-audio-from-video","video-audio-remover","video-bitrate-changer","video-compressor","video-compressor-simple","video-duration-cutter","video-frame-extractor","video-frame-sequence-exporter","video-grayscale","video-keyframe-extractor","video-speed-changer","video-thumbnail-generator","change-video-fps","resize-video-dimensions"],"api":{"accepts":["audio/*","application/octet-stream","multipart/form-data","video/*","video/avi","video/mpeg","video/mp4","video/quicktime","video/webm"],"examples":[{"body":"file=@clip.mp4; outputFormat=webm","contentType":"multipart/form-data","description":"Upload a video file and create a conversion job.","method":"POST","url":"/api/video-format"},{"description":"Check a queued video conversion job.","method":"GET","url":"/api/video-format?job=<job-id>"}],"fields":[{"description":"Target video, audio, or animated image format.","id":"outputFormat","required":true,"values":["mp4","webm","mov","mkv","avi","m4v","mpeg","mpg","ogv","gif","png","webp","jpeg","mp3","wav","flac","m4a","ogg","opus"]},{"description":"Optional ffmpeg operation preset.","id":"operation","values":["thumbnail","extract-audio","remove-audio","resize","trim","grayscale"]},{"description":"Optional timestamp, duration, fps, bitrate, width, height, speed, or volume fields.","id":"time"}],"methods":["GET","POST"],"response":"json"},"audience":"Media","description":"Convert uploaded video through an async Cloudflare Container running ffmpeg.","display":{"actionLabel":"Convert video","category":"Media","examples":[]},"endpoint":"/api/video-format","id":"video-format","input":{"accept":["video/*","audio/*",".3gp",".avi",".flv",".m4v",".mkv",".mov",".mp4",".mpeg",".mpg",".ogv",".ts",".webm",".wmv"],"label":"Video or audio file","kind":"file","required":true},"label":"Video and audio formats","outputs":["mp4","webm","mov","mkv","avi","m4v","mpeg","mpg","ogv","gif","png","webp","jpeg","mp3","wav","flac","m4a","ogg","opus"],"placeholder":"Any ffmpeg-readable video or audio","runtime":"container","status":"available","toolType":"converter"},{"aliases":["audio-format","audio-transcode","audio-format-converter","mp3-to-wav","wav-to-mp3","mp3-to-flac","flac-to-mp3","wav-to-flac","audio-bitrate-changer","audio-channel-remover","audio-mono-stereo-converter","audio-sample-rate-converter","audio-thumbnail-generator","audio-trimmer","audio-waveform-generator"],"api":{"accepts":["application/octet-stream","audio/*","audio/aac","audio/flac","audio/mpeg","audio/ogg","audio/wav","multipart/form-data"],"examples":[{"body":"file=@clip.mp3; outputFormat=wav","contentType":"multipart/form-data","description":"Upload an audio file and create a conversion job.","method":"POST","url":"/api/audio-format"},{"description":"Check a queued audio conversion job.","method":"GET","url":"/api/audio-format?job=<job-id>"}],"fields":[{"description":"Target audio format.","id":"outputFormat","required":true,"values":["mp3","wav","flac","aac","m4a","ogg","opus","aiff","mka","wma","png"]},{"description":"Optional ffmpeg operation preset.","id":"operation","values":["trim","waveform"]},{"description":"Optional duration, bitrate, channels, sampleRate, speed, or volume fields.","id":"duration"}],"methods":["GET","POST"],"response":"json"},"audience":"Media","description":"Convert uploaded audio through the async Cloudflare Container running ffmpeg.","display":{"actionLabel":"Convert audio","category":"Media","examples":[]},"endpoint":"/api/audio-format","id":"audio-format","input":{"accept":["audio/*",".aac",".aiff",".flac",".m4a",".mka",".mp3",".oga",".ogg",".opus",".wav",".wma"],"label":"Audio file","kind":"file","required":true},"label":"Audio formats","outputs":["mp3","wav","flac","aac","m4a","ogg","opus","aiff","mka","wma","png"],"placeholder":"Any ffmpeg-readable audio","runtime":"container","status":"available","toolType":"converter"}]}