Skip to main content

Universal AI: Text Features

Use the Universal AI endpoint to access all text analysis features through a single endpoint.

Available Text Features

SubfeatureModel String PatternDescription
AI Detectiontext/ai_detection/provider/modelDetect AI-generated content
Moderationtext/moderation/providerContent safety and moderation
Embeddingstext/embeddings/provider/modelSemantic search vectors
Sentiment Analysistext/sentiment_analysis/providerAnalyze text sentiment
Spell Checktext/spell_check/providerGrammar and spelling correction
Named Entity Recognitiontext/ner/providerExtract entities from text
Topic Extractiontext/topic_extraction/providerIdentify main topics

AI Detection

Detect whether text was generated by AI:
import requests

url = "https://api.edenai.run/v3/universal-ai"
headers = {
    "Authorization": "Bearer YOUR_API_KEY",
    "Content-Type": "application/json"
}

payload = {
    "model": "text/ai_detection/winstonai",
    "input": {
        "text": "Your text to analyze here"
    }
}

response = requests.post(url, headers=headers, json=payload)
result = response.json()

print(f"AI Generated: {result['output']['is_ai_generated']}")
print(f"AI Score: {result['output']['ai_score']}")

Content Moderation

Check text for inappropriate content:
import requests
payload = {
    "model": "text/moderation/openai",
    "input": {
        "text": "Content to moderate"
    }
}

response = requests.post(url, headers=headers, json=payload)
result = response.json()

print(f"NSFW Likelihood: {result['output']['nsfw_likelihood']}")
for item in result['output']['items']:
    print(f"  {item['label']}: {item['likelihood']}/5")

Text Embeddings

Generate semantic vectors for text:
import requests
payload = {
    "model": "text/embeddings/openai/text-embedding-3-small",
    "input": {
        "texts": [
            "First text to embed",
            "Second text to embed"
        ]
    }
}

response = requests.post(url, headers=headers, json=payload)
result = response.json()

for i, item in enumerate(result['output']['items']):
    print(f"Text {i+1} embedding: {item['embedding'][:5]}...")

Next Steps