WiozenAPI

Bir web sayfası yapay zekâya vermek için Markdown'a nasıl çevrilir?

Kısaca: Bir web sayfasını modele vermenin en temiz yolu, sayfayı önce Markdown'a çevirmek: menüler, betikler ve stil kodları atılır, başlıklar, paragraflar, listeler ve bağlantılar kalır. Wiozen API'de bunu POST /v1/web/fetch ucu yapar; gövdeye yalnız url yazarsın, yanıtta sayfanın başlığı ve Markdown metni gelir. Bu metni sonra herhangi bir sohbet modeline soru ile birlikte gönderirsin.

Neden HTML yerine Markdown?

Bir haber ya da blog sayfasının HTML'i, okunan metnin birkaç katı uzunluğundadır: gezinme menüleri, çerez bildirimleri, izleme betikleri, satır içi stiller. Bunları olduğu gibi modele gönderirsen her birini girdi tokenı olarak ödersin ve model asıl metni gürültünün içinde arar. Markdown'da yalnız içerik ve yapısı kalır, yani aynı sayfa daha az tokenla ve daha okunur biçimde gider.

Markdown'ın bir faydası da başlık düzeyleri ile listelerin korunması. "Üçüncü bölümü özetle" ya da "tablodaki fiyatları çıkar" gibi isteklerde model sayfanın yapısını görebilir.

Sayfayı tek istekte nasıl çekerim?

Uca API anahtarınla bir JSON gövdesi gönder. Zorunlu tek alan url:

terminal
curl https://api.wiozen.com/v1/web/fetch \
  -H "Authorization: Bearer $API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"url": "https://example.com/blog/post"}'

Yanıtta sayfanın başlığı ve Markdown'a çevrilmiş metni bulunur; metni markdown alanından, yoksa content alanından oku. url eksikse istek 400 Missing required parameter: url ile, gövde bir JSON nesnesi değilse yine 400 ile reddedilir. Bu hatalar ücretlendirilmez.

Çekilen sayfayı bir modele nasıl özetletirim?

İki istek yeterli: önce sayfayı çek, sonra metni sorunla birlikte sohbet ucuna gönder. Aynı anahtar iki uçta da çalışır:

Python
import requests

H = {"Authorization": "Bearer sk-gw-..."}
BASE = "https://api.wiozen.com/v1"

page = requests.post(f"{BASE}/web/fetch", json={"url": "https://example.com/blog/post"},
                     headers=H, timeout=60).json()
text = page.get("markdown") or page.get("content") or ""

r = requests.post(f"{BASE}/chat/completions", headers=H, timeout=600, json={
    "model": "wiozen-anthropic",
    "max_tokens": 16000,
    "messages": [{"role": "user",
                  "content": "Bu yazıyı 5 maddede özetle:\n\n" + text[:60000]}],
})
print(r.json()["choices"][0]["message"]["content"])

Örnekteki text[:60000] metni yaklaşık 60.000 karakterde keser; bu kabaca 15.000 token eder. Çok uzun sayfalarda kesmek yerine metni bölümlere ayırıp ayrı ayrı sormak da bir seçenek. Gönderdiğin metnin tamamı girdi olarak ücretlenir; uzun girdinin maliyetini bağlam penceresi yazısında anlattık.

Hangi sayfalar çekilemez?

Sayfa senin bilgisayarından değil, internetteki bir sunucudan çekilir; bu yüzden yalnız http ya da https ile başlayan, internete açık adresler işe yarar. Wiozen localhost'u, yerel ağ adreslerini ve özel IP aralıklarını (ör. 192.168.x.x, 10.x.x.x) çekmez. Kendi bilgisayarındaki bir geliştirme sunucusunu ya da şirket içi bir sayfayı bu uçla okuyamazsın.

İstek yalnız adresi taşır; tarayıcındaki oturum, çerez ya da şifre gitmez. Giriş gerektiren bir sayfanın korunan içeriği bu yüzden gelmez. Çekim başarısız olursa istek ücretlendirilmez.

Ücreti nerede görürüm?

Her çekim, sohbet istekleri gibi bakiyenden düşer ve paneldeki Kullanım sayfasında kendi satırında görünür; o satırda o isteğin maliyetini tam olarak görürsün. Başlarken bakiyenden küçük bir tutar ayrılır, bakiye buna yetmezse istek 429 Quota exhausted ile başlamaz. Çekimler günlük sorgu sınırına da sayılır ve anahtarına koyduğun harcama limiti burada da geçerlidir.

Bir sayfayı modele iki kez göndermen gerekiyorsa onu bir kez çekip Markdown'ı kendi tarafında saklamak, ikinci çekimin ücretini de önler. Harcamanı istek istek nasıl izleyeceğini harcamayı istek istek takip etmek yazısında anlattık.

Sık sorulan sorular

Web sayfasını Markdown'a çevirmek için hangi uç kullanılır?

POST https://api.wiozen.com/v1/web/fetch. Gövdede yalnız url alanı zorunludur.

Ayrı bir anahtar gerekiyor mu?

Hayır. Sohbet ve görsel uçlarında kullandığın Wiozen API anahtarı burada da çalışır.

Localhost ya da yerel ağdaki bir sayfayı çekebilir miyim?

Hayır. Sayfa internetteki bir sunucudan çekilir; yalnız internete açık http ve https adresleri işe yarar.

Giriş gerektiren sayfalar çekilir mi?

Hayır. İstek senin oturumunu taşımaz, bu yüzden giriş arkasındaki içerik gelmez.

Başarısız çekim için ücret öder miyim?

Hayır. Çekilemeyen sayfa ve eksik url gibi hatalı istekler ücretlendirilmez.

Uçların tam listesi ve örnekler dokümanda.

Hesabını aç

Diğer rehberler: Türkiye'den kredi kartı olmadan yapay zekâ API'si nasıl kullanılır? · OpenAI uyumlu bir API mevcut bir araca nasıl bağlanır? · Yapay zekâ API maliyeti nasıl hesaplanır? · Yapay zekâ API anahtarım sızdıysa ne yapmalıyım? · Yapay zekâ API'siyle görsel nasıl üretilir ve görsel başı maliyeti ne kadar? · Yapay zekâ API'si neden 429 hatası veriyor, nasıl düzeltilir? · Uzun yanıt bekleyen API isteği neden zaman aşımına düşer: akışlı mı, akışsız mı? · Anthropic Messages API mı, OpenAI Chat Completions mı: hangisini kullanmalıyım? · Bağlam penceresi (context window) nedir, 1 milyon token ne işe yarar? · Hangi yapay zekâ modelini seçmeliyim: fiyat, bağlam ve kaliteye göre karar · Düşünen (reasoning) model neden boş cevap döner, düşünme tokenları neden ücretlenir? · API bakiyem neden beklediğimden hızlı bitiyor? Harcamayı istek istek takip etmek · WordPress'te yapay zekâyla otomatik makale nasıl yazdırılır? · Blog için RSS ve Google Trends'ten konu nasıl bulunur? · Yapay zekâyla yazılan içerik Google'da ve yapay zekâ yanıtlarında görünür mü? · WordPress'te yapay zekâyla yazılan makalelere iç bağlantı nasıl ekletilir? · WordPress'te her yazıya birbirine benzemeyen öne çıkan görsel yapay zekâyla nasıl ürettirilir? · Yapay zekâya blog yazısı yazdırırken içerik tarifi (brief) nasıl yazılır? · Yemek tarifi sitesine yapay zekâyla tarif yazdırırken nelere dikkat etmeli? · WordPress eklentisini yapay zekâ API hesabına bağlarken çıkan hatalar nasıl çözülür? · WordPress'te yapay zekâ yazı botu neden yarıda kalıyor? "Tur takıldı" uyarısı ve LiteSpeed · WordPress'te otomatik yazılar neden geç çıkıyor? WP-Cron ve gerçek sunucu cron'u · Yapay zekâ yazı botuyla İngilizce ya da başka dilde blog yazısı nasıl yazdırılır? · "İçerik Botu yazı üretemiyor" uyarısı ne demek? Bot günlüğündeki satırları okumak