Skill: dodaj przepis z filmu YouTube

Cel: z URL lub ID filmu utwórz krótki przepis i zapisz go do aplikacji.

# INPUT
film_ref: string  # pełny URL YouTube albo 11-znakowe video_id

# OUTPUT
Nowy przepis w systemie przez POST /api/recipes

# DOKUMENTACJA (gdy nie masz dostępu do kodu źródłowego)
- Otwórz /docs-local
- Strona zawiera aktualny opis endpointów, payloadów i błędów API

# KROKI
1) Wyciągnij video_id:
   - jeśli film_ref pasuje do ^[A-Za-z0-9_-]{11}$, to to jest ID
   - inaczej parsuj URL i użyj:
     - ?v=VIDEO_ID
     - youtu.be/VIDEO_ID
     - /shorts/VIDEO_ID
     - /embed/VIDEO_ID
   - końcowo video_id musi mieć 11 znaków

2) Pobierz transkrypcję:
   POST /api/youtube/transcript
   {"video_id":"VIDEO_ID"}
   Odpowiedź zawiera m.in.:
   - title
   - channel_name (jeśli dostępne)
   - transcript

3) Z transkrypcji zbuduj krótki przepis:
   - title: zwięzła nazwa dania (po polsku)
   - ingredients: tylko niezbędne składniki, 1 składnik = 1 linia
   - instructions: krótkie kroki (4-10 linii), bez dygresji
   - channel_name: z pola channel_name odpowiedzi (lub null)
   - tags: dobierz samodzielnie i zwięźle.
     Użyj wyłącznie:
     1) typu dania,
     2) metody przygotowania,
     3) 1-2 głównych składników.
     Nie dodawaj nazwy kanału do tags (kanał jest osobno w channel_name).
     W UI kanał jest osobnym pierwszym chipem w innym kolorze.
   - source_url: https://www.youtube.com/watch?v=VIDEO_ID
   Uwaga: jeśli ilości nie padają wprost, użyj rozsądnych przybliżeń.

4) Zapisz przepis:
   POST /api/recipes
   {
     "title":"...",
     "ingredients":"linia1\nlinia2\n...",
     "instructions":"krok1\nkrok2\n...",
     "channel_name":"...",
     "tags":"...",
     "source_url":"https://www.youtube.com/watch?v=VIDEO_ID"
   }

5) Zwróć użytkownikowi:
   - id i tytuł utworzonego przepisu
   - krótko: jakie założenia były zgadywane

# OBSŁUGA BŁĘDÓW
- 400: niepoprawne ID/URL → poproś o poprawny link
- 404: brak transkrypcji → poinformuj, że film nie ma dostępnych napisów
- 503: YouTube blokuje IP → zasugeruj ponowienie później lub proxy