API REFERENCE
Estimate cost
On this page
/api/content/estimateEstimate the cost of running the content creation pipeline. Calculates per-step and per-video costs based on current pricing. Supports comparing multiple workflow profiles (e.g., premium vs. budget) and projecting batch costs. This endpoint is informational only — it does not trigger any pipeline execution or spend credits.
Authentication
x-api-key in header
bearerAuth bearer
Request
curl --request GET \
--url 'https://api.recoupable.dev/api/content/estimate' \
--header 'x-api-key: YOUR_API_KEY'Replace the YOUR_ placeholders with your values. Required query parameters are included; optional parameters are listed below.
Try it
Fill in the fields, send the request from your browser, and read the live response. The curl below updates as you type.
Kept in this browser tab only and cleared when it closes.
curl --request GET \
--url 'https://api.recoupable.dev/api/content/estimate'Parameters
Query parameters
lipsyncbooleanWhich workflow to estimate. false for image-to-video, true for audio-to-video. If omitted, estimates the default image-to-video workflow.
batchintegerNumber of videos to project costs for. Use this to answer questions like "how much would 30 videos cost?"
Default: 1
comparebooleanWhen true, returns estimates for all available workflow profiles (premium, budget, mid) for side-by-side comparison.
Default: false
Responses
200Cost estimate calculated successfully+
application/json
workflowsarray<ContentWorkflowEstimate>requiredOne or more workflow cost breakdowns
Item properties for workflows
namestringrequiredWorkflow profile name
Example: "Current (image-to-video)"
perVideonumberrequiredTotal estimated cost per video in USD
Example: 0.82
format: float
stepsarray<ContentStepEstimate>requiredPer-step cost breakdown showing where the money goes
Item properties for steps
namestringrequiredPipeline step name
Example: "Generate Image"
modelstringrequiredThe AI model or service used for this step
Example: "fal-ai/nano-banana-pro/edit"
costnumberrequiredEstimated cost for this step in USD
Example: 0.04
format: float
unitstringBilling unit type (e.g., images, seconds, megapixels). Not present for free steps.
Example: "images"
unitPricenumberPrice per billing unit in USD. Not present for free steps.
Example: 0.04
format: float
notestringrequiredHuman-readable calculation detail
Example: "1 call"
costBreakdownobjectSummary of the biggest cost driver
Properties for costBreakdown
mostExpensiveStepstringName of the step that costs the most
Example: "Generate Video"
mostExpensivePercentintegerPercentage of total cost from the most expensive step
Example: 68
comparisonobjectSide-by-side summary. Only present when compare is true and multiple workflows are returned.
Properties for comparison
cheapeststringrequiredName of the cheapest workflow profile
Example: "Budget (no upscale, LTX video)"
cheapestPerVideonumberrequiredCost per video for the cheapest workflow
Example: 0.18
format: float
mostExpensivestringrequiredName of the most expensive workflow profile
Example: "Current (audio-to-video)"
mostExpensivePerVideonumberrequiredCost per video for the most expensive workflow
Example: 0.95
format: float
savingsPercentintegerrequiredPercentage savings between the cheapest and most expensive workflows
Example: 81
batchobjectBatch cost projection. Only present when batch > 1.
Properties for batch
countintegerNumber of videos in the batch
Example: 30
cheapestTotalnumberTotal cost for the batch using the cheapest workflow
Example: 5.4
format: float
mostExpensiveTotalnumberTotal cost for the batch using the most expensive workflow
Example: 28.5
format: float
401Unauthorized — invalid or missing API key+
application/json
errorstringrequiredError message describing what went wrong
Example: "Unauthorized"
Full specification
Download the OpenAPI file for complete schemas, constraints, and examples.
Download content.jsonView operation source
{
"operationId": "getContentEstimate",
"description": "Estimate the cost of running the content creation pipeline. Calculates per-step and per-video costs based on current pricing. Supports comparing multiple workflow profiles (e.g., premium vs. budget) and projecting batch costs. This endpoint is informational only — it does not trigger any pipeline execution or spend credits.",
"security": [
{
"apiKeyAuth": []
},
{
"bearerAuth": []
}
],
"parameters": [
{
"name": "lipsync",
"in": "query",
"description": "Which workflow to estimate. `false` for image-to-video, `true` for audio-to-video. If omitted, estimates the default image-to-video workflow.",
"required": false,
"schema": {
"type": "boolean",
"example": false
}
},
{
"name": "batch",
"in": "query",
"description": "Number of videos to project costs for. Use this to answer questions like \"how much would 30 videos cost?\"",
"required": false,
"schema": {
"type": "integer",
"minimum": 1,
"default": 1,
"example": 1
}
},
{
"name": "compare",
"in": "query",
"description": "When `true`, returns estimates for all available workflow profiles (premium, budget, mid) for side-by-side comparison.",
"required": false,
"schema": {
"type": "boolean",
"default": false,
"example": false
}
}
],
"responses": {
"200": {
"description": "Cost estimate calculated successfully",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ContentEstimateResponse"
}
}
}
},
"401": {
"description": "Unauthorized — invalid or missing API key",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ContentErrorResponse"
}
}
}
}
}
}