API Κειμένου - Μετάφραση, Διόρθωση & Επεξεργασία

Επαγγελματικό API επεξεργασίας κειμένου: ανίχνευση γλώσσας, μετάφραση, γραμματική διόρθωση, σύνοψη και περισσότερα.

Τι μπορείτε να κάνετε;
Έξυπνη μετάφραση

Μετάφραση με AI σε 50+ γλώσσες με κατανόηση πλαισίου.

Γραμματική & Ορθογραφία

Αυτόματη διόρθωση σφαλμάτων διατηρώντας νόημα και τόνο.

Επεξεργασία κειμένου

Σύνοψη, επεξήγηση, αναδιατύπωση — όλα σε ένα ενιαίο API.

99.9 % Διαθεσιμότητα
Απάντηση
5 req/s
0.001 Πιστωτικές μονάδες / αίτημα

Διαθέσιμες γλώσσες

Λάβετε πλήρη λίστα υποστηριζόμενων γλωσσών και παραλλαγών.

POST https://api.yeb.to/v1/text/languages
Παράμετρος Τύπος Απαιτ. Περιγραφή
api_key string ναι Authentication key

Παραδείγματα αιτημάτων

{
  "api_key": "YOUR_KEY"
}

Ενσωματώσεις API

curl -X POST https://api.yeb.to/v1/text/languages \
  -H "Content-Type: application/json" \
  -H "X-API-Key: YOUR_KEY" \
  -d '{}'
$response = Http::withHeaders([
    'X-API-Key' => 'YOUR_KEY'
])->post('https://api.yeb.to/v1/text/languages');

$languages = $response->json()['languages'];
fetch('https://api.yeb.to/v1/text/languages', {
  method: 'POST',
  headers: {
    'Content-Type': 'application/json',
    'X-API-Key': 'YOUR_KEY'
  },
  body: JSON.stringify({})
})
.then(r => r.json())
.then(data => console.log(data.languages));
import requests

response = requests.post(
    'https://api.yeb.to/v1/text/languages',
    headers={'X-API-Key': 'YOUR_KEY'},
    json={}
)
languages = response.json()['languages']

Response Example

{
  "languages": [
    {
      "id": 21,
      "name": "English",
      "code": "en",
      "variants": [
        {
          "id": 1,
          "name": "American English",
          "tone": "regional"
        },
        {
          "id": 2,
          "name": "British English",
          "tone": "regional"
        }
      ]
    },
    {
      "id": 11,
      "name": "Bulgarian",
      "code": "bg",
      "variants": []
    },
    {
      "id": 87,
      "name": "Spanish",
      "code": "es",
      "variants": [
        {
          "id": 5,
          "name": "Castilian Spanish",
          "tone": "regional"
        },
        {
          "id": 6,
          "name": "Latin American Spanish",
          "tone": "regional"
        }
      ]
    }
  ],
  "response_code": 200,
  "response_time_ms": 8
}

Κωδικοί απάντησης

ΚωδικόςΠεριγραφή
200 SuccessΤο αίτημα επεξεργάστηκε επιτυχώς.
400 Bad RequestΗ επικύρωση εισόδου απέτυχε.
401 UnauthorizedΚλειδί API λείπει ή είναι λάθος.
403 ForbiddenΚλειδί ανενεργό ή μη επιτρεπόμενο.
429 Rate LimitΠάρα πολλά αιτήματα.
500 Server ErrorΜη αναμενόμενο σφάλμα.

List Languages

text-languages 0.0010 credits

Parameters

API Key
body · string · required

Code Samples


                
                
                
            

Response

Status:
Headers

                
Body

                

Ανίχνευση γλώσσας

Αυτόματη αναγνώριση γλωσσών σε κείμενο με βαθμολογίες εμπιστοσύνης.

POST https://api.yeb.to/v1/text/detect-language
Παράμετρος Τύπος Απαιτ. Περιγραφή
api_key string ναι Authentication key
text string ναι Text to analyze for language detection

Παραδείγματα αιτημάτων

{
  "api_key": "YOUR_KEY",
  "text": "Hello world! Bonjour le monde!"
}

Ενσωματώσεις API

curl -X POST https://api.yeb.to/v1/text/detect-language \
  -H "Content-Type: application/json" \
  -H "X-API-Key: YOUR_KEY" \
  -d '{"text": "Hello world! Bonjour!"}'
$response = Http::withHeaders([
    'X-API-Key' => 'YOUR_KEY'
])->post('https://api.yeb.to/v1/text/detect-language', [
    'text' => 'Hello world! Bonjour!'
]);

$detections = $response->json()['detections'];
fetch('https://api.yeb.to/v1/text/detect-language', {
  method: 'POST',
  headers: {
    'Content-Type': 'application/json',
    'X-API-Key': 'YOUR_KEY'
  },
  body: JSON.stringify({
    text: 'Hello world! Bonjour!'
  })
})
.then(r => r.json())
.then(data => console.log(data.detections));
import requests

response = requests.post(
    'https://api.yeb.to/v1/text/detect-language',
    headers={'X-API-Key': 'YOUR_KEY'},
    json={'text': 'Hello world! Bonjour!'}
)
detections = response.json()['detections']

Response Example

{
  "detections": [
    {
      "code": "en",
      "confidence": 0.95
    },
    {
      "code": "fr",
      "confidence": 0.92
    }
  ],
  "languages": [
    {
      "id": 21,
      "name": "English",
      "code": "en"
    },
    {
      "id": 26,
      "name": "French",
      "code": "fr"
    }
  ],
  "response_code": 200,
  "response_time_ms": 523
}
{
  "error": "text is required",
  "code": 422,
  "response_code": 422,
  "response_time_ms": 8
}

Κωδικοί απάντησης

ΚωδικόςΠεριγραφή
200 SuccessΤο αίτημα επεξεργάστηκε επιτυχώς.
400 Bad RequestΗ επικύρωση εισόδου απέτυχε.
401 UnauthorizedΚλειδί API λείπει ή είναι λάθος.
403 ForbiddenΚλειδί ανενεργό ή μη επιτρεπόμενο.
429 Rate LimitΠάρα πολλά αιτήματα.
500 Server ErrorΜη αναμενόμενο σφάλμα.

Detect Language

text-detect-language 0.0090 credits

Parameters

API Key
body · string · required
Text
body · string · required

Code Samples


                
                
                
            

Response

Status:
Headers

                
Body

                

Μετάφραση κειμένου

Επαγγελματική μετάφραση με υποστήριξη πλαισίου και παραλλαγών.

POST https://api.yeb.to/v1/text/translate
Παράμετρος Τύπος Απαιτ. Περιγραφή
api_key string ναι Authentication key
text string ναι Text to translate
target_language object ναι Target language: {"type":"language|variant", "id":123}
Example: {"type":"language","id":26} for French
Or: {"type":"variant","id":1} for American English
source_languages array προαιρ. Array of source language objects for mixed/ambiguous text
Format: [{"type":"language","id":76}, {"type":"language","id":11}]
Helps with: Multilingual text, cognates, technical terms
Example: Russian (76) + Bulgarian (11) mixed text
context string προαιρ. Context text (max 100 chars): tone, voice, perspective
Example: "Medical doctor, formal" or "Feminine, casual"

Παραδείγματα αιτημάτων

Example 1: Basic translation to language
{
  "api_key": "YOUR_KEY",
  "text": "Hello, how are you?",
  "target_language": {
    "type": "language",
    "id": 26
  }
}
Example 2: Translation to variant with context
{
  "api_key": "YOUR_KEY",
  "text": "The patient has a fever",
  "target_language": {
    "type": "variant",
    "id": 7
  },
  "context": "Medical doctor, formal terminology"
}
Example 3: Multilingual text with source_languages
{
  "api_key": "YOUR_KEY",
  "text": "Привет! Как си? Я хочу кафе.",
  "target_language": {
    "type": "language",
    "id": 21
  },
  "source_languages": [
    {"type": "language", "id": 76},
    {"type": "language", "id": 11}
  ]
}
Example 4: All parameters combined
{
  "api_key": "YOUR_KEY",
  "text": "Hello! Je voudrais annuler mon compte.",
  "target_language": {
    "type": "variant",
    "id": 1
  },
  "source_languages": [
    {"type": "language", "id": 21},
    {"type": "language", "id": 26}
  ],
  "context": "Customer support, polite and professional"
}

Ενσωματώσεις API

curl -X POST https://api.yeb.to/v1/text/translate \
  -H "Content-Type: application/json" \
  -H "X-API-Key: YOUR_KEY" \
  -d '{
    "text": "Привет! Как си?",
    "target_language": {"type":"language","id":21},
    "source_languages": [
      {"type":"language","id":76},
      {"type":"language","id":11}
    ]
  }'
$response = Http::withHeaders([
    'X-API-Key' => 'YOUR_KEY'
])->post('https://api.yeb.to/v1/text/translate', [
    'text' => 'Hello! Je voudrais aide.',
    'target_language' => [
        'type' => 'language',
        'id' => 21
    ],
    'source_languages' => [
        ['type' => 'language', 'id' => 21],
        ['type' => 'language', 'id' => 26]
    ],
    'context' => 'Customer support, polite'
]);

$translated = $response->json()['translated_text'];
fetch('https://api.yeb.to/v1/text/translate', {
  method: 'POST',
  headers: {
    'Content-Type': 'application/json',
    'X-API-Key': 'YOUR_KEY'
  },
  body: JSON.stringify({
    text: 'Привет! Как си?',
    target_language: {type:'language',id:21},
    source_languages: [
      {type:'language',id:76},
      {type:'language',id:11}
    ],
    context: 'Casual conversation'
  })
})
.then(r => r.json())
.then(data => console.log(data.translated_text));
import requests

response = requests.post(
    'https://api.yeb.to/v1/text/translate',
    headers={'X-API-Key': 'YOUR_KEY'},
    json={
        'text': 'Hello! Bonjour!',
        'target_language': {'type':'language','id':11},
        'source_languages': [
            {'type':'language','id':21},
            {'type':'language','id':26}
        ],
        'context': 'Formal business'
    }
)
translated = response.json()['translated_text']

Response Example

{
  "translated_text": "Bonjour, comment allez-vous?",
  "target_language": {
    "type": "language",
    "id": 26,
    "code": "fr",
    "name": "French",
    "label": "French"
  },
  "response_code": 200,
  "response_time_ms": 842
}
{
  "error": "target_language is required",
  "code": 422,
  "response_code": 422,
  "response_time_ms": 8
}

Κωδικοί απάντησης

ΚωδικόςΠεριγραφή
200 SuccessΤο αίτημα επεξεργάστηκε επιτυχώς.
400 Bad RequestΗ επικύρωση εισόδου απέτυχε.
401 UnauthorizedΚλειδί API λείπει ή είναι λάθος.
403 ForbiddenΚλειδί ανενεργό ή μη επιτρεπόμενο.
429 Rate LimitΠάρα πολλά αιτήματα.
500 Server ErrorΜη αναμενόμενο σφάλμα.
Language ID Reference
Popular Languages:
  • 21 - English (4 variants)
  • 11 - Bulgarian
  • 26 - French (2 variants)
  • 87 - Spanish (2 variants)
  • 30 - German (3 variants)
  • 76 - Russian
  • 73 - Portuguese (2 variants)
Example Variants:
  • 1 - American English
  • 2 - British English
  • 5 - Castilian Spanish
  • 6 - Latin American Spanish
  • 7 - Brazilian Portuguese
  • 8 - European Portuguese

Get all 105 languages: POST /v1/text/languages

Translate Text

text-translate 0.0200 credits

Parameters

API Key
body · string · required
Text
body · string · required
Target Language
body · string · required
Source Languages
body · string
Context
body · string

Code Samples


                
                
                
            

Response

Status:
Headers

                
Body

                

Αναδιατύπωση κειμένου

Αναδιατυπώστε κείμενο ώστε να είναι πιο σαφές και φυσικό.

POST https://api.yeb.to/v1/text/rephrase
Παράμετρος Τύπος Απαιτ. Περιγραφή
api_key string ναι Authentication key
text string ναι Text to rephrase
context string προαιρ. Context text (max 100 chars): tone, voice, style
Example: "Formal business" or "Casual friendly"

Παραδείγματα αιτημάτων

Example 1: Basic rephrase
{
  "api_key": "YOUR_KEY",
  "text": "The thing that I want to say is that this is really good."
}
Example 2: Rephrase with context
{
  "api_key": "YOUR_KEY",
  "text": "I wanna tell you that this stuff is awesome.",
  "context": "Formal business communication"
}

Ενσωματώσεις API

curl -X POST https://api.yeb.to/v1/text/rephrase \
  -H "Content-Type: application/json" \
  -H "X-API-Key: YOUR_KEY" \
  -d '{
    "text": "I wanna say this is awesome.",
    "context": "Professional tone"
  }'
$response = Http::withHeaders([
    'X-API-Key' => 'YOUR_KEY'
])->post('https://api.yeb.to/v1/text/rephrase', [
    'text' => 'I wanna say this is awesome.',
    'context' => 'Professional tone'
]);

$rephrased = $response->json()['rephrased_text'];
fetch('https://api.yeb.to/v1/text/rephrase', {
  method: 'POST',
  headers: {
    'Content-Type': 'application/json',
    'X-API-Key': 'YOUR_KEY'
  },
  body: JSON.stringify({
    text: 'I wanna say this is awesome.',
    context: 'Professional tone'
  })
})
.then(r => r.json())
.then(data => console.log(data.rephrased_text));
import requests

response = requests.post(
    'https://api.yeb.to/v1/text/rephrase',
    headers={'X-API-Key': 'YOUR_KEY'},
    json={
        'text': 'I wanna say this is awesome.',
        'context': 'Professional tone'
    }
)
rephrased = response.json()['rephrased_text']

Response Example

{
  "rephrased_text": "I would like to express that this is excellent.",
  "response_code": 200,
  "response_time_ms": 756
}
{
  "error": "text is required",
  "code": 422,
  "response_code": 422,
  "response_time_ms": 8
}

Κωδικοί απάντησης

ΚωδικόςΠεριγραφή
200 SuccessΤο αίτημα επεξεργάστηκε επιτυχώς.
400 Bad RequestΗ επικύρωση εισόδου απέτυχε.
401 UnauthorizedΚλειδί API λείπει ή είναι λάθος.
403 ForbiddenΚλειδί ανενεργό ή μη επιτρεπόμενο.
429 Rate LimitΠάρα πολλά αιτήματα.
500 Server ErrorΜη αναμενόμενο σφάλμα.
Context Examples
  • "Formal business" - Professional tone
  • "Casual friendly" - Relaxed conversational
  • "Technical documentation" - Clear, precise
  • "Marketing copy" - Engaging, persuasive
  • "Academic writing" - Scholarly tone

Rephrase Text

text-rephrase 0.0200 credits

Parameters

API Key
body · string · required
Text
body · string · required
Context
body · string

Code Samples


                
                
                
            

Response

Status:
Headers

                
Body

                

Γραμματική διόρθωση

Διόρθωση ορθογραφικών, γραμματικών και στίξης σφαλμάτων.

POST https://api.yeb.to/v1/text/correct
Παράμετρος Τύπος Απαιτ. Περιγραφή
api_key string ναι Authentication key
text string ναι Text to correct (grammar, spelling, punctuation)
context string προαιρ. Context text (max 100 chars): preserve voice/style
Example: "Technical writing" or "Casual tone"

Παραδείγματα αιτημάτων

Example 1: Basic correction
{
  "api_key": "YOUR_KEY",
  "text": "Their going too the store tommorow."
}
Example 2: Correction with context
{
  "api_key": "YOUR_KEY",
  "text": "The pacient has a feever and headake.",
  "context": "Medical documentation"
}

Ενσωματώσεις API

curl -X POST https://api.yeb.to/v1/text/correct \
  -H "Content-Type: application/json" \
  -H "X-API-Key: YOUR_KEY" \
  -d '{
    "text": "Their going too the store.",
    "context": "Casual conversation"
  }'
$response = Http::withHeaders([
    'X-API-Key' => 'YOUR_KEY'
])->post('https://api.yeb.to/v1/text/correct', [
    'text' => 'Their going too the store.',
    'context' => 'Casual conversation'
]);

$corrected = $response->json()['corrected_text'];
fetch('https://api.yeb.to/v1/text/correct', {
  method: 'POST',
  headers: {
    'Content-Type': 'application/json',
    'X-API-Key': 'YOUR_KEY'
  },
  body: JSON.stringify({
    text: 'Their going too the store.',
    context: 'Casual conversation'
  })
})
.then(r => r.json())
.then(data => console.log(data.corrected_text));
import requests

response = requests.post(
    'https://api.yeb.to/v1/text/correct',
    headers={'X-API-Key': 'YOUR_KEY'},
    json={
        'text': 'Their going too the store.',
        'context': 'Casual conversation'
    }
)
corrected = response.json()['corrected_text']

Response Example

{
  "corrected_text": "They're going to the store tomorrow.",
  "response_code": 200,
  "response_time_ms": 634
}
{
  "error": "text is required",
  "code": 422,
  "response_code": 422,
  "response_time_ms": 8
}

Κωδικοί απάντησης

ΚωδικόςΠεριγραφή
200 SuccessΤο αίτημα επεξεργάστηκε επιτυχώς.
400 Bad RequestΗ επικύρωση εισόδου απέτυχε.
401 UnauthorizedΚλειδί API λείπει ή είναι λάθος.
403 ForbiddenΚλειδί ανενεργό ή μη επιτρεπόμενο.
429 Rate LimitΠάρα πολλά αιτήματα.
500 Server ErrorΜη αναμενόμενο σφάλμα.
What Gets Corrected
  • Grammar errors
  • Spelling mistakes
  • Punctuation issues
  • Word confusion (their/they're)
  • Preserves original meaning

Correct Text

text-correct 0.0200 credits

Parameters

API Key
body · string · required
Text
body · string · required
Context
body · string

Code Samples


                
                
                
            

Response

Status:
Headers

                
Body

                

Σύνοψη κειμένου

Δημιουργία συνοπτικών περιλήψεων μεγάλου περιεχομένου.

POST https://api.yeb.to/v1/text/summarize
Παράμετρος Τύπος Απαιτ. Περιγραφή
api_key string ναι Authentication key
text string ναι Text to summarize
max_sentences integer προαιρ. Maximum sentences in summary (default: 5, range: 1-20)
target_language object προαιρ. Output language for the summary. Object: {"type":"language","id":26}
If omitted, summary keeps the same language as input
source_languages array προαιρ. Source language hints: [{"type":"language","id":21}]
context string προαιρ. Context text (max 500 chars): summary style/focus
Example: "Focus on key points" or "Executive summary"

Παραδείγματα αιτημάτων

Example 1: Basic summarization
{
  "api_key": "YOUR_KEY",
  "text": "Long article text here...",
  "max_sentences": 3
}
Example 2: Summarization with context
{
  "api_key": "YOUR_KEY",
  "text": "The quarterly report shows significant growth in all sectors...",
  "max_sentences": 5,
  "context": "Executive summary, highlight financial metrics"
}
Example 3: Summarize in a different language
{
  "api_key": "YOUR_KEY",
  "text": "Long article in English about climate change...",
  "max_sentences": 3,
  "target_language": {"type": "language", "id": 26}
}

Ενσωματώσεις API

curl -X POST https://api.yeb.to/v1/text/summarize \
  -H "Content-Type: application/json" \
  -H "X-API-Key: YOUR_KEY" \
  -d '{
    "text": "Long article text here...",
    "max_sentences": 3,
    "context": "Focus on key points"
  }'
$response = Http::withHeaders([
    'X-API-Key' => 'YOUR_KEY'
])->post('https://api.yeb.to/v1/text/summarize', [
    'text' => 'Long article text here...',
    'max_sentences' => 3,
    'context' => 'Focus on key points'
]);

$summary = $response->json()['summary_text'];
fetch('https://api.yeb.to/v1/text/summarize', {
  method: 'POST',
  headers: {
    'Content-Type': 'application/json',
    'X-API-Key': 'YOUR_KEY'
  },
  body: JSON.stringify({
    text: 'Long article text here...',
    max_sentences: 3,
    context: 'Focus on key points'
  })
})
.then(r => r.json())
.then(data => console.log(data.summary_text));
import requests

response = requests.post(
    'https://api.yeb.to/v1/text/summarize',
    headers={'X-API-Key': 'YOUR_KEY'},
    json={
        'text': 'Long article text here...',
        'max_sentences': 3,
        'context': 'Focus on key points'
    }
)
summary = response.json()['summary_text']

Response Example

{
  "summary_text": "The article discusses three main points. First, it covers historical context. Finally, it provides modern applications.",
  "response_code": 200,
  "response_time_ms": 891
}
{
  "error": "text is required",
  "code": 422,
  "response_code": 422,
  "response_time_ms": 8
}

Κωδικοί απάντησης

ΚωδικόςΠεριγραφή
200 SuccessΤο αίτημα επεξεργάστηκε επιτυχώς.
400 Bad RequestΗ επικύρωση εισόδου απέτυχε.
401 UnauthorizedΚλειδί API λείπει ή είναι λάθος.
403 ForbiddenΚλειδί ανενεργό ή μη επιτρεπόμενο.
429 Rate LimitΠάρα πολλά αιτήματα.
500 Server ErrorΜη αναμενόμενο σφάλμα.
Summary Length Guide
  • 1-2 sentences - Quick headline
  • 3-5 sentences - Brief overview (default)
  • 6-10 sentences - Detailed summary
  • 10-20 sentences - Comprehensive digest
Context Examples
  • "Executive summary"
  • "Focus on technical details"
  • "Highlight action items"
  • "For non-technical audience"

Summarize Text

text-summarize 0.0200 credits

Parameters

API Key
body · string · required
Text
body · string · required
Max Sentences
body · string
Target Language
body · string
Source Languages
body · string
Context
body · string

Code Samples


                
                
                
            

Response

Status:
Headers

                
Body

                

Επεξήγηση κειμένου

Εξήγηση σύνθετου κειμένου με απλούς, κατανοητούς όρους.

POST https://api.yeb.to/v1/text/explain
Παράμετρος Τύπος Απαιτ. Περιγραφή
api_key string ναι Authentication key
text string ναι Text to explain in simple terms
explanation_language string προαιρ. Language for explanation: en|de|es|fr|tr|bg
Default: bg (Bulgarian)
context string προαιρ. Context text (max 100 chars): audience level
Example: "For a 10-year-old" or "Academic audience"

Παραδείγματα αιτημάτων

Example 1: Basic explanation in English
{
  "api_key": "YOUR_KEY",
  "text": "Quantum entanglement is a physical phenomenon that occurs when particles become interconnected.",
  "explanation_language": "en"
}
Example 2: Explanation with context
{
  "api_key": "YOUR_KEY",
  "text": "The mitochondria is the powerhouse of the cell.",
  "explanation_language": "en",
  "context": "Explain for a 10-year-old"
}

Ενσωματώσεις API

curl -X POST https://api.yeb.to/v1/text/explain \
  -H "Content-Type: application/json" \
  -H "X-API-Key: YOUR_KEY" \
  -d '{
    "text": "Quantum entanglement is...",
    "explanation_language": "en",
    "context": "For a child"
  }'
$response = Http::withHeaders([
    'X-API-Key' => 'YOUR_KEY'
])->post('https://api.yeb.to/v1/text/explain', [
    'text' => 'Quantum entanglement is...',
    'explanation_language' => 'en',
    'context' => 'For a child'
]);

$explanation = $response->json()['explanation_text'];
fetch('https://api.yeb.to/v1/text/explain', {
  method: 'POST',
  headers: {
    'Content-Type': 'application/json',
    'X-API-Key': 'YOUR_KEY'
  },
  body: JSON.stringify({
    text: 'Quantum entanglement is...',
    explanation_language: 'en',
    context: 'For a child'
  })
})
.then(r => r.json())
.then(data => console.log(data.explanation_text));
import requests

response = requests.post(
    'https://api.yeb.to/v1/text/explain',
    headers={'X-API-Key': 'YOUR_KEY'},
    json={
        'text': 'Quantum entanglement is...',
        'explanation_language': 'en',
        'context': 'For a child'
    }
)
explanation = response.json()['explanation_text']

Response Example

{
  "explanation_text": "Quantum entanglement is like magic twins - when something happens to one, the other feels it instantly, no matter how far apart they are.",
  "response_code": 200,
  "response_time_ms": 1023
}
{
  "error": "text is required",
  "code": 422,
  "response_code": 422,
  "response_time_ms": 8
}

Κωδικοί απάντησης

ΚωδικόςΠεριγραφή
200 SuccessΤο αίτημα επεξεργάστηκε επιτυχώς.
400 Bad RequestΗ επικύρωση εισόδου απέτυχε.
401 UnauthorizedΚλειδί API λείπει ή είναι λάθος.
403 ForbiddenΚλειδί ανενεργό ή μη επιτρεπόμενο.
429 Rate LimitΠάρα πολλά αιτήματα.
500 Server ErrorΜη αναμενόμενο σφάλμα.
Explanation Languages
  • bg - Bulgarian (default)
  • en - English
  • de - German
  • es - Spanish
  • fr - French
  • tr - Turkish
Context Examples
  • "For a 10-year-old"
  • "Academic audience"
  • "Non-technical reader"
  • "Medical professional"

Explain Text

text-explain 0.0200 credits

Parameters

API Key
body · string · required
Text
body · string · required
Target Language
body · string
Source Languages
body · string
Explanation Language
body · string
Context
body · string

Code Samples


                
                
                
            

Response

Status:
Headers

                
Body

                

Find Synonyms

Find context-aware synonyms for a selected word or phrase within your text. Returns up to 5 synonyms ranked by accuracy.

POST https://api.yeb.to/v1/text/synonyms
Παράμετρος Τύπος Απαιτ. Περιγραφή
api_key string ναι Authentication key
selected_text string ναι Word or phrase to find synonyms for (max 50 characters)
source_text string ναι Full text providing context for synonym selection (max 50,000 chars)
source_languages array προαιρ. Array of source language descriptors: [{"type":"language","id":1}]
context string προαιρ. Context/preference for synonym selection (max 500 chars)
Example: "Formal tone, masculine"

Παραδείγματα αιτημάτων

Example 1: Basic synonyms
{
  "api_key": "YOUR_KEY",
  "selected_text": "happy",
  "source_text": "I am very happy to see you today."
}
Example 2: Synonyms with context and language
{
  "api_key": "YOUR_KEY",
  "selected_text": "happy",
  "source_text": "I am very happy to see you today.",
  "source_languages": [{"type": "language", "id": 1}],
  "context": "Formal business communication"
}

Ενσωματώσεις API

curl -X POST https://api.yeb.to/v1/text/synonyms \
  -H "Content-Type: application/json" \
  -d '{
    "api_key": "YOUR_KEY",
    "selected_text": "happy",
    "source_text": "I am very happy to see you today.",
    "source_languages": [{"type": "language", "id": 1}]
  }'
$response = Http::post('https://api.yeb.to/v1/text/synonyms', [
    'api_key' => 'YOUR_KEY',
    'selected_text' => 'happy',
    'source_text' => 'I am very happy to see you today.',
    'source_languages' => [['type' => 'language', 'id' => 1]],
]);

$synonyms = $response->json()['synonyms'];
const response = await fetch('https://api.yeb.to/v1/text/synonyms', {
  method: 'POST',
  headers: { 'Content-Type': 'application/json' },
  body: JSON.stringify({
    api_key: 'YOUR_KEY',
    selected_text: 'happy',
    source_text: 'I am very happy to see you today.',
    source_languages: [{ type: 'language', id: 1 }]
  })
});
const { synonyms } = await response.json();
console.log(synonyms);
import requests

response = requests.post(
    'https://api.yeb.to/v1/text/synonyms',
    json={
        'api_key': 'YOUR_KEY',
        'selected_text': 'happy',
        'source_text': 'I am very happy to see you today.',
        'source_languages': [{'type': 'language', 'id': 1}]
    }
)
synonyms = response.json()['synonyms']

Response Example

{
  "synonyms": [
    { "word": "joyful", "accuracy": 95 },
    { "word": "cheerful", "accuracy": 90 },
    { "word": "delighted", "accuracy": 85 },
    { "word": "pleased", "accuracy": 80 },
    { "word": "content", "accuracy": 75 }
  ],
  "response_code": 200,
  "response_time_ms": 892
}
{
  "error": "selected_text is required and must be at most 50 characters",
  "code": 422,
  "response_code": 422,
  "response_time_ms": 5
}

Κωδικοί απάντησης

ΚωδικόςΠεριγραφή
200 SuccessΤο αίτημα επεξεργάστηκε επιτυχώς.
400 Bad RequestΗ επικύρωση εισόδου απέτυχε.
401 UnauthorizedΚλειδί API λείπει ή είναι λάθος.
403 ForbiddenΚλειδί ανενεργό ή μη επιτρεπόμενο.
429 Rate LimitΠάρα πολλά αιτήματα.
500 Server ErrorΜη αναμενόμενο σφάλμα.
Context Examples
  • "Formal business" - Professional synonyms
  • "Casual friendly" - Informal alternatives
  • "Medical terminology" - Domain-specific
  • "Masculine, formal" - Gendered + formal
  • "Poetic, literary" - Creative alternatives
How It Works
  1. Send the selected word/phrase and the full text
  2. AI analyzes the word in its context
  3. Returns top 5 synonyms ranked by accuracy
  4. Each synonym includes an accuracy % (0-100)

Find Synonyms

text-synonyms 0.0200 credits

Parameters

API Key
body · string · required
Selected Text
body · string · required
Source Text
body · string · required
Source Languages
body · string
Context
body · string

Code Samples


                
                
                
            

Response

Status:
Headers

                
Body

                

API Κειμένου - Μετάφραση, Διόρθωση & Επεξεργασία — Practical Guide

A comprehensive guide to the Text API: language detection, professional translation, grammar correction, text summarization, explanation, and rephrasing. Learn which endpoint to use when, how parameters work in practice, and how to build AI-powered text processing into your apps.

#What Text API solves

The Text API provides 8 specialized endpoints for professional text processing: detect languages automatically, translate with context awareness, fix grammar and spelling, rephrase for clarity, summarize long content, explain complex text in simple terms, and find context-aware synonyms. Perfect for multilingual apps, content platforms, customer support, and educational tools. All powered by config-based languages with zero database dependencies.

#Available endpoints

#POST /v1/text/languages

  • Best for: Getting the complete list of 105 supported languages and their variants
  • Source: Static config file (fast, no database)
  • Use case: Populate language dropdowns, validate language IDs before translation

#POST /v1/text/detect-language

  • Best for: Automatically identifying the language(s) in user-submitted text
  • Returns: Language codes with confidence scores (0-1)
  • Use case: Auto-routing support tickets, content moderation, multilingual search indexing

#POST /v1/text/translate

  • Best for: Professional translation with context preservation
  • Supports: 105 languages, 23 regional variants (American English, Brazilian Portuguese, etc.)
  • Context: Simple text parameter (max 500 chars) for tone/style preferences
  • Use case: E-commerce localization, multilingual customer communication, content publishing

#POST /v1/text/rephrase

  • Best for: Rewriting text to be clearer, more natural, or more concise
  • Keeps: Same language, same meaning, improved readability
  • Context support: Apply custom voice/tone (masculine, feminine, formal, casual)
  • Use case: Content optimization, email polish, documentation improvement

#POST /v1/text/correct

  • Best for: Fixing grammar, spelling, and punctuation errors
  • Preserves: Original meaning and voice, corrects only mistakes
  • Context support: Maintain specific style/voice during correction
  • Use case: User-generated content cleanup, automated proofreading, form validation

#POST /v1/text/summarize

  • Best for: Creating concise summaries of long documents or articles
  • Control: Set max_sentences (default: 5) for summary length
  • Output language: Optional target_language to get summary in a different language
  • Context support: Summary style/audience preferences
  • Use case: News digests, document previews, meeting notes, research abstracts

#POST /v1/text/explain

  • Best for: Explaining complex text in simple, easy-to-understand terms
  • Languages: Explain in any of the 105 supported languages (default: BG)
  • Context support: Audience level (for children, academic, etc.)
  • Use case: Educational platforms, customer FAQs, technical documentation simplified

#POST /v1/text/synonyms

  • Best for: Finding context-aware synonyms for a selected word or phrase
  • Returns: Up to 5 synonyms ranked by accuracy (0-100%)
  • Context support: Tone, style, and domain preferences for synonym selection
  • Use case: Writing assistants, vocabulary builders, content optimization, text editors with word suggestions

#Quick start

# Get all 105 languages
curl -X POST "https://api.yeb.to/v1/text/languages" \
  -H "X-API-Key: YOUR_KEY"
# Translate to French (language ID 26)
curl -X POST "https://api.yeb.to/v1/text/translate" \
  -H "X-API-Key: YOUR_KEY" \
  -d '{
    "text": "Hello, how are you?",
    "target_language": {"type":"language","id":26}
  }'
# Translate with context
curl -X POST "https://api.yeb.to/v1/text/translate" \
  -H "X-API-Key: YOUR_KEY" \
  -d '{
    "text": "The patient has a fever",
    "target_language": {"type":"language","id":26},
    "context": "Medical doctor, formal terminology"
  }'

#Key parameters explained

ParamUsed inWhat to passWhy it matters
api_key All Via header (X-API-Key) or body param Authentication & rate limiting
text All except languages Text to process (string) Primary content for operation
target_language translate, summarize {"type":"language|variant","id":123} Specifies output language. Required for translate, optional for summarize (defaults to same language as input)
source_languages translate, summarize Array: [{"type":"language","id":76}] Hint for multilingual/ambiguous source text
context All text operations Simple text (max 500 chars) Apply custom preferences (tone, voice, style, audience)
max_sentences summarize Integer (default: 5) Control summary length
explanation_language explain Any supported language code (default: bg) Language for simplified explanation
selected_text synonyms Word or phrase (max 50 chars) The word/phrase to find synonyms for
source_text synonyms Full surrounding text (max 50,000 chars) Provides context for accurate synonym ranking

#Understanding Languages & Variants

The API supports 105 languages with 23 regional/tonal variants:

  • Language ID 21 (English) → Variants: American (ID 1), British (ID 2), Australian (ID 3), Canadian (ID 4)
  • Language ID 87 (Spanish) → Variants: Castilian (ID 5), Latin American (ID 6)
  • Language ID 73 (Portuguese) → Variants: Brazilian (ID 7), European (ID 8)
  • Language ID 26 (French) → Variants: Metropolitan (ID 9), Canadian (ID 10)
  • Language ID 30 (German) → Variants: Standard (ID 11), Swiss (ID 12), Austrian (ID 13)

Fetch the complete list with /v1/text/languages. All language/variant IDs are documented and stable.

#Using context parameter

The context parameter accepts simple text (max 500 chars) to guide the AI:

  • Voice/Gender: "Masculine", "Feminine", "Neutral gender"
  • Tone: "Formal business", "Casual friendly", "Technical documentation"
  • Perspective: "Doctor's point of view", "Patient-friendly language"
  • Industry: "Legal terminology", "Medical context", "Software development"
  • Audience: "For children under 10", "Academic audience", "B2B executives"
{
  "text": "The patient presents with fever",
  "target_language": {"type":"language","id":26},
  "context": "Medical doctor, formal terminology"
}

#Reading & handling responses

#Success responses

// Translation to language
{
  "translated_text": "Bonjour, comment allez-vous?",
  "target_language": {
    "type": "language",
    "id": 26,
    "code": "fr",
    "name": "French",
    "label": "French"
  },
  "response_code": 200,
  "response_time_ms": 842
}
// Translation to variant (British English)
{
  "translated_text": "Good morning, how are you today?",
  "target_language": {
    "type": "variant",
    "id": 2,
    "code": "en",
    "name": "English",
    "label": "English – British English",
    "tone": "regional",
    "variant_id": 2
  },
  "response_code": 200,
  "response_time_ms": 765
}
// Language detection
{
  "detections": [
    {"code": "en", "confidence": 0.95},
    {"code": "fr", "confidence": 0.92}
  ],
  "languages": [
    {"id": 21, "name": "English", "code": "en"},
    {"id": 26, "name": "French", "code": "fr"}
  ],
  "response_code": 200,
  "response_time_ms": 523
}
// Synonyms
{
  "synonyms": [
    {"word": "joyful", "accuracy": 95},
    {"word": "cheerful", "accuracy": 90},
    {"word": "delighted", "accuracy": 85},
    {"word": "pleased", "accuracy": 80},
    {"word": "content", "accuracy": 75}
  ],
  "response_code": 200,
  "response_time_ms": 892
}

#Error responses

{ "error": "text is required", "code": 422, "response_code": 422 }
{ "error": "Invalid API key", "code": 401, "response_code": 401 }
  • 401: Invalid or missing API key
  • 422: Missing required parameters or invalid format
  • 429: Rate limit exceeded (10 req/s)
  • 402: Insufficient credits
  • 500: Server error (retry with exponential backoff)

#Real-world use cases

#E-commerce localization

Challenge: Translate product descriptions to 10+ languages
Solution: Use translate with variants for regional preferences

// Translate to Brazilian Portuguese (variant ID 7)
POST /v1/text/translate
{
  "text": "Premium leather wallet with RFID protection",
  "target_language": {"type":"variant","id":7},
  "context": "E-commerce product, professional tone"
}

#Customer support automation

Challenge: Handle multilingual support tickets
Solution: detect-languagetranslate with source_languages

// 1. Detect languages in ticket
POST /v1/text/detect-language {"text":"Hello! Je voudrais aide..."}
// Returns: languages [21, 26]

// 2. Translate with source hint
POST /v1/text/translate {
  "text":"Hello! Je voudrais aide avec mon compte.",
  "target_language":{"type":"language","id":21},
  "source_languages":[
    {"type":"language","id":21},
    {"type":"language","id":26}
  ],
  "context":"Customer support, polite"
}

// 3. Summarize for quick triage
POST /v1/text/summarize {
  "text":"...",
  "max_sentences":2,
  "context":"Support ticket summary, highlight urgency"
}

#Content platform with voice preferences

Challenge: User-generated content needs correction while maintaining voice
Solution: Use context to preserve gender/tone

// Correct while maintaining feminine voice
POST /v1/text/correct {
  "text":"Their going too the store",
  "context":"Feminine voice, casual tone"
}
// → "She's going to the store"

// Rephrase with masculine, formal context
POST /v1/text/rephrase {
  "text":"I wanna say that...",
  "context":"Masculine, formal business communication"
}
// → "I would like to state that..."

#Best practices

  1. Cache language lists: /languages returns config data — cache for 24h or longer
  2. Use language IDs consistently: Document which IDs your app uses (e.g., English=21, Spanish=87)
  3. Leverage variants: Use American English (ID 1) vs British (ID 2) for regional accuracy
  4. Keep contexts concise: 500 char limit — focus on key preferences like "Formal medical" not lengthy descriptions
  5. Combine operations: detect → translate → correct for multilingual content pipelines
  6. Handle rate limits: Implement exponential backoff for 429 responses
  7. Monitor response times: Use response_time_ms to track API performance

#Technical architecture

Text API uses a config-based architecture with zero database dependencies:

  • Languages: Static config file with 105 languages + 23 variants
  • Contexts: Simple text parameters (no database storage)
  • Logging: Handled by ApiBase (existing api_requests tables)
  • Performance: ~5-10ms for /languages, no database queries for language lookups

#API Changelog

2026-02-18
v1.1: New synonyms endpoint — find context-aware synonyms with accuracy scores. Expanded explain to support all 105 languages (was 6). Context parameter limit increased from 100 to 500 characters.
2025-01-09
v1.0 Launch: Complete rebranding from Popnie API to Text API. New RESTful structure with dedicated endpoints. Config-based languages (105 languages, 23 variants). Simple context system. Zero database dependencies for languages and contexts. Improved language variant system with regional/tonal support.

Συχνές Ερωτήσεις

Υποστηρίζουμε 50+ γλώσσες για μετάφραση, με ανίχνευση γλώσσας για όλες τις κύριες παγκόσμιες γλώσσες συμπεριλαμβανομένων κυριλλικών, λατινικών, ασιατικών και μεσανατολικών γραφών.

Η μετάφρασή μας με AI διατηρεί πλαίσιο και αποχρώσεις, επιτυγχάνοντας επαγγελματική ποιότητα. Για κρίσιμα έγγραφα, συνιστούμε ανθρώπινο έλεγχο.

Τα πλαίσια σας επιτρέπουν να ορίσετε προτιμήσεις όπως τόνο (επίσημο/ανεπίσημο), ορολογία κλάδου και οδηγίες στυλ που εφαρμόζονται σε όλα τα αιτήματα επεξεργασίας κειμένου.

Ναι! Διατηρούμε παραγράφους, αλλαγές γραμμής και δομές λιστών. Σύνθετη μορφοποίηση όπως πίνακες μπορεί να χρειάζεται ειδικό χειρισμό.

Ναι. Κάθε αίτημα, ακόμα και αυτά που καταλήγουν σε σφάλμα, καταναλώνει πιστωτικές μονάδες. Οι πιστωτικές μονάδες σας συνδέονται με τον αριθμό αιτημάτων, ανεξάρτητα από επιτυχία ή αποτυχία. Εάν το σφάλμα οφείλεται σαφώς σε πρόβλημα της πλατφόρμας από τη δική μας πλευρά, θα αποκαταστήσουμε τις επηρεαζόμενες πιστωτικές μονάδες (χωρίς επιστροφή χρημάτων).

Επικοινωνήστε μαζί μας στο [email protected]. Λαμβάνουμε τα σχόλια σοβαρά—εάν η αναφορά σφάλματος ή το αίτημα λειτουργίας είναι ουσιαστικό, μπορούμε να διορθώσουμε ή να βελτιώσουμε το API γρήγορα και να σας χορηγήσουμε 50 δωρεάν πιστωτικές μονάδες ως ευχαριστώ.

Εξαρτάται από το API και μερικές φορές ακόμα και από το endpoint. Ορισμένα endpoints χρησιμοποιούν δεδομένα από εξωτερικές πηγές, που μπορεί να έχουν αυστηρότερα όρια. Επιβάλλουμε επίσης όρια για να αποτρέψουμε κατάχρηση και να διατηρήσουμε την πλατφόρμα μας σταθερή. Ελέγξτε την τεκμηρίωση για το συγκεκριμένο όριο κάθε endpoint.

Λειτουργούμε με σύστημα πιστωτικών μονάδων. Οι πιστωτικές μονάδες είναι προπληρωμένες, μη επιστρέψιμες μονάδες που ξοδεύετε σε κλήσεις API και εργαλεία. Καταναλώνονται με τη μέθοδο FIFO (παλαιότερες πρώτα) και ισχύουν για 12 μήνες από την ημερομηνία αγοράς. Ο πίνακας ελέγχου δείχνει κάθε ημερομηνία αγοράς και τη λήξη της.

Ναι. Όλες οι αγορασμένες πιστωτικές μονάδες (συμπεριλαμβανομένων κλασματικών υπολοίπων) ισχύουν για 12 μήνες από την αγορά. Οι αχρησιμοποίητες πιστωτικές μονάδες λήγουν αυτόματα και διαγράφονται μόνιμα στο τέλος της περιόδου ισχύος. Οι ληγμένες πιστωτικές μονάδες δεν μπορούν να αποκατασταθούν ή να μετατραπούν σε μετρητά ή άλλη αξία. Μεταβατικός κανόνας: πιστωτικές μονάδες που αγοράστηκαν πριν τις 22 Σεπ. 2025 θεωρούνται αγορασμένες στις 22 Σεπ. 2025 και λήγουν στις 22 Σεπ. 2026 (εκτός αν αναφέρθηκε νωρίτερη λήξη κατά την αγορά).

Ναι—εντός της περιόδου ισχύος τους. Οι αχρησιμοποίητες πιστωτικές μονάδες παραμένουν διαθέσιμες και μεταφέρονται από μήνα σε μήνα μέχρι να λήξουν 12 μήνες μετά την αγορά.

Οι πιστωτικές μονάδες είναι μη επιστρέψιμες. Αγοράστε μόνο ό,τι χρειάζεστε—μπορείτε πάντα να αναπληρώσετε αργότερα. Εάν ένα σφάλμα πλατφόρμας προκαλέσει αποτυχημένη χρέωση, μπορούμε να αποκαταστήσουμε τις επηρεαζόμενες πιστωτικές μονάδες μετά από έρευνα. Καμία επιστροφή χρημάτων.

Οι τιμές ορίζονται σε πιστωτικές μονάδες, όχι σε δολάρια. Κάθε endpoint έχει το δικό του κόστος—δείτε το σήμα «Πιστωτικές μονάδες / αίτημα» παραπάνω. Θα ξέρετε πάντα ακριβώς τι ξοδεύετε.
← Πίσω στα API