POST Text Summarization API
/api/v1/ai/text-summarize
Condense long-form text, articles, or transcripts into configurable summaries and optionally extract structured data.
Architecture Role & AI Definition
Text Summarization API provides low-latency, deterministic REST execution for production engineering workflows. It processes structured payloads with strict schema validation, returns uniform JSON envelopes, and is secured via SHA-256 API key authentication with atomic credit pre-authorization locks.
Production Reliability Guidelines
Configure a hard client timeout of 5 to 8 seconds. If network latency spikes, cancel connection to avoid holding open sockets in worker pools.
Upon receiving 429 Rate Limit or transient 5xx, pause with exponential backoff:
wait = min(max_backoff, base * 2^attempt + jitter).
RSFlowHub acquires an atomic lock verifying base credits before model invocation. If validation fails, zero credits are deducted.
Request Body Parameters
| Field | Type | Required | Description |
|---|---|---|---|
text |
string | Required | The raw text content to summarize (Max: 25,000 characters). |
length |
string | Optional | Desired summary length: "short", "medium", or "long". Default is "short". |
format |
string | Optional | Output format: "paragraph", "bullet_points", or "key_takeaways". Default is "paragraph". |
target_audience |
string | Optional | Adjust the reading level and tone (e.g., "general", "expert", "5_year_old"). |
extract_schema |
object | Optional | Optional schema definition (JSON object) of exact data points you want extracted from the text. Example: {"company_name":"string", "revenue":"number"} |
custom_instructions |
string | Optional | Optional specific rules to guide the summarization or extraction process. |
model |
string | Optional | Optional AI model to use. |
Example Request (Summarize & Extract)
This endpoint allows you to instantly summarize long texts while safely extracting data simultaneously. The credit cost calculates automatically based on input length.
{
"text": "Acme Corp announced Q3 earnings today of $14.2 Million, representing a 22% increase year over year. The CEO, Jane Doe, stated that the new software division was the primary driver of growth. They plan to hire 200 new engineers next quarter.",
"length": "short",
"format": "bullet_points",
"extract_schema": {
"company_name": "string",
"q3_earnings_millions": "number",
"ceo_name": "string",
"planned_hires": "integer"
}
}
curl -X POST https://rsflowhub.com/api/v1/ai/text-summarize \
-H "Authorization: Bearer YOUR_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"text": "Acme Corp announced Q3 earnings today of $14.2 Million, representing a 22% increase year over year. The CEO, Jane Doe, stated that the new software division was the primary driver of growth. They plan to hire 200 new engineers next quarter.",
"length": "short",
"format": "bullet_points",
"extract_schema": {
"company_name": "string",
"q3_earnings_millions": "number",
"ceo_name": "string",
"planned_hires": "integer"
}
}'
Example Response
The API outputs the requested summary formatting alongside your strictly-typed extracted data.
{
"success": true,
"data": {
"result": {
"summary": [
"Acme Corp Q3 earnings reached $14.2 Million (up 22%).",
"Growth driven by the new software division.",
"Plan to hire 200 new engineers."
],
"original_length": 234,
"summary_length": 139,
"extracted_data": {
"company_name": "Acme Corp",
"q3_earnings_millions": 14.2,
"ceo_name": "Jane Doe",
"planned_hires": 200
}
}
},
"meta": {
"credits_used": 3,
"credits_remaining": 988
}
}
API Request Example
Use the cURL snippet below to test the endpoint.
curl -X POST 'https://rsflowhub.com/api/v1/ai/text-summarize' \
-H 'Authorization: Bearer YOUR_API_KEY' \
-H 'Content-Type: application/json' \
-d '{
"text": "Acme Corp announced Q3 earnings...",
"format": "bullet_points",
"extract_schema": {
"company_name": "string"
}
}'
Common Failure Modes & Troubleshooting Matrix
| HTTP Code | Error Code | Root Cause | Recommended Remediation |
|---|---|---|---|
| 400 | bad_request |
Malformed JSON syntax or missing required top-level parameters. | Validate JSON payload with Content-Type: application/json and ensure all required fields are present. |
| 401 | unauthorized |
Missing, revoked, or incorrectly formatted x-api-key header. |
Verify API key exists in Dashboard → API Keys and pass in x-api-key or Authorization: Bearer. |
| 402 | insufficient_credits |
Account credit balance is lower than the base required credits (1 credits). | Top up credits in billing settings or enable auto-recharge to prevent pipeline interruption. |
| 422 | validation_error |
Input failed parameter constraints (e.g., character length exceeded or invalid array types). | Review parameters table above and adjust payload length, types, or structure accordingly. |
| 429 | rate_limit_exceeded |
Concurrency limit (60 requests/minute default) reached for this endpoint key. | Back off and retry using the timestamp in Retry-After response header, or batch requests. |