What is the difference between AWS AI services and Amazon SageMaker?
Updated Aug 1, 2026
Short answer
AI services such as Rekognition, Comprehend and Textract are pre-trained APIs you call with no ML expertise; SageMaker is a platform for building, training and hosting your own models. Choose the API unless your problem is genuinely specific to your data.
Deep explanation
AWS's ML stack has three layers, and knowing which layer a problem belongs to is a real architectural skill:
Layer 1 — AI services (pre-trained APIs). Rekognition (images/video), Comprehend (NLP, entities, sentiment), Textract (document extraction), Transcribe (speech-to-text), Polly (text-to-speech), Translate, Personalize (recommendations), Forecast, Fraud Detector. You send data, you get a result, you pay per request. No training, no infrastructure, no model to maintain.
Layer 2 — Foundation models (Amazon Bedrock). Managed access to models such as Anthropic Claude, Meta Llama and Amazon Nova through one API, with Knowledge Bases for RAG, Guardrails for safety and Agents for tool use. Serverless, pay per token.
Layer 3 — SageMaker AI. You bring the algorithm and the data. Maximum control, maximum responsibility.
The decision rule: start at the highest layer that solves the problem. Dropping to SageMaker means you now own data collection, labelling, training, drift, retraining and hosting — a permanent operational commitment, not a one-off build.
import boto3
# Layer 1 — a working sentiment classifier in four lines, no model to owncomprehend = boto3.client("comprehend")resp = comprehend.detect_sentiment( Text="The delivery was late but support sorted it out quickly.", LanguageCode="en",)print(resp["Sentiment"], resp["SentimentScore"])# MIXED {'Positive': 0.31, 'Negative': 0.28, 'Neutral': 0.10, 'Mixed': 0.31}
# Layer 1 with customisation — train on YOUR labels, still no infrastructurecomprehend.create_document_classifier( DocumentClassifierName="support-ticket-router", DataAccessRoleArn="arn:aws:iam::123456789012:role/ComprehendRole", InputDataConfig={"S3Uri": "s3://my-bucket/labelled-tickets/"}, LanguageCode="en",)Custom Comprehend/Rekognition models are the middle path people forget: you supply labelled data, AWS handles training and hosting. Good when your labels are domain-specific but the task shape is standard.
Real-world example
An insurer processing claim documents used Textract for extraction and Comprehend Medical for clinical entities rather than training document models — weeks of work avoided. They dropped to SageMaker for exactly one task: predicting claim fraud from their own proprietary history, where no pre-trained service could possibly know their patterns. That split is the realistic shape of most production estates.
Common mistakes
- - Building a custom model when an API already solves it, then owning retraining forever.
- - Assuming AI services can't be customised — Comprehend and Rekognition both support custom models trained on your labels.
- - Ignoring per-request pricing at scale. High-volume API calls can cost more than a self-hosted model
- run the numbers at projected volume.
- - Not checking regional availability and language support before committing to a service.
- - Forgetting AI services process your data — check the compliance and data-retention posture for regulated workloads.
Follow-up questions
- How do you decide between Bedrock and fine-tuning your own model on SageMaker?
- What is Amazon Personalize and when would you use it over SageMaker?
- Can AI services and SageMaker be combined in one pipeline?