Dokumentacja Reeltia

Kompletny przewodnik po API oraz automatyzacjach do generowania filmów.

Spis tresci

1. Wprowadzenie do API

API Reeltia pozwala na programowe generowanie krotkich filmow (TikTok, Reels, Shorts) z lektorem i napisami. Mozesz zintegrować je z własnymi aplikacjami, skryptami lub narzędziami automatyzacji takimi jak Make.com czy Zapier.

Bazowy URL: https://reeltia.com/api

Format danych: JSON

Dostepne endpointy

Endpoint Metoda Opis
/api/generateVideo POST Generowanie filmu z promptem (AI tworzy scenariusz i obrazki)
/api/generateCustomMediaVideo POST NOWE! Generowanie z wlasnymi obrazkami/video
/api/generateArticleVideo POST Generowanie filmu z artykulu (URL)
/api/getProgress GET Sprawdzanie statusu generowania
/api/voices GET Lista dostepnych glosow
/api/imageStyles GET Lista stylow graficznych
Tryb zaawansowany w UI: Opcja generowania z wlasnymi mediami jest rowniez dostepna w interfejsie webowym. Przy tworzeniu filmu wlacz przelacznik "Uzyj wlasnych obrazkow/video" w sekcji "Tryb Zaawansowany".

2. Uwierzytelnianie

Wszystkie requesty wymagają klucza API (apiKey). Klucz znajdziesz w ustawieniach konta po zalogowaniu.

Uwaga: Klucz API jest przypisany do Twojego konta. Nie udostępniaj go osobom trzecim.

3. Generowanie filmu

POST /api/generateVideo

Endpoint do rozpoczęcia generowania nowego filmu.

Parametry zadania

Parametr Typ Wymagany Opis
apiKey string wymagany Twoj klucz API
prompt string wymagany Temat filmu, np. "5 ciekawostek o kosmosie"
voiceId string opcjonalny ID glosu lektora (domyslnie: Kacper)
voiceStability number opcjonalny Stabilnosc glosu 0.0-1.0 (domyslnie: 0.5)
voiceStyle number opcjonalny Ekspresja glosu 0.0-1.0 (domyslnie: 0.0)
imageStyle string opcjonalny Styl graficzny (domyslnie: realistyczny)
imageCustomPrompt string opcjonalny Dodatkowe instrukcje dla obrazow
rssGuid string opcjonalny GUID automatyzacji (jesli film ma trafic do RSS)

Przykladowe zadanie

{ "apiKey": "twoj-klucz-api", "prompt": "5 ciekawostek o kosmosie", "voiceId": "N2lVS1w4EtoT3dr4eOWO", "voiceStability": 0.5, "voiceStyle": 0.2, "imageStyle": "cyberpunk" }

Przykladowa odpowiedz

{ "success": true, "message": "Film rozpoczal generowanie", "videoGuid": "a1b2c3d4-e5f6-7890-abcd-ef1234567890", "remainingCredits": 14 }

Przyklad z cURL

curl -X POST https://reeltia.com/api/generateVideo \ -H "Content-Type: application/json" \ -d '{ "apiKey": "twoj-klucz-api", "prompt": "5 ciekawostek o kosmosie" }'

4. Generowanie z wlasnymi mediami NOWE!

POST /api/generateCustomMediaVideo

Endpoint pozwala na generowanie filmu z wlasnymi obrazkami lub klipami video zamiast grafik generowanych przez AI. Mozesz przeslac media przez URL lub jako base64.

Parametry zadania

Parametr Typ Wymagany Opis
apiKey string wymagany Twoj klucz API
text string wymagany Tekst do przeczytania przez lektora (kazde zdanie = 1 slajd)
media array wymagany Lista mediow (obrazkow/video) - szczegoly ponizej
voiceId string opcjonalny ID glosu lektora
voiceStability number opcjonalny Stabilnosc glosu 0.0-1.0
voiceStyle number opcjonalny Ekspresja glosu 0.0-1.0
publicationGroupId number opcjonalny ID grupy publikacji

Struktura obiektu media

Pole Typ Opis
type string "image" lub "video"
source string "url" lub "base64"
data string URL do pliku lub dane base64 (bez prefixu data:...)
sentenceIndex number Opcjonalny indeks zdania (0-based) do ktorego przypisac medium

Wspierane formaty

Obrazki:
  • PNG (.png)
  • JPEG (.jpg, .jpeg)
  • WebP (.webp)
  • GIF (.gif)
Video:
  • MP4 (.mp4)
  • WebM (.webm)
  • MOV (.mov)
  • AVI (.avi)
  • MKV (.mkv)

Przykladowe zadanie z URL

{ "apiKey": "twoj-klucz-api", "text": "Pierwsze zdanie filmu. Drugie zdanie z innymi informacjami. Trzecie zdanie na zakonczenie.", "media": [ { "type": "image", "source": "url", "data": "https://example.com/image1.jpg" }, { "type": "video", "source": "url", "data": "https://example.com/clip.mp4" }, { "type": "image", "source": "url", "data": "https://example.com/image2.png" } ], "voiceId": "N2lVS1w4EtoT3dr4eOWO" }

Przykladowe zadanie z base64

{ "apiKey": "twoj-klucz-api", "text": "Tekst do przeczytania przez AI.", "media": [ { "type": "image", "source": "base64", "data": "iVBORw0KGgoAAAANSUhEUgAAAAUA..." } ] }

Przykladowa odpowiedz

{ "success": true, "message": "Film z wlasnych mediow rozpoczal generowanie", "videoGuid": "a1b2c3d4-e5f6-7890-abcd-ef1234567890", "remainingCredits": 14 }
Jak to dziala:
  • Kazde zdanie w tekscie staje sie osobnym "slajdem" w filmie
  • Media sa przypisywane do zdan w kolejnosci - pierwsze medium do pierwszego zdania itd.
  • Jesli masz mniej mediow niz zdan, ostatnie media zostana uzyte wielokrotnie
  • Mozesz mieszac obrazki i klipy video w jednym filmie
  • Klipy video zostana automatycznie przyciete do dlugosci zdania
Uwaga: Ten endpoint wymaga podania text (tekstu do przeczytania) zamiast prompt. AI nie generuje scenariusza - musisz podac gotowy tekst.

5. Sprawdzanie statusu filmu

GET /api/getProgress?guid={videoGuid}

Sprawdz status generowania filmu uzywajac GUID otrzymanego z endpointu generowania.

Parametry

Parametr Typ Opis
guid string GUID filmu otrzymany z /api/generateVideo

Statusy filmu

Status Opis
0 - Queued Film czeka w kolejce
1 - Processing Film jest generowany
2 - Done Film gotowy do pobrania
3 - Error Wystapil blad podczas generowania

Content Policy i prawa autorskie

Uwaga: OpenAI moze odrzucic generowanie obrazow dla tematow zawierajacych chronione znaki towarowe, nazwy wlasne lub postacie objete prawami autorskimi (np. "Wiedzmin", "Mario", "Star Wars").

Jesli wszystkie obrazy zostana odrzucone przez content policy, film otrzyma status Error z flaga isContentPolicyRejected: true. W takim przypadku kredyt zostanie automatycznie zwrocony na Twoje konto.

Jak unikac odrzucen:

Przyklad odpowiedzi (film gotowy)

{ "guid": "a1b2c3d4-e5f6-7890-abcd-ef1234567890", "status": 2, "videoUrl": "/temp/videos/a1b2c3d4-e5f6-7890-abcd-ef1234567890.mp4" }
Pelny URL do filmu: https://reeltia.com/temp/videos/{guid}.mp4

6. Lista glosow

GET /api/voices

Pobierz liste dostepnych glosow lektorow.

Dostepne glosy

Kacper N2lVS1w4EtoT3dr4eOWO
mezczyzna
Michal TX3LPaxmHKxFdv7VOQHJ
mezczyzna
Tomek CwhRBWXzGAHq8TQ4Fs17
mezczyzna
Bartek iP95p4xoKVk53GoZ742B
mezczyzna
Pawel JBFqnCBsd6RMkjVDRZzb
mezczyzna
Jakub onwK4e9ZLuTAKqWW03F9
mezczyzna
Ania pFZP5JQG7iQjIQuC4Bku
kobieta
Kasia EXAVITQu4vr4xnSDxMaL
kobieta
Magda FGY2WhTYpPnrIDTdsKH5
kobieta
Zosia XB0fDUnXU5powFXDhCwa
kobieta
Marta XrExE9yKIg1WjnnlVkGX
kobieta
Ola pqHfZKP75CvOlQylNhV4
kobieta

Parametry glosu

Parametr Zakres Domyslnie Opis
voiceStability 0.0 - 1.0 0.5 Im wyzsza wartosc, tym bardziej stabilny i przewidywalny glos. Nizsza wartosc daje wiecej ekspresji.
voiceStyle 0.0 - 1.0 0.0 Kontroluje intensywnosc stylu mowienia. Wyzsza wartosc = bardziej wyrazisty styl.

7. Style graficzne

GET /api/imageStyles

Pobierz liste dostepnych stylow graficznych dla generowanych obrazow.

Dostepne style

realistyczny
Styl fotograficzny, hiperrealistyczny
cartoon
Styl kreskowkowy, kolorowy, przyjazny
anime
Styl anime japonskiego, duze oczy
minimalistyczny
Prosty design, czyste tlo
cyberpunk
Neonowe swiatla, futurystyczne miasto
akwarela
Miekkie przejscia kolorow, artystyczny
komiksowy
Wyrazne kontury, dynamiczna kompozycja
3d
Rendering 3D, Pixar-style, CGI
Wlasny styl: Mozesz uzyc pola imageCustomPrompt aby dodac wlasne instrukcje do generowanych obrazow, np. "w stylu van Gogha" lub "z dominujacym kolorem niebieskim".

8. Automatyzacje

Automatyzacje pozwalaja na zaplanowanie automatycznego generowania filmow w okreslonych dniach i godzinach. Dostepne w planach Pro i Studio.

Jak skonfigurowac automatyzacje?

  1. Przejdz do zakladki Automatyzacje (wymaga zalogowania)
  2. Kliknij "Dodaj automatyzacje"
  3. Wypelnij formularz:
    • Nazwa - nazwa Twojej automatyzacji
    • Tematyka/Branza - opis tematyki filmow (np. "ciekawostki o zwierzetach")
    • Dni tygodnia - wybierz dni publikacji
    • Godziny - wybierz godziny generowania
    • Glos i styl - opcjonalnie dostosuj lektora i styl graficzny
  4. Zapisz automatyzacje - otrzymasz unikalny adres RSS
Wazne: Automatyzacje zuzywa kredyty z Twojego planu. Upewnij sie, ze masz wystarczajaca liczbe kredytow na zaplanowane generowania.

9. Integracja RSS

Kazda automatyzacja generuje prywatny kanal RSS, ktory mozesz podlaczyc do narzedzi automatyzacji takich jak Make.com lub Zapier.

Format URL kanalu RSS

https://reeltia.com/rss/{twoj-rss-guid}

Integracja z Make.com

  1. Utworz nowy scenariusz w Make.com
  2. Dodaj modul "RSS" > "Watch RSS feed items"
  3. Wklej URL kanalu RSS z automatyzacji
  4. Dodaj modul publikacji (np. TikTok, Instagram, YouTube)
  5. Zmapuj pole enclosure.url jako zrodlo wideo
  6. Ustaw harmonogram uruchamiania scenariusza

Integracja z Zapier

  1. Utworz nowy Zap
  2. Wybierz trigger "RSS by Zapier" > "New Item in Feed"
  3. Wklej URL kanalu RSS
  4. Dodaj akcje publikacji na wybrana platforme
  5. Uzyj pola enclosure jako URL do wideo

Struktura elementu RSS

<item> <title>Tytul filmu</title> <description>Opis filmu</description> <pubDate>Data publikacji</pubDate> <enclosure url="https://reeltia.com/temp/videos/{guid}.mp4" type="video/mp4" /> <guid>{guid}</guid> </item>

10. Przyklady uzycia

Python - generowanie filmu

import requests import time API_URL = "https://reeltia.com/api" API_KEY = "twoj-klucz-api" # Rozpocznij generowanie response = requests.post(f"{API_URL}/generateVideo", json={ "apiKey": API_KEY, "prompt": "5 ciekawostek o oceanach", "imageStyle": "realistyczny" }) data = response.json() video_guid = data["videoGuid"] print(f"Generowanie rozpoczete: {video_guid}") # Sprawdzaj status co 30 sekund while True: status = requests.get(f"{API_URL}/getProgress?guid={video_guid}").json() if status["status"] == 2: # Done print(f"Film gotowy: https://reeltia.com/temp/videos/{video_guid}.mp4") break elif status["status"] == 3: # Error print("Blad generowania") break time.sleep(30)

JavaScript (Node.js) - generowanie filmu

const API_URL = "https://reeltia.com/api"; const API_KEY = "twoj-klucz-api"; async function generateVideo() { // Rozpocznij generowanie const response = await fetch(`${API_URL}/generateVideo`, { method: "POST", headers: { "Content-Type": "application/json" }, body: JSON.stringify({ apiKey: API_KEY, prompt: "5 ciekawostek o oceanach", voiceId: "pFZP5JQG7iQjIQuC4Bku", // Ania imageStyle: "anime" }) }); const { videoGuid } = await response.json(); console.log(`Generowanie: ${videoGuid}`); // Sprawdzaj status while (true) { const status = await fetch(`${API_URL}/getProgress?guid=${videoGuid}`) .then(r => r.json()); if (status.status === 2) { console.log(`Gotowe: https://reeltia.com/temp/videos/${videoGuid}.mp4`); break; } await new Promise(r => setTimeout(r, 30000)); } } generateVideo();

cURL - pobranie listy glosow

curl https://reeltia.com/api/voices

cURL - pobranie listy stylow

curl https://reeltia.com/api/imageStyles

Python - generowanie z wlasnymi mediami

import requests API_URL = "https://reeltia.com/api" API_KEY = "twoj-klucz-api" # Generuj film z wlasnymi obrazkami response = requests.post(f"{API_URL}/generateCustomMediaVideo", json={ "apiKey": API_KEY, "text": "Witaj w moim filmie. To jest pierwsze zdanie. A to drugie zdanie z ciekawa informacja. Na koniec podsumowanie.", "media": [ {"type": "image", "source": "url", "data": "https://example.com/intro.jpg"}, {"type": "video", "source": "url", "data": "https://example.com/clip.mp4"}, {"type": "image", "source": "url", "data": "https://example.com/info.png"}, {"type": "image", "source": "url", "data": "https://example.com/outro.jpg"} ], "voiceId": "N2lVS1w4EtoT3dr4eOWO" }) data = response.json() print(f"Video GUID: {data['videoGuid']}")

cURL - generowanie z wlasnymi mediami

curl -X POST https://reeltia.com/api/generateCustomMediaVideo \ -H "Content-Type: application/json" \ -d '{ "apiKey": "twoj-klucz-api", "text": "Pierwsze zdanie. Drugie zdanie.", "media": [ {"type": "image", "source": "url", "data": "https://example.com/img1.jpg"}, {"type": "image", "source": "url", "data": "https://example.com/img2.jpg"} ] }'

Masz pytania? Skontaktuj sie z nami przez formularz w ustawieniach konta.

Powrot do strony glownej