t2nTweet2NewsDOKÜMANTASYONPanele giriş yap →
GELİŞTİRİCİ REHBERİ

API dokümantasyonu

Agent’larınızı ve otomasyonlarınızı Tweet2News’e bağlayın.

API token’ınızı nereden alabilirsiniz?

  1. Panele giriş yapın ve Hesap ayarları sayfasını açın.
  2. API token’ı kartında Token oluştur / yenile düğmesine basın.
  3. Token’ı Göster ile görüntüleyin veya Token’ı kopyala düğmesiyle kopyalayın.
  4. Projelerinizde Authorization: Bearer API_ANAHTARINIZ başlığındaki API_ANAHTARINIZ yerine bu token’ı yazın.

Oluşturulan token aynı oturumda sayfa yenilense de hesap ayarlarında erişilebilir. Çıkış yapmadan önce güvenli bir yere kaydedin. Önceki bir oturumda oluşturulan token yeniden görüntülenemez; yeni token oluşturmak eski token’ı iptal eder.

Hesap ayarlarını aç →

Bir istek. Hazır bir görsel.

POSThttps://tweet2news.togiapp.xyz/api.php?resource=posts
curl -X POST "https://tweet2news.togiapp.xyz/api.php?resource=posts" \
  -H "Authorization: Bearer API_ANAHTARINIZ" \
  -H "Content-Type: application/json" \
  -d '{
    "text": "Bu bir tasarım örneğidir. Haber metninizi buraya yazın. #Haber",
    "format": "portrait",
    "image_format": "png",
    "font_size": 60,
    "display_name_font_size": 52,
    "username_font_size": 52,
    "profile_scale": 100,
    "text_styles": [],
    "text_bold": false,
    "text_italic": false,
    "display_name_bold": true,
    "display_name_italic": false,
    "username_bold": false,
    "username_italic": false,
    "images": [
        "https://example.com/haber.jpg"
    ],
    "profile": {
        "display_name": "Haber",
        "username": "haber",
        "verified": false
    }
}'
images alanına yüklenmiş medya ID’leri veya herkese açık HTTPS bağlantıları gönderin.

Yazı boyutu ve stil ayarları

posts ve preview isteklerinde aşağıdaki alanları JSON gövdesinin üst seviyesinde veya multipart form alanı olarak gönderin. Alanlar isteğe bağlıdır; gönderilmezse mevcut tasarımın varsayılanları kullanılır.

  • Haber metni: font_size 32–96 arasında tam sayı (varsayılan 60), text_bold ve text_italic (varsayılan false).
  • Hesap adı: display_name_font_size 16–80 arasında tam sayı (varsayılan 52), display_name_bold (varsayılan true) ve display_name_italic (varsayılan false). Uzun adlar profil alanına sığması için küçültülebilir.
  • Kullanıcı adı: username_font_size 16–80 arasında tam sayı (varsayılan 52), username_bold ve username_italic (varsayılan false). Uzun kullanıcı adları profil alanına sığması için küçültülebilir.

Profil resmi için profile_scale yüzdesini 50–150 arasında gönderin; varsayılan 100. Yalnızca avatar büyür veya küçülür. Hesap adı, kullanıcı adı ve rozetin boyutu korunur; yazı boyutları kendi alanlarından ayarlanır.

Paneldeki son yazı, profil ölçeği, görsel yüksekliği, gönderi formatı ve dosya türü tercihleri hesabınızın veritabanı kaydında saklanır; başka cihazdan giriş yaptığınızda yüklenir. GET api.php?resource=preferences bu tercihleri okur. POST api.php?resource=preferences ile örneğin {"profile_scale":125,"text_italic":true,"media_height":715,"format":"story","image_format":"jpeg"} göndererek kaydedebilirsiniz; gönderilmeyen alanlar korunur. Aynı uç noktaya {"reset_settings":true} göndererek tüm kayıtlı görsel tercihlerini sıfırlayın.

Haber üretme ve önizleme istekleri hesap tercihlerini değiştirmez. Bu isteklerde gönderilmeyen yazı alanları tasarımın varsayılanlarını kullanmaya devam eder. Seçili cümle biçimleri habere aittir ve post.options.text_styles içinde saklanır.

Kalın veya italik yapmak için ilgili alana true, kaldırmak için false gönderin. Boyutlar 1080 piksel genişlikteki yerleşim birimleridir; yüksek çözünürlüklü çıktıda orantılı büyür. Haber metninde seçilen yazı boyutu korunur; metin sığmıyorsa content_overflow hatası döner.

Varsayılan yazı ayarlarına dön
{ "text": "Haber metni burada.", "format": "story", "reset_typography": true }
Tüm görsel ayarlarını sıfırla
{ "text": "Haber metni burada.", "reset_settings": true }
Yalnız bir cümleyi kalın ve italik yap
{ "text": "İlk cümle. İkinci cümle.", "text_styles": [{ "start": 11, "end": 24, "bold": true, "italic": true }] }

start sıfırdan başlayan Unicode kod noktasıdır, end bitiş konumunu hariç tutar. Konumları ham text üzerinde hesaplayın. Bölümde bold ve/veya italic kullanın; false genel stili de kaldırabilir. En fazla 200 bölüm kabul edilir. Multipart isteğinde text_styles JSON metnidir. Sıfırlama profil ölçeğini %100 yapar ve cümle biçimlerini temizler.

reset_typography: true, aynı istekteki yazı boyutu ve stil değerlerini yok sayarak tüm yazı varsayılanlarını uygular. format, image_format ve media_height korunur. Uygulanan ayarlar yeni haber yanıtındaki post.options içinde döner; sıfırlama komutu kaydedilmez. Eski arşiv kayıtlarında yeni yazı alanları bulunmayabilir.

reset_settings: true ayrıca gönderi formatını portrait (3:4), dosya türünü png ve görsel alanı başlangıç yüksekliğini 580 yapar; seçili metin biçimlerini temizler. Paneldeki Tüm ayarları sıfırla düğmesi bu varsayılanları geri getirir ve tercihleri veritabanına kaydeder. Haber metni, hesap bilgileri ve yüklenen görseller korunur.

Kullanılabilir uç noktalar

API anahtarınız kendi çalışma alanınıza erişir. Profil, medya ve arşiv işlemleri yalnızca anahtarın sahibi olan hesabın içeriklerinde çalışır.

GEThealth.phpAnonim sağlık kontrolü

Sağlık kontrolü veritabanını, depolamayı ve PNG/JPEG üretimini sınar. Tüm kontroller başarılıysa 200 ve ok: true, bir bağımlılık çalışmıyorsa 503 ve ok: false döner. api.php?resource=health aynı kontrolü sağlar; token gerekmez.

POSTapi.php?resource=postsGörsel oluştur
POSTapi.php?resource=previewHTML önizleme oluştur
POSTapi.php?resource=mediaGörsel yükle · multipart / URL
GETapi.php?resource=preferencesHesabın son tercihlerini oku
POSTapi.php?resource=preferencesTercihleri kaydet / sıfırla
GETapi.php?resource=posts&page=1&limit=24Arşivi sayfalı listele

Arşivde page sayfa numarası, limit sayfa başına kayıt sayısıdır (varsayılan 30, en fazla 100). Yanıttaki posts dizisine ek olarak pagination, toplam kayıt/sayfa sayısını ve önceki/sonraki sayfa bilgisini içerir. Son sayfayı aşan istekler son sayfayı döndürür.

Başarılı yanıt
{ "ok": true, "post": { "id": "…", "image_url": "…", "download_url": "…", "width": 1080, "height": 1440, "image_format": "png" } }

Formatlar: portrait, feed, square, story. Dosya formatı: image_format: png veya jpeg. Metin ve görseller, paneldekiyle aynı şablonda işlenir.

Panel ve API aynı hesap kullanım sınırlarını paylaşır. Varsayılanlar: dakikada 120 istek, bunun içinde 60 görsel işlemi; aynı anda 2 görsel işlemi; 500 MiB toplam görsel depolaması, 2000 kaynak görsel ve 1000 haber. Sunucu sahibi bu değerleri yapılandırabilir. Hız veya eşzamanlılık sınırında 429 yanıtının Retry-After başlığındaki saniye kadar bekleyin. Kota dolduğunda 413 storage_quota_exceeded döner; eski haberleri silin, kullanılmayan kaynak görseller zamanlanmış temizlikle kaldırılır.