56 dilde paraphrase, dil bilgisi kontrolü, özet, çeviri ve intihal kontrolü. Cloudflare'in uç ağından sunulan sade bir REST API.
Aynı kaynak
API şu anda yalnızca adeptwrite.com'un kendisinden gelen isteklere hizmet verir (CORS başlığı yok). API anahtarlarıyla dış erişim Pro planla birlikte planlanıyor. Sözleşme açık olsun ve hazırlık yapabilesiniz diye bu doküman erken yayımlandı.
Özet
AdeptWrite v1 API'sinin üç canlı uç noktası vardır. POST /api/v1/run; task, mode, lang ve text (en fazla 6.000 karakter) alanlı bir JSON alır ve dile göre seçilen bir Cloudflare Workers AI modelinden düz metin çıktı döndürür. POST /api/v1/plagiarism bir metni açık kaynaklarla karşılaştırır ve taradığı her kaynağı listeler. GET /api/v1/health hizmet durumunu verir. Metin asla saklanmaz ya da günlüğe yazılmaz; yapay zeka istekleri IP başına dakikada 30 ile sınırlıdır.
Temel bilgiler
Temel URL:https://adeptwrite.com/api/v1
Biçim: istekler ve yanıtlar JSON'dur (Content-Type: application/json, UTF-8).
Kimlik doğrulama: henüz yok; istekler adeptwrite.com sayfalarından gelmelidir (aynı kaynak). API anahtarları Pro ile gelecek.
Gizlilik:text alanı asla saklanmaz ya da günlüğe yazılmaz; yanıtlar Cache-Control: no-store taşır.
Sürümleme:/v1/ yolu uyumsuz biçimde değişmeyecek; uyumsuz değişiklikler /v2/ kullanacak.
POST/api/v1/run
Bir metin üzerinde tek bir yapay zeka görevi çalıştırır ve sonucu düz metin olarak döndürür (giriş cümlesi ve Markdown çiti yok).
İstek
Field
Type
Required
Notes
task
string
✓
Görev adı; aşağıdaki görev listesine bakın.
text
string
✓
Girdi metni, 1–6.000 karakter.
lang
string
✓
Sonucun dili: sitenin 56 yerel ayar kodundan biri (tr, en, id, ja, pt-pt, zh-hant…; pt-BR gibi BCP 47 etiketleri eşlenir) ya da "girdiyle aynı dil" için auto.
mode
string
—
O araç için geçerli bir mod, örneğin Formal, Akademik, Ringkas, Poin-poin (mod adları kayıt defterindeki Endonezyaca etiketlerdir; sayfalarda Türkçe karşılıkları görünür). Modu olmayan görevlerde yok sayılır.
options
object
—
Göreve özgü seçenekler: translate için from / to (desteklenen herhangi bir dilden diğerine; fromauto olabilir; sr-Cyrl Sırpçayı Kiril yazısıyla ister), caption için platform (instagram / tiktok / linkedin) ve bio, coverletter ile meta için isteğe bağlı etiketli fields. Diğer anahtarlar yok sayılır.
POST /api/v1/run HTTP/1.1
Content-Type: application/json
{
"task": "paraphrase",
"mode": "Formal",
"lang": "tr",
"text": "Öğrenciler için iyi yazmak gerçekten önemli.",
"options": {}
}
Yanıt
200 durum kodu ve ok: true; sonuç output alanında, gerçekten yanıt veren model model alanında (yedek model devreye girdiyse farklıdır) ve işlem süresi milisaniye olarak döner. Yanıt uzunluk bütçesine ya da zaman sınırına takılıp kesildiğinde truncated: true eklenir.
{
"ok": true,
"output": "Yazı kalitesi öğrenciler için çok önemlidir.",
"model": "@cf/aisingapore/gemma-sea-lion-v4-27b-it",
"ms": 812
}
Örnek: curl
curl -X POST https://adeptwrite.com/api/v1/run \
-H "Content-Type: application/json" \
-d '{"task":"grammar","lang":"tr","text":"Yarın kütüphaneye gideceğim ama herşeyi unuttum."}'
Örnek: JavaScript (fetch)
const res = await fetch('/api/v1/run', {
method: 'POST',
headers: { 'Content-Type': 'application/json' },
body: JSON.stringify({ task: 'summarize', mode: 'Poin-poin', lang: 'tr', text }),
});
const data = await res.json();
if (!data.ok) throw new Error(data.error.code + ': ' + data.error.message);
console.log(data.output);
POST/api/v1/plagiarism
Metinden 4–8 ayırt edici ifade seçer, bunları metnin dilindeki açık kaynaklarda arar (Wikipedia, Wikisource, Internet Archive tam metin, Europe PMC, DOAJ, arXiv; web arama sağlayıcısı yalnızca yapılandırılmışsa ve istenmişse) ve örtüşmeyi puanlar. Sunucudan yalnızca bu kısa ifadeler çıkar.
İstek
Field
Type
Required
Notes
text
string
✓
En az 30 sözcük, en fazla 6.000 karakter.
lang
string
✓
Bir site yerel ayar kodu ya da auto.
options
object
—
web: true, işletici bir web arama sağlayıcısı yapılandırmışsa onu da sorgular; yanıttaki webSearched alanı sağlayıcının gerçekten yanıt verip vermediğini söyler.
POST /api/v1/plagiarism HTTP/1.1
Content-Type: application/json
{ "text": "…en az 30 sözcük…", "lang": "tr", "options": { "web": false } }
Yanıt
200 durum kodu; score (eşleşen sözcük ÷ sözcük, 0–1), kaynak başına vurgulanmış passages içeren matches (metninizdeki karakter konumları), sourcesSearched (yanıtları sonuca yansıyan kaynakların tam listesi), gerekçeli sourcesSkipped ve webSearched alanları döner.
curl -X POST https://adeptwrite.com/api/v1/plagiarism \
-H "Content-Type: application/json" \
-d '{"lang":"tr","text":"…en az 30 sözcük…"}'
GET/api/v1/health
Hangi hizmetlerin açık olduğunu bildirir. Gövde almaz ve kotaya sayılmaz.
Yanıt
200 durum kodu. Yapay zeka acil kapatma anahtarı açıkken ai false olur; plagiarism denetleyicinin sorgulayabildiği kaynakları listeler; aidetect, yapay zeka tespitinin henüz yayına alınmamış sunucu tarafı derin analizini tanımlar (POST /api/v1/aidetect503 disabled yanıtı verir; sitedeki tespit aracı tarayıcınızda çalışır).
Dil bilgisi ve yazım düzeltme (Türkçe için TDK Yazım Kılavuzu esas alınır).
tone
Ton değiştirme; modlar: Formal (resmi), Kantor (iş yazışması), Santai (samimi).
rewrite
Kulağa tuhaf ya da sert gelen cümleleri düzeltme; modlar: Standar, Formal.
resize
Cümleleri kısaltma ya da uzatma; modlar: Ringkas (kısalt), Panjangkan (uzat).
essay
Maddelerden paragraf ya da kompozisyon oluşturma; modlar: Akademik, Kreatif, Panjangkan.
summarize
Özet; modlar: Poin-poin (madde madde), Paragraf, Satu kalimat (tek cümle).
translate
Desteklenen herhangi iki dil arasında çeviri; options.from (ya da auto) ve options.to; modlar: Alami (doğal, varsayılan), Formal (resmi), Santai (samimi).
thesis
Tez konusu fikirleri ve bölüm taslağı.
abstract
Araştırma özetinden yapılandırılmış abstract.
caption
Sosyal medya açıklamaları (caption); options.platform: instagram, tiktok, linkedin.
email
E-postalar ve yazılar; modlar: Lamaran kerja (iş başvurusu), Surat resmi (resmi yazı), Follow-up (takip e-postası).
Ürün açıklamaları; modlar: Marketplace (pazaryeri), Toko online (e-ticaret sitesi).
synonym
Tek bir sözcük ya da ifade için eş anlamlı liste.
humanize
Sert ve kalıp metni daha doğal okunur hâle getirme; modlar: Alami (doğal), Pribadi (kişisel), Profesional.
meta
Üç meta başlık ve açıklama çifti; modlar: Artikel (makale), Produk (ürün), Halaman (herhangi bir web sayfası).
hashtag
Tek satırlık hashtag listesi; modlar: Instagram, TikTok, LinkedIn, X.
bio
Üç profil biyografisi; modlar: Instagram, LinkedIn, X, TikTok.
outline
Alt maddeli numaralı taslak; modlar: Artikel (makale), Esai (kompozisyon), Skripsi (tez), Presentasi (sunum).
slogan
On slogan fikri; modlar: Merek (marka), Kampanye (kampanya), Produk (ürün).
paragraph
Bir konudan tek paragraf; modlar: Pembuka (giriş), Isi (gelişme), Penutup (sonuç).
coverletter
Ön yazı (cover letter) taslağı; modlar: Fresh graduate (yeni mezun), Berpengalaman (deneyimli), Magang (staj).
poem
Kısa şiirler; modlar: Bebas (serbest), Berima (uyaklı), Akrostik, Haiku.
Sınırlar
Metin uzunluğu
İstek başına en fazla 6.000 karakter (üstünde 413 too_long).
IP adresi başına
Dakikada 30 istek.
Genel
Tüm hizmet için dakikada 100 istek ve ayrıca yapay zeka özellikleri için günlük bir üst sınır.
İntihal
IP başına dakikada 5, tüm hizmette dakikada 60 kontrol; en az 30 sözcük.
Çıktı
Görev başına bir uzunluk bütçesi, hiçbir zaman 2.048 token'dan fazla değil; kesilen yanıt truncated: true taşır.
Model
Dile göre seçilir: İngilizce ve Endonezyaca @cf/aisingapore/gemma-sea-lion-v4-27b-it üzerinde, Türkçe dahil diğer tüm diller @cf/qwen/qwen3-30b-a3b-fp8 üzerinde çalışır. Bir model meşgulse, hız sınırına takılmışsa, yavaşsa ya da hata verirse istek zincirdeki sonraki modele geçer (Qwen3-30B, sonra @cf/google/gemma-4-26b-a4b-it, sonra @cf/meta/llama-3.3-70b-instruct-fp8-fast). model alanı her zaman yanıtı veren modeli gösterir.
Hata kodları
Durum
Kod
Ne zaman olur
400
invalid_request
Geçersiz JSON, eksik zorunlu alan ya da bilinmeyen task veya lang.
413
too_long
text 6.000 karakteri aşıyor.
403
forbidden
İstek bir adeptwrite.com sayfasından gelmedi.
429
rate_limited
IP başına ya da genel dakikalık sınır aşıldı. Retry-After içindeki saniye kadar bekleyin.
429
quota_exceeded
Yapay zeka özellikleri için günlük üst sınır doldu. Ertesi gün (UTC) yeniden deneyin.
502
upstream
Zincirdeki hiçbir model zamanında yanıt veremedi.
502
empty_output
Modeller yanıt verdi ama sonuç boş.
503
disabled
Hizmet işletici tarafından geçici olarak kapatıldı ya da (/api/v1/aidetect için) henüz yayına alınmadı.
Hata biçimi
Her hata, uygun HTTP durum koduyla ve aynı biçimde JSON olarak döner:
{ "ok": false, "error": { "code": "rate_limited", "message": "Too many requests. Please try again shortly." } }
Önce ok alanına bakın, programatik işlem için error.code alanını okuyun; error.message kullanıcılara gösterilebilir (İngilizce metindir).
Önerilen kullanım
Metni tek uzun belge yerine parçalar hâlinde (örneğin paragraf paragraf) gönderin; sonuçlar daha hızlı gelir ve gözden geçirmesi kolaydır.
429 yanıtını anında yeniden denemeyle değil, üstel geri çekilmeyle karşılayın.
Göndermeniz gerekmeyen kişisel ya da gizli verileri göndermeyin; biz saklamasak da veri en azlaştırması geçerlidir.
Yapay zeka çıktısı yanlış olabilir; onu kesin gerçek olarak değil, gözden geçirilecek bir öneri olarak sunun.
Sık sorulan sorular
API'yi kendi uygulamamdan ya da alan adımdan çağırabilir miyim?
Henüz hayır. Worker şu anda CORS başlığı göndermez ve yalnızca adeptwrite.com sayfalarına hizmet verir. API anahtarlarıyla dış erişim Pro planla birlikte planlanıyor; erişim açıldığında bu doküman güncellenecek.
API'ye gönderilen metin saklanıyor mu?
Hayır. Metin yanıtı üretmek için modele iletilir, sonra atılır. Günlükler yalnızca üst veri içerir (durum kodu, görev, süre). Tüm ayrıntılar için gizlilik politikasına bakın.
Çıktı neden yapılandırılmış JSON değil de düz metin?
Her görev, giriş cümlesi ve Markdown çiti olmadan, doğrudan editörde gösterilebilecek tek bir hazır metin üretir. Ek yapı (örneğin değişiklik listesi), v1 değiştirilmeden ileri bir sürümde planlanıyor.
API ne kadar tutuyor?
adeptwrite.com üzerinden ücretsizdir ve IP başına dakikada 30 yapay zeka isteğiyle sınırlıdır. Dış erişimin fiyatı Pro planla birlikte duyurulacak; o zamana kadar hiçbir ücret alınmaz.
İsteğimi hangi model yanıtlıyor?
Dile bağlıdır: İngilizce ve Endonezyaca SEA-LION'a, Türkçe dahil diğer diller Qwen3-30B'ye gider. O model meşgulse ya da hata verirse yedek zincirdeki sonraki model yanıt verir ve yanıttaki model alanı bunu gösterir.