Aspect ratio calculator API
Enter a width and height to get the simplified ratio, or lock a ratio and change one side to get the other. Each result lists the Instagram, Facebook, LinkedIn, X and other image sizes with the same ratio.
- Endpoint:
POST https://postboost.co/app/api/tools/aspect-ratio-calculator(operationIdcalculateAspectRatio) - Web tool: postboost.co/tools/aspect-ratio-calculator
- Token: optional (limits)
- MCP: tool
calculate-aspect-ratioonhttps://postboost.co/mcp/tools
Request
| Field | Type | Default | Description |
|---|---|---|---|
width | integer | Width in pixels. | |
height | integer | Height in pixels. | |
ratio | string | Ratio as width:height, e.g. 16:9 or 1.91:1. Give it with width or height to get the other side. |
Call it
- curl
- Python
- Node.js
- PHP
- Go
- Ruby
- Java
- C#
- Rust
- CLI
curl -X POST https://postboost.co/app/api/tools/aspect-ratio-calculator \
-H 'Content-Type: application/json' \
-d '{"width":1080,"height":1350}'
from postboost import ApiClient, Configuration
from postboost.api.free_tools_api import FreeToolsApi
from postboost.models import FreeToolCalculateAspectRatioRequest
with ApiClient(Configuration()) as client:
api = FreeToolsApi(client)
result = api.calculate_aspect_ratio(FreeToolCalculateAspectRatioRequest.from_dict({"width": 1080, "height": 1350}))
print(result.to_dict())
import { FreeToolsApi } from 'postboost';
const api = new FreeToolsApi();
const { body } = await api.calculateAspectRatio({ width: 1080, height: 1350 });
console.log(body);
use PostBoostClient\Api\FreeToolsApi;
use PostBoostClient\Model\FreeToolCalculateAspectRatioRequest;
$api = new FreeToolsApi(new GuzzleHttp\Client());
$result = $api->calculateAspectRatio(new FreeToolCalculateAspectRatioRequest(['width' => 1080, 'height' => 1350]));
echo $result;
import (
"context"
"encoding/json"
"fmt"
postboost "github.com/postboost-co/postboost-go"
)
var request postboost.FreeToolCalculateAspectRatioRequest
if err := json.Unmarshal([]byte(`{"width":1080,"height":1350}`), &request); err != nil {
panic(err)
}
client := postboost.NewAPIClient(postboost.NewConfiguration())
result, _, err := client.FreeToolsAPI.CalculateAspectRatio(context.Background()).FreeToolCalculateAspectRatioRequest(request).Execute()
fmt.Println(result, err)
require 'postboost'
api = PostBoost::FreeToolsApi.new
result = api.calculate_aspect_ratio(PostBoost::FreeToolCalculateAspectRatioRequest.new({ width: 1080, height: 1350 }))
puts result.to_hash
import com.postboost.ApiClient;
import com.postboost.api.FreeToolsApi;
import com.postboost.model.FreeToolCalculateAspectRatioRequest;
import com.postboost.model.FreeToolCalculateAspectRatioResponse;
FreeToolsApi api = new FreeToolsApi(new ApiClient());
FreeToolCalculateAspectRatioRequest request = FreeToolCalculateAspectRatioRequest.fromJson("{\"width\":1080,\"height\":1350}");
FreeToolCalculateAspectRatioResponse result = api.calculateAspectRatio(request);
System.out.println(result.toJson());
using Newtonsoft.Json;
using PostBoost.Client.Api;
using PostBoost.Client.Client;
using PostBoost.Client.Model;
var api = new FreeToolsApi(new Configuration());
var request = JsonConvert.DeserializeObject<FreeToolCalculateAspectRatioRequest>(@"{""width"":1080,""height"":1350}");
var result = await api.CalculateAspectRatioAsync(request);
Console.WriteLine(result.ToJson());
use postboost::apis::configuration::Configuration;
use postboost::apis::free_tools_api;
use postboost::models::FreeToolCalculateAspectRatioRequest;
let config = Configuration::new();
let request: FreeToolCalculateAspectRatioRequest = serde_json::from_str(r##"{"width":1080,"height":1350}"##)?;
let result = free_tools_api::calculate_aspect_ratio(&config, request).await?;
println!("{:?}", result);
echo '{"width":1080,"height":1350}' | ./postboost-cli --content-type application/json calculateAspectRatio -
With a token, send Authorization: Bearer YOUR_API_TOKEN as a default header (how, per SDK).
Response
{
"ratio": "4:5",
"decimal": 0.8,
"width": 1080,
"height": 1350,
"rounding": null,
"orientation": "portrait",
"matches": [
{
"network": "instagram",
"format": "feed-portrait",
"width": 1080,
"height": 1350,
"ratio": "4:5",
"exact": true
},
{
"network": "facebook",
"format": "feed-image",
"width": 1080,
"height": 1350,
"ratio": "4:5",
"exact": true
},
{
"network": "linkedin",
"format": "single-image-post-vertical",
"width": 720,
"height": 900,
"ratio": "4:5",
"exact": true
},
{
"network": "threads",
"format": "post",
"width": 1080,
"height": 1350,
"ratio": "4:5",
"exact": true
}
]
}
With MCP
Connect https://postboost.co/mcp/tools (setup) and ask, for example: Calculate an aspect ratio, or the missing side of an image at a given ratio with the PostBoost calculate-aspect-ratio tool.
Errors
| Status | When |
|---|---|
401 | The Authorization header holds an invalid token. Leave it out to call as a guest. |
413 | The JSON body is larger than 128 KB. |
422 | A field is invalid; the body lists the errors per field. |
429 | A limit is reached; see limits. |