Budżet: 5000 PLN Termin: 10 dni
Kiedyś grałem w Albion, tak po prostu nie ma pewności, że uda się to zrobić. Można oczywiście spróbować, to w ogóle ciekawe )
Zadania:
Budżet: 5000 PLN Termin: 10 dni
Kiedyś grałem w Albion, tak po prostu nie ma pewności, że uda się to zrobić. Można oczywiście spróbować, to w ogóle ciekawe )
Krótko Potrzebny program w Pythonie, który uruchamia się na moim PC (Windows) i tworzy faceless-wideo w formacie „głos lektora + zmieniający się materiał wideo z zdjęć i klipów” — jak dokumenty historyczne na YouTube (przykład dołączę osobno). Wprowadzam temat → program pisze scenariusz, lekturuje, dobiera do każdego fragmentu tekstu wideo/zdjęcia z darmowych archiwów, montuje → wydaje gotowy MP4. Tylko dla mnie. Bez strony, bez użytkowników, bez sprzedaży. Jeden użytkownik — ja. Jak działa (krok po kroku) 1. Wprowadzenie. Otwiera się proste okno. Wprowadzam temat filmu i wybieram głos lektora z listy (**lista głosów pobierana automatycznie z ElevenLabs przez API** — dostępne na moim koncie). Klikam „Utwórz”. (Drugi tryb: wklej gotowy scenariusz zamiast generacji.) 2. Scenariusz. Program przez LLM API (OpenAI/Anthropic, klucz w ustawieniach) pisze scenariusz na zadany temat o określonej długości. 3. Podział na sceny. LLM dzieli scenariusz na sceny i dla każdej zwraca: tekst sceny; typ wizualizacji: wideo lub zdjęcie; zapytanie wyszukiwania (rozwinięta fraza, co powinno być w kadrze); oznaczenie „highlight” + ocenę ważności 1-10 (dla intro, patrz poniżej). 4. Lektura. Tekst wysyłany jest do ElevenLabs API wybranym głosem → audio. Pod długość audio każdej sceny przycinany jest materiał wideo. 5. Dobór wideo/zdjęć — z darmowych źródeł przez API (patrz lista poniżej). Dla każdego źródła zapytanie formułowane jest na swój sposób (dla dokładności). Jeśli w jednym nie znaleziono — próbuje następnego. 6. Weryfikacja (maksymalnie 3 kroki na scenę). Krok 1: program bierze pierwszy znaleziony wariant (wideo/zdjęcie) według zapytania. Krok 2: wysyła kadr do LLM — „czy pasuje do sceny?”. Pasuje → stop. Krok 3 (jeśli nie pasuje): program przełącza się na wyszukiwanie zdjęć (po dokładnym zapytaniu zdjęcie znaleźć łatwiej niż wideo, — tak gwarantujemy trafność w sensie) i bierze je z wzmocnionym ruchem (zoom + panorama). Nie robić więcej niż 3 kroki na jedną scenę — to oszczędza budżet LLM i gwarantuje, że kadr jest w temacie. 7. Montaż przez ffmpeg/moviepy: klipy i zdjęcia pod timing lektury, zdjęcia ożywiane zoomem (efekt Kena Burnsa), głos na wierzchu, proste przejścia. Wyjście: MP4 1920×1080. Reguły materiału wideo (ważne — za to odpowiada program) Pierwsze 60 sekund — intro-zwiastun: montaż najbardziej efektownych klipów z całego filmu (brane są sceny z najwyższą oceną ważności, gdzie jest wideo) pod osobny tekst-wprowadzenie od LLM („w tym filmie dowiesz się…”), kadry bez wyjaśnień, jako intryga. Potem przejście i główna część. Naprzemienność: wstawka wideo minimum co ~6 sekund, nie można mieć wielu zdjęć pod rząd. Udział wideo: nie mniej niż ~40% czasu — żywe klipy, reszta — zdjęcia z zoomem. Długość kadru: 4-6 sekund (zarówno zdjęcia, jak i wideo). Nie migać, nie trzymać statyki długo. Dla czysto historycznych tematów, gdzie nie ma wideo — zdjęcia z wzmocnionym ruchem (zoom + panorama). Źródła (wszystkie darmowe, z API) Nowoczesne wideo+zdjęcia: Pexels, Pixabay. Historyczne / archiwalne (domena publiczna): Wikimedia Commons, Archive.org,Biblioteka Kongresu, Europeana, NASA, Smithsonian Open Access,Flickr Commons, openverse. Każde źródło — oddzielny moduł, łatwo dodać nowe. Używać tylko domeny publicznej / wolnych licencji z prawem do użytku komercyjnego. Żadnego parsowania cudzych YouTube/stron, fragmentów filmów, obrazków „z googla”.Unikalność doboru Aby wideo nie pokrywały się z cudzymi: brać losowy klip z top wyników (nie pierwszy), prowadzić bazę już użytych (nie powtarzać), opcjonalnie — lekka obróbka klipu (crop/lustro/szybkość). Opcje (włącz/wyłącz w ustawieniach) Napisy (wbudowane lub osobnym .srt). Muzyka w tle. Obróbka klipów dla unikalności. Rozdzielczość/format, długość wideo, udział wideo, głębokość wyszukiwania.Wymagania techniczne Python. Modułowa struktura (źródła i LLM — przez wymienne moduły, aby łatwo zmienić lub dodać). Wszystkie klucze API — w pliku ustawień, nie w kodzie. Proste okno (GUI do wyboru wykonawcy — Tkinter/PyQt), uruchamiane podwójnym kliknięciem. README z instrukcją, zrozumiałe logi, komentarze w kodzie.Co daję ja Klucze API (ElevenLabs, LLM, gdzie potrzebna rejestracja — załatwię). Płatne opłacam sam. Przykłady wideo-referencji (dołączę) i przykłady tematów do testów.Odbiór (gotowe, jeśli) Uruchamiam → okno → wprowadzam temat, wybieram głos → „Utwórz” → otrzymuję gotowy MP4. Materiał wideo zgodny z sensownością tekstu, naprzemienność wideo/zdjęć, intro-zwiastun 60 sek, lektura na wierzchu. Działa minimum z 6 darmowymi źródłami, z fallback między nimi. Weryfikacja kadrów przez LLM: maks. 3 kroki na scenę (znaleziono → LLM sprawdził → jeśli nie, zdjęcie z ruchem jako pewniak). Unikalność: randomizacja + baza używanego. Tylko legalne źródła. Jest README, uruchamia się od zera.Przekazanie wyniku Cały kod źródłowy — w otwartym widoku (wszystkie pliki), bez obfuskacji + zbudowana wersja robocza. Mogę sam uruchomić z źródeł według instrukcji (README: instalacja, klucze, uruchomienie). Kod powinien być czysty, skomentowany i zrozumiały, aby **jakikolwiek inny programista mógł kontynuować pracę** nad nim, jeśli zajdzie taka potrzeba (bez przywiązania do autora). Wszystkie prawa do kodu po zapłacie — moje.Zarządzanie miejscem na dysku (ważne) Program nie powinien zapełniać dysku. Zrealizować: Po zmontowaniu wideo wszystkie pliki pośrednie (pobrane klipy, tymczasowe fragmenty, audio-montaże) automatycznie usuwane — na dysku pozostaje tylko gotowy MP4. Limit na cache (parametr w ustawieniach, np. 5 GB): przy przekroczeniu stare pobrane pliki usuwane automatycznie (najpierw najstarsze). Folder dla gotowych wideo i dla plików tymczasowych ustalam w ustawieniach. Pokazywać, ile miejsca zajęte, i przycisk „wyczyść cache” ręcznie.Proszę wskazać w odpowiedzi Przykłady podobnych prac (ffmpeg/moviepy, praca z API stockowymi/archiwalnymi, ElevenLabs/LLM). Propozycja dotycząca GUI. Czy rozwiązanie wykorzystuje bazę danych (jaką i po co) — czy wystarczą lokalne pliki. Termin i koszt.
O projekcie: Uruchamiamy usługę B2B do analityki i zarządzania kampaniami reklamowymi dla specjalistów ds. reklamy i mediów. Produkt będzie działał z oficjalnym Meta API. Główna techniczna trudność i fokus projektu — wirtuozowska praca z limitami Facebooka, routowanie ruchu między pulą naszych aplikacji oraz ścisły system ochrony infrastruktury przed blokadami szarych kont reklamowych. Mamy już szczegółowe zadanie techniczne, opisaną architekturę baz danych, logikę balansu oraz wymagania dotyczące interfejsów. Szukamy wykonawcy, który zrealizuje to w trybie „pod klucz” (backend + frontend pulpitów). Co należy zrobić (Kluczowe zadania): Integracja z Meta API: Skonfigurować autoryzację użytkowników oraz regularne asynchroniczne parsowanie statystyk kont reklamowych. Zapytania powinny być wysyłane wyłącznie w paczkach, aby oszczędzać limity. System automatycznego odłączania kont: Napisać moduł, który nieprzerwanie monitoruje statusy kont reklamowych. Jeśli konto zostanie zablokowane, system powinien automatycznie cofnąć token dostępu w ciągu 60 sekund, aby chronić naszą aplikację przed sankcjami Meta. Infrastruktura proxy: Zrealizować tunelowanie wszystkich zapytań do API przez pulę SOCKS5. Obowiązkowe jest ścisłe powiązanie konkretnego tokena użytkownika z statycznym adresem IP. Inteligentne routowanie: Stworzyć algorytm, który będzie rozdzielał przypisywane konta reklamowe między kilka naszych aplikacji Facebook w określonych proporcjach, aby zmniejszyć ryzyko. Rozwój interfejsów: Stworzyć pulpit klienta z tabelą podsumowującą statystyki oraz zaawansowany panel administracyjny do ręcznego zarządzania limitami użytkowników, przypisaniami do aplikacji i pulą proxy. Oczekiwany stos technologii: Backend: Python, FastAPI. Zadania asynchroniczne: Celery, Redis. Bazy danych: PostgreSQL (lub ClickHouse dla statystyk, według uznania). Frontend: Vue.js lub React (można używać gotowych bibliotek UI i szablonów pulpitów, nacisk na funkcjonalność, a nie skomplikowany design). Wymagania dla wykonawcy: Pewne doświadczenie w pracy z Meta Graph API i Marketing API. Musisz rozumieć, jak działają płynne limity, jak czytać nagłówki obciążenia i jak pracować z tokenami. Znajomość specyfiki arbitrażu ruchu. Słowa „billing”, „ban konta reklamowego”, „menedżer biznesowy” i „farm” nie powinny budzić wątpliwości. Doświadczenie w budowaniu asynchronicznych parserów i pracy z serwerami proxy na poziomie zapytań sieciowych. Gotowość do pracy według jasnego zadania technicznego i dostarczania projektu etapami. Warunki: Format współpracy: Praca projektowa (z możliwością przejścia na długoterminowe wsparcie i rozwój nowych modułów). Budżet: Do uzgodnienia indywidualnie na podstawie twojej oceny zadania technicznego. Płatność: Etapowa, związana z punktami kontrolnymi. Jak odpowiedzieć: W liście motywacyjnym koniecznie podaj swoje doświadczenie w pracy z Meta API, dołącz linki do podobnych projektów (lub opisz ich funkcjonalność, jeśli są objęte NDA) i napisz orientacyjną widełkę cenową oraz terminy na rozwój podobnego systemu od podstaw. Odpowiedzi bez opisu odpowiedniego doświadczenia w pracy z Facebook API nie będą rozpatrywane.
Wymagana jest разработка lokalnego skryptu Python do automatycznego wypełniania Google Arkuszy danymi z wewnętrznego serwisu firmy. Główna logika: 1. Połączyć się z Google Arkuszem. 2. Znaleźć wiersze, w których wypełniony jest ID, ale brakuje dwóch docelowych wartości. 3. Sformułować link według szablonu: https://internal-service.example/item/{ID} 4. Uzyskać dwie wartości (przez API, jeśli istnieje, w przeciwnym razie przez Playwright). 5. Zapisz wartości z powrotem do Google Arkusza. 6. Oznaczyć wiersz jako przetworzony. 7. Kontynuować przetwarzanie kolejnych wierszy. Wymagania: • Python • Google Sheets API • Priorytetowe użycie oficjalnego API • W przypadku braku API — Playwright • Bez OCR, rozpoznawania ekranu i współrzędnych myszy • Poufne dane nie powinny trafiać do logów • Konfiguracja przez .env • Tryb testowy (bez zapisu do arkusza) • Nie przetwarzać już wypełnionych wierszy • Zbiorowe zapisywanie zmian w Google Sheets • Poprawne przetwarzanie błędów i ponownych prób Wymagane do dostarczenia: - kod źródłowy; - requirements.txt; - przykład .env.example; - instrukcja instalacji; - instrukcja uruchamiania; - krótki opis architektury. Przed rozpoczęciem realizacji proszę: 1. Zaproponować architekturę. 2. Wymienić niezbędne dostępności. 3. Zadać pytania wyjaśniające. 4. Podać koszt, terminy i orientacyjną liczbę godzin.
W ramach podnoszenia poziomu cyberbezpieczeństwa naszej infrastruktury musimy zrezygnować z praktyki przechowywania „wiecznych” i statycznych kluczy API, haseł oraz tokenów integracji w plikach konfiguracyjnych (.env, appsettings.json, config.yaml) naszych mikroserwisów. Cel biznesowy: Stworzyć jednolity, zabezpieczony punkt przechowywania danych poufnych (sekretów) z mechanizmem ich automatycznego aktualizowania (rotacji) w systemach zewnętrznych według harmonogramu. Inne nasze usługi będą żądać aktualnych tokenów „na żywo” przez API, co zminimalizuje szkody w przypadku kompromitacji któregokolwiek z komponentów systemu.Model bezpieczeństwa i szyfrowanie (Crypto Core) W bazie danych żaden sekret nie powinien być przechowywany w postaci jawnej. Podczas uruchamiania aplikacji do zmiennych środowiskowych przekazywany jest Klucz główny (Master Key). Jeśli klucz jest nieobecny lub ma nieprawidłową długość, usługa powinna zakończyć działanie na etapie inicjalizacji z zrozumiałym błędem w logach. Każdy sekret jest szyfrowany przed zapisaniem w bazie danych z użyciem tego Klucza głównego. Przy żądaniu — jest deszyfrowany w pamięci i zwracany w treści odpowiedzi.Audyt-logowanie (Audit Trail) Każda akcja z sekretami (tworzenie, odczyt przez usługę, udana lub nieudana rotacja) powinna być zapisywana w oddzielnym pliku logów audit.log (lub w oddzielnej tabeli w bazie danych). Ścisły zakaz: W audyt-logu kategorycznie zabrania się zapisywania samych wartości sekretów (ani w postaci jawnej, ani w postaci zaszyfrowanej).
Potrzebny specjalista do pisania parserów, który będzie w stanie obejść CLOUDFRAME. Parsowanie produktów odbywa się z witryn z autoryzacją. Jest 10+ donorów o różnym stopniu trudności, z różnym poziomem ochrony. Parsowanie produktów odbywa się z witryn z autoryzacją. Parsuje dane do gotowej bazy danych Mysql + zdjęcia na serwer. Należy napisać parser zgodnie z zadaniami opisanymi w specyfikacji technicznej i dostosować dane do istniejącej bazy danych, aby zapewnić pełną funkcjonalność na stronie. Specyfikacja techniczna oraz przykład donora na żądanie. Nie rozważamy parserów desktopowych ani C#.