AI links: open priced Azure, AWS and Google Cloud quotes from one URL
An AI link is a pricing request written into a URL. Compose it from what your user told you, with no call to Cloud Pricing Calculators and no key. When they open it, the canvas prices it on the clouds you named: one provider block lands one quote per service, and two or three blocks land a comparison group.
Version parent-1.0.0, built on the sister grammar 1.0.0. Machine-readable: /ai-link.json. Full agent guide: /llms-full.txt. To get prices back in your own conversation instead of a link, use the API on the agent page.
Grammar
https://cloudpricingcalculators.com/q/<provider>/<services>/<specs>[/<provider>/<services>/<specs>]{0,2}[?n=<name>]
<provider> := azure | aws | gcp (each at most once per link)
<services> := <slug>(-<slug>)* (the sister grammar, per provider)
<specs> := <spec>(-<spec>)* (one spec per service, same order)
<spec> := <key>=<value>(_<key>=<value>)*
<slug> := [a-z][a-z0-9]{0,23}
<key> := [a-z]{1,20}
<value> := [a-z0-9]{1,32}
- One block,
/q/<provider>/<services>/<specs>, prices on one cloud, exactly like that cloud's own calculator.
- Several blocks,
/q/azure/<s>/<p>/aws/<s>/<p>[/gcp/<s>/<p>]: the path is read in threes, each provider at most once, and the quotes land as one comparison group.
?n= names the quote or group. It belongs to the whole link.
- Lower case only; no
. and no + anywhere (write m5large, not m5.large).
- If any part does not parse, nothing is priced: the canvas opens and names the token it could not read. Besides the sister reasons, a link fails with
bad_provider (not azure, aws or gcp) or duplicate_provider.
- The link carries requirements, never prices. The engines price it when the link is opened, on the visitor's own free daily allowance; automated browsers land the quotes as drafts without pricing.
- A sister link,
https://<sister>/q/<services>/<specs>, pasted into the canvas imports too: the cloud comes from its host.
Limits
| At most | What |
|---|
| 3 | services in the whole link, across all provider blocks |
| 3 | provider blocks (each of azure, aws, gcp at most once) |
| 800 | characters after /q/, measured after percent-decoding |
| 12 | key=value pairs per service |
| 24 | characters in a service slug |
| 20 | characters in a spec key |
| 32 | characters in a spec value |
| 60 | characters in ?n= (the quote name) |
Examples
Service slugs and spec keys per cloud
Spec keys are the same on every cloud, and the engines read English; only the worked example values differ, because each cloud spells sizes and regions its own way.
Microsoft Azure: provider token azure
The same slugs as the Azure Price Calculator AI links. Unknown slugs that fit the pattern pass through to the engine.
| Slug | Service | Also accepted |
|---|
vm | Azure Virtual Machines | vms, virtualmachines |
sql | Azure SQL Database | sqldb, azuresql |
sqlmi | Azure SQL Managed Instance | |
postgres | Azure Database for PostgreSQL | postgresql |
mysql | Azure Database for MySQL | |
cosmos | Azure Cosmos DB | cosmosdb |
storage | Azure Blob Storage | blob, blobstorage |
files | Azure Files | |
disk | Azure Managed Disks | disks |
appservice | Azure App Service | webapp, appservices |
functions | Azure Functions | func |
aks | Azure Kubernetes Service | kubernetes |
containerapps | Azure Container Apps | |
aci | Azure Container Instances | |
redis | Azure Cache for Redis | |
vnet | Azure Virtual Network | |
loadbalancer | Azure Load Balancer | lb |
appgateway | Azure Application Gateway | appgw |
frontdoor | Azure Front Door | |
cdn | Azure CDN | |
firewall | Azure Firewall | |
vpngateway | Azure VPN Gateway | vpn |
bastion | Azure Bastion | |
keyvault | Azure Key Vault | |
monitor | Azure Monitor | loganalytics |
backup | Azure Backup | |
openai | Azure OpenAI Service | |
synapse | Azure Synapse Analytics | |
databricks | Azure Databricks | |
datafactory | Azure Data Factory | adf |
servicebus | Azure Service Bus | |
eventhubs | Azure Event Hubs | eventhub |
apim | Azure API Management | |
avd | Azure Virtual Desktop | |
search | Azure AI Search | aisearch |
staticwebapp | Azure Static Web Apps | swa |
signalr | Azure SignalR Service | |
logicapps | Azure Logic Apps | |
iothub | Azure IoT Hub | |
Spec keys for azure
| Key | Meaning | Example | Read as |
|---|
qty | count of instances | qty=2 | quantity 2 |
size | instance or VM size | size=d4sv3 | size D4s v3 |
vcores | vCPU or vCore count | vcores=4 | 4 vCores |
ram | memory in GB | ram=16 | 16 GB RAM |
nodes | cluster nodes | nodes=3 | 3 nodes |
os | operating system | os=linux | operating system Linux |
region | region code, no spaces | region=eastus | region East US |
tier | service tier | tier=generalpurpose | tier General Purpose |
storage | storage in GB | storage=250 | 250 GB storage |
gb | storage in GB | gb=500 | 500 GB storage |
tb | storage in TB | tb=2 | 2 TB storage |
redundancy | storage redundancy | redundancy=lrs | LRS redundancy |
hours | hours per month | hours=730 | 730 hours per month |
users | expected users | users=500 | 500 users |
requests | requests per month | requests=10000000 | 10,000,000 requests per month |
egress | outbound GB per month | egress=500 | 500 GB outbound data per month |
iops | provisioned IOPS | iops=5000 | iops 5000 |
throughput | throughput hint | throughput=250 | throughput 250 |
replicas | replica count | replicas=2 | replicas 2 |
env | environment hint | env=prod | env prod |
commit | commitment | commit=payg | pay-as-you-go |
Amazon Web Services: provider token aws
The same slugs as the AWS Price Calculator AI links. Unknown slugs that fit the pattern pass through to the engine.
| Slug | Service | Also accepted |
|---|
ec2 | Amazon EC2 | |
rds | Amazon RDS | |
aurora | Amazon Aurora | |
dynamodb | Amazon DynamoDB | dynamo |
s3 | Amazon S3 | |
ebs | Amazon EBS | |
efs | Amazon EFS | |
lambda | AWS Lambda | |
ecs | Amazon ECS | |
eks | Amazon EKS | kubernetes |
fargate | AWS Fargate | |
elasticache | Amazon ElastiCache | redis |
redshift | Amazon Redshift | |
cloudfront | Amazon CloudFront | cdn |
elb | Elastic Load Balancing | loadbalancer, alb |
vpc | Amazon VPC | |
route53 | Amazon Route 53 | dns |
apigateway | Amazon API Gateway | apigw |
sqs | Amazon SQS | |
sns | Amazon SNS | |
cloudwatch | Amazon CloudWatch | |
lightsail | Amazon Lightsail | |
opensearch | Amazon OpenSearch Service | |
beanstalk | AWS Elastic Beanstalk | elasticbeanstalk |
Spec keys for aws
| Key | Meaning | Example | Read as |
|---|
qty | count of instances | qty=2 | quantity 2 |
size | instance or VM size | size=m5large | size m5.large |
vcores | vCPU or vCore count | vcores=4 | 4 vCores |
ram | memory in GB | ram=16 | 16 GB RAM |
nodes | cluster nodes | nodes=3 | 3 nodes |
os | operating system | os=linux | operating system Linux |
region | region code, no spaces | region=useast1 | region us-east-1 |
tier | service tier | tier=generalpurpose | tier General Purpose |
storage | storage in GB | storage=250 | 250 GB storage |
gb | storage in GB | gb=500 | 500 GB storage |
tb | storage in TB | tb=2 | 2 TB storage |
redundancy | storage redundancy | redundancy=lrs | LRS redundancy |
hours | hours per month | hours=730 | 730 hours per month |
users | expected users | users=500 | 500 users |
requests | requests per month | requests=10000000 | 10,000,000 requests per month |
egress | outbound GB per month | egress=500 | 500 GB outbound data per month |
iops | provisioned IOPS | iops=5000 | iops 5000 |
throughput | throughput hint | throughput=250 | throughput 250 |
replicas | replica count | replicas=2 | replicas 2 |
env | environment hint | env=prod | env prod |
commit | commitment | commit=payg | pay-as-you-go |
Google Cloud: provider token gcp
The same slugs as the GCP Price Calculator AI links. Unknown slugs that fit the pattern pass through to the engine.
| Slug | Service | Also accepted |
|---|
gce | Compute Engine | computeengine |
gcs | Cloud Storage | cloudstorage |
cloudsql | Cloud SQL | |
bigquery | BigQuery | |
cloudrun | Cloud Run | |
cloudfunctions | Cloud Functions | functions |
gke | Google Kubernetes Engine | kubernetes |
cloudcdn | Cloud CDN | cdn |
loadbalancer | Cloud Load Balancing | lb |
spanner | Cloud Spanner | cloudspanner |
firestore | Firestore | |
bigtable | Bigtable | |
memorystore | Memorystore | redis |
pubsub | Pub/Sub | |
vertexai | Vertex AI | vertex |
persistentdisk | Persistent Disk | pd |
filestore | Filestore | |
clouddns | Cloud DNS | dns |
artifactregistry | Artifact Registry | |
cloudlogging | Cloud Logging | logging |
Spec keys for gcp
| Key | Meaning | Example | Read as |
|---|
qty | count of instances | qty=2 | quantity 2 |
size | instance or VM size | size=n2standard4 | size n2-standard-4 |
vcores | vCPU or vCore count | vcores=4 | 4 vCores |
ram | memory in GB | ram=16 | 16 GB RAM |
nodes | cluster nodes | nodes=3 | 3 nodes |
os | operating system | os=linux | operating system Linux |
region | region code, no spaces | region=uscentral1 | region us-central1 |
tier | service tier | tier=generalpurpose | tier General Purpose |
storage | storage in GB | storage=250 | 250 GB storage |
gb | storage in GB | gb=500 | 500 GB storage |
tb | storage in TB | tb=2 | 2 TB storage |
redundancy | storage redundancy | redundancy=lrs | LRS redundancy |
hours | hours per month | hours=730 | 730 hours per month |
users | expected users | users=500 | 500 users |
requests | requests per month | requests=10000000 | 10,000,000 requests per month |
egress | outbound GB per month | egress=500 | 500 GB outbound data per month |
iops | provisioned IOPS | iops=5000 | iops 5000 |
throughput | throughput hint | throughput=250 | throughput 250 |
replicas | replica count | replicas=2 | replicas 2 |
env | environment hint | env=prod | env prod |
commit | commitment | commit=payg | pay-as-you-go |