Олександр Ш.
Переможець- Проєкти 24
- Оцінка -
- Рейтинг 1 190
Бюджет: 1000 UAH Термін: 1 день
Вітаю, я знаю кілька способів пройти через cf. Навіть якщо справа складна, можна щось вигадати. Я роблю сьогодні.
Ставки поки відсутні
Актуальні фриланс-проєкти в категорії Python
Розробляємо real-time інтеграцію з зовнішнім сервісом Тренер. Відправляємо структуровані знімки стану, отримуємо рекомендації і показуємо їх спливаючим вікном. Завдання — стабільна і повна передача даних для коректної роботи Тренера. Шукаємо розробника для ланцюга: обробка даних → HTTP-комунікація → overlay. Потрібні люди з такими навичками Python добре, Java база, API HTTP/JSON-APIs Проект готовий на 90%, але є деякі несоответствия
Коротко Потрібна програма на Python, яка запускається у мене на ПК (Windows) і робить faceless-відео формату «закадровий голос + змінюваний відеоряд з фото і кліпів» — як історичні документалки на YouTube (приклад прикріплю окремо). Я вводжу тему → програма пише сценарій, озвучує, підбирає під кожен шматок тексту відео/фото з безкоштовних архівів, склеює → видає готовий MP4. Тільки для мене. Без сайту, без користувачів, без продажу. Один користувач — я. Як працює (по кроках) 1. Введення. Відкривається просте вікно. Я вводжу тему ролика і вибираю голос озвучки зі списку (**список голосів підтягується автоматично з ElevenLabs по API** — доступні на моєму акаунті). Натискаю «Створити». (Другий режим: вставити готовий сценарій замість генерації.) 2. Сценарій. Програма через LLM API (OpenAI/Anthropic, ключ в налаштуваннях) пише сценарій за темою, заданої довжини. 3. Розбивка на сцени. LLM ділить сценарій на сцени і для кожної повертає: текст сцени; тип візуалу: відео або фото; пошуковий запит (розгорнута фраза, що повинно бути в кадрі); помітка «highlight» + оцінка важливості 1-10 (для інтро, див. нижче). 4. Озвучка. Текст відправляється в ElevenLabs API вибраним голосом → аудіо. Під довжину аудіо кожної сцени ріжеться відеоряд. 5. Підбір відео/фото — з безкоштовних джерел по API (див. список нижче). Під кожне джерело запит формується по-своєму (для точності). Якщо в одному не знайшлося — пробує наступний. 6. Перевірка (максимум 3 кроки на сцену). Крок 1: програма бере перший знайдений варіант (відео/фото) за запитом. Крок 2: відправляє кадр в LLM — «підходить під сцену?». Підходить → стоп. Крок 3 (якщо не підходить): програма переключається на пошук фото (по точному запиту фото знайти простіше, ніж відео, — так гарантовано потрапляємо по сенсу) і бере його з посиленим рухом (зум + панорама). Більше 3 кроків на одну сцену не робити — це економить бюджет LLM і гарантує, що кадр в тему. 7. Збірка через ffmpeg/moviepy: кліпи і фото під таймінг озвучки, фото оживляються зумом (ефект Кена Бернса), голос поверх, прості переходи. Вихід: MP4 1920×1080. Правила відеоряду (важливо — за це відповідає програма) Перші 60 секунд — інтро-тизер: нарізка найефектніших кліпів з усього ролика (беруться сцени з вищою оцінкою важливості, де є відео) під окремий текст-вступлення від LLM («в цьому відео ви дізнаєтеся…»), кадри без пояснень, як інтрига. Потім перехід і основна частина. Чередування: відео-вставка мінімум кожні ~6 секунд, не можна багато фото підряд. Доля відео: не менше ~40% часу — живі кліпи, решта — фото з зумом. Довжина кадру: 4-6 секунд (і фото, і відео). Не мельтешити, не тримати статику довго. Для чисто історичних тем, де відео немає — фото з посиленим рухом (зум + панорама). Джерела (всі безкоштовні, з API) Сучасне відео+фото: Pexels, Pixabay. Історичне / архівне (public domain): Wikimedia Commons, Archive.org,Library of Congress, Europeana, NASA, Smithsonian Open Access,Flickr Commons, openverse. Кожне джерело — окремий модуль, легко додати новий. Використовувати тільки public domain / вільні ліцензії з правом комерційного використання. Жодного парсингу чужих YouTube/сайтів, шматків фільмів, картинок «з гугла».Унікальність підбору Щоб відео не співпадали з чужими: брати випадковий кліп з топ-видачі (не перший), вести базу вже використаних (не повторювати), опціонально — легка обробка кліпа (кроп/дзеркало/ швидкість). Опції (вкл/викл в налаштуваннях) Субтитри (вшити або окремим .srt). Фонова музика. Обробка кліпів для унікальності. Роздільна здатність/формат, довжина відео, доля відео, глибина пошуку.Технічні вимоги Python. Модульна структура (джерела і LLM — через змінні модулі, щоб легко замінити або додати). Всі API-ключі — в файлі налаштувань, не в коді. Просте вікно (GUI на вибір виконавця — Tkinter/PyQt), запуск подвійним кліком. README з інструкцією, зрозумілі логи, коментарі в коді.Що даю я API-ключі (ElevenLabs, LLM, де потрібна реєстрація — оформлю). Платне оплачую сам. Приклади відео-референсів (прикріплю) і приклади тем для тестів.Приймання (готово, якщо) Запускаю → вікно → ввожу тему, вибираю голос → «Створити» → отримую готовий MP4. Відеоряд по сенсу тексту, чередування відео/фото, інтро-тизер 60 сек, озвучка поверх. Працює мінімум з 6 безкоштовними джерелами, з fallback між ними. Перевірка кадрів через LLM: макс. 3 кроки на сцену (знайшли → LLM перевірив → якщо немає, фото з рухом як вірняк). Унікальність: рандомізація + база використаного. Тільки легальні джерела. Є README, запускається з нуля.Передача результату Весь вихідний код — в відкритому вигляді (всі файли), без обфускації + зібрана робоча версія. Я можу сам запустити з вихідників за інструкцією (README: установка, ключі, запуск). Код повинен бути чистим, прокоментованим і зрозумілим, щоб **будь-який інший програміст міг продовжити роботу** над ним, якщо знадобиться (не прив'язка до автора). Всі права на код після оплати — мої.Управління місцем на диску (важливо) Програма не повинна забивати диск. Реалізувати: Після збору відео всі проміжні файли (скачані кліпи, тимчасові шматки, аудіо-нарізки) автоматично видаляються — на диску залишається тільки готовий MP4. Ліміт на кеш (параметр в налаштуваннях, напр. 5 ГБ): при перевищенні старі скачані файли видаляються автоматично (спочатку найстаріші). Папку для готових відео і для тимчасових файлів я задаю в налаштуваннях. Показувати, скільки місця зайнято, і кнопка «очистити кеш» вручну.Прошу вказати в відгуку Приклади схожих робіт (ffmpeg/moviepy, робота зі стоковими/архівними API, ElevenLabs/LLM). Пропозиція по GUI. Використовує чи рішення базу даних (яку і навіщо) — або вистачає локальних файлів. Термін і вартість.
Проект: Ми запускаємо B2B-сервіс наскрізної аналітики та управління рекламними кампаніями для таргетологів і медіабайерів. Продукт працюватиме з офіційним Meta API. Головна технічна складність і фокус проекту — віртуозна робота з лімітами Facebook, маршрутизація трафіку між пулом наших додатків і жорстка система захисту інфраструктури від блокувань сірими рекламними акаунтами. У нас вже є детальне технічне завдання, описана архітектура баз даних, логіка балансувальника та вимоги до інтерфейсів. Шукаємо виконавця, який візьме це в реалізацію під ключ (бекенд + фронтенд дашбордів). Що потрібно зробити (Ключові завдання): Інтеграція з Meta API: Налаштувати авторизацію користувачів і регулярний асинхронний парсинг статистики рекламних кабінетів. Запити повинні надсилатися виключно пакетами для економії лімітів. Система авто-відізвання кабінетів: Написати модуль, який безперервно моніторить статуси рекламних акаунтів. Якщо кабінет потрапляє в бан, система повинна автоматично відкликати токен доступу протягом 60 секунд, щоб захистити наше додаток від санкцій Meta. Інфраструктура проксі: Реалізувати тунелювання всіх запитів до API через пул SOCKS5. Обов'язкова жорстка прив'язка конкретного токена користувача до статичного IP-адреси. Розумна маршрутизація: Створити алгоритм, який буде розподіляти прив'язані рекламні кабінети між кількома нашими додатками Facebook у заданих пропорціях для зниження ризиків. Розробка інтерфейсів: Створити клієнтський дашборд зі зведеною таблицею статистики та просунуту адмін-панель для ручного управління лімітами користувачів, прив'язками до додатків і пулом проксі. Очікуваний стек технологій: Бекенд: Python, FastAPI. Асинхронні задачі: Celery, Redis. Бази даних: PostgreSQL (або ClickHouse для статистики, на ваш розсуд). Фронтенд: Vue.js або React (можна використовувати готові UI-бібліотеки та шаблони дашбордів, акцент на функціональність, а не складний дизайн). Вимоги до виконавця: Упевнений досвід роботи з Meta Graph API та Marketing API. Ви повинні розуміти, як працюють ковзаючі ліміти, як читати заголовки завантаженості та як працювати з токенами. Розуміння специфіки арбітражу трафіку. Слова «білінг», «бан рекламного кабінету», «бізнес-менеджер» і «фарм» не повинні викликати у вас запитань. Досвід побудови асинхронних парсерів і роботи з проксі-серверами на рівні мережевих запитів. Готовність працювати за чітким технічним завданням і здавати проект поетапно. Умови: Формат співпраці: Проектна робота (з можливістю переходу на довгострокову підтримку та доопрацювання нових модулів). Бюджет: Обговорюється індивідуально на основі вашої оцінки технічного завдання. Оплата: Поетапна, прив'язана до контрольних точок. Як відгукнутися: У супровідному листі обов'язково вкажіть ваш досвід роботи з Meta API, прикріпіть посилання на схожі проекти (або опишіть їх функціонал, якщо вони під NDA) і напишіть орієнтовну вилку цін і термінів на розробку подібної системи з нуля. Відгуки без опису релевантного досвіду роботи з Facebook API розглядатися не будуть.
Необхідно розробити локальний Python-скрипт для автоматичного заповнення Google Таблиці даними з внутрішнього сервісу компанії. Основна логіка: 1. Підключитися до Google Таблиці. 2. Знайти рядки, де заповнений ID, але відсутні два цільових значення. 3. Сформувати посилання за шаблоном: https://internal-service.example/item/{ID} 4. Отримати два значення (через API, якщо він існує, інакше через Playwright). 5. Записати значення назад у Google Таблицю. 6. Позначити рядок як оброблений. 7. Продовжити обробку наступних рядків. Вимоги: • Python • Google Sheets API • Пріоритет використання офіційного API • При відсутності API — Playwright • Без OCR, розпізнавання екрана та координат миші • Конфіденційні дані не повинні потрапляти в логи • Конфігурація через .env • Тестовий режим (без запису в таблицю) • Не обробляти вже заповнені рядки • Пакетна запис змін у Google Sheets • Коректна обробка помилок і повторних спроб Необхідно надати: - вихідний код; - requirements.txt; - приклад .env.example; - інструкцію по установці; - інструкцію по запуску; - короткий опис архітектури. Перед початком реалізації прошу: 1. Запропонувати архітектуру. 2. Перелічити необхідні доступи. 3. Задати уточнюючі питання. 4. Вказати вартість, терміни та орієнтовну кількість годин.
В рамках підвищення рівня кібербезпеки нашої інфраструктури нам необхідно відмовитися від практики зберігання «вічних» і статичних API-ключів, паролів і токенів інтеграцій у конфігураційних файлах (.env, appsettings.json, config.yaml) наших мікросервісів. Бізнес-мета: Створити єдину захищену точку зберігання конфіденційних даних (секретів) з механізмом їх автоматичного оновлення (ротації) у зовнішніх системах за розкладом. Інші наші сервіси будуть запитувати актуальні токени «на льоту» через API, що зведе до мінімуму шкоду в разі компрометації будь-якого з компонентів системи.Модель безпеки та шифрування (Crypto Core) У базі даних жоден секрет не повинен зберігатися в відкритому вигляді. При старті програми в змінні середовища передається Майстер-ключ (Master Key). Якщо ключ відсутній або має невалідну довжину, сервіс повинен падати на етапі ініціалізації з зрозумілою помилкою в логах. Кожен секрет шифрується перед записом у БД з використанням цього Майстер-ключа. При запиті — розшифровується в пам'яті і віддається в тілі відповіді.Аудит-логування (Audit Trail) Будь-яка дія з секретами (створення, читання сервісом, успішна або неуспішна ротація) повинна записуватися в окремий лог-файл audit.log (або окрему таблицю в БД). Суворе табу: В аудит-лог категорично заборонено записувати самі значення секретів (ні в відкритому, ні в зашифрованому вигляді).