🧃 Saftkanne.de — Automatisierte YouTube Shorts für Amazon-Produkte

Von Amazon ASIN zum fertigen YouTube Short in 30 Sekunden. Amazon PA-API → Produktdaten → MoviePy-Video → QR-Code → YouTube Upload. Vollautomatischer Scheduler inklusive.

PythonMoviePyAmazon PA-APIYouTube APIQR-Code

🚀 100 Videos pro Tag? Diese Pipeline macht's möglich.

Vereinbaren Sie ein unverbindliches Strategiegespräch

📞 02406 803 7603 ✉️ info@computerkumpel.de

📊 Business Value

Affiliate-Marketing auf YouTube skaliert nur mit Automation. Diese Pipeline erstellt komplette Produkt-Review-Shorts — von Amazon-Produktdaten bis zum YouTube-Upload — vollautomatisch.

🤖
End-to-End Automation
ASIN eingeben → Video fertig. Amazon API, Bild-Download, Video-Komposition, QR-Code, Upload — alles in einem Lauf.
📹
4-Frame Video Template
Intro (4s) → Features (5s) → Preis (3s) → QR-Code (3s). 15-Sekunden-Format, optimiert für YouTube Shorts.
📅
Scheduler
7-Tage-Batch oder täglicher Upload um Wunschuhrzeit. schedule-Library + YouTube Data API v3.
💰
Sales-Tracker
Überwacht monatliche Verkäufe (Ziel: 2/Monat für API-Berechtigung). Automatischer Status-Check.

⚙️ Pipeline-Architektur

1
📦

Amazon API

PA-API v5 GetItems: Titel, Preis, Rating, Features, Bild-URL, Affiliate-Link. AWS Signature V4.

2
🎨

Frame-Generator

Pillow erstellt 4 Frames (1080x1920): Intro mit Produktbild, Features mit Rating, Preis-Slide, QR-Code.

3
🎬

MoviePy Render

Frames zu 15s-Video kombinieren. Optionale Hintergrundmusik (30% Lautstärke). H.264 8Mbit/s Export.

4
📤

YouTube Upload

YouTube Data API v3: Titel, Beschreibung, Tags (SEO-optimiert), Kategorie, Sprache. Resumable Upload.

💻 Code — Amazon PA-API Integration (AWS Signature V4)

Authentifizierte Amazon-Produktabfrage

class AmazonProductAPI:
    def __init__(self):
        self.access_key = os.getenv('AMAZON_ACCESS_KEY')
        self.secret_key = os.getenv('AMAZON_SECRET_KEY')
        self.partner_tag = os.getenv('AMAZON_PARTNER_TAG')
        self.endpoint = 'https://webservices.amazon.de/paapi5/getitems'
    
    def _sign_request(self, method, uri, query, headers, payload):
        # AWS Signature Version 4
        canonical_headers = '\n'.join(
            f"{k.lower()}:{v}" for k, v in sorted(headers.items()))
        payload_hash = hashlib.sha256(
            payload.encode('utf-8')).hexdigest()
        
        canonical_request = (
            f"{method}\n{uri}\n{query}\n"
            f"{canonical_headers}\n\n"
            f"{';'.join(sorted(headers.keys()))}\n"
            f"{payload_hash}"
        )
        # Signing Key via HMAC-Kette
        date_key = sign(b'AWS4' + secret, date_str)
        region_key = sign(date_key, self.region)
        service_key = sign(region_key, 'ProductAdvertisingAPI')
        signing_key = sign(service_key, 'aws4_request')
        
        signature = hmac.new(
            signing_key, 
            string_to_sign.encode('utf-8'), 
            hashlib.sha256
        ).hexdigest()
        
        return f"AWS4-HMAC-SHA256 Credential=..."
    
    def get_product_details(self, asin):
        payload = {
            "ItemIds": [asin],
            "PartnerTag": self.partner_tag,
            "Resources": [
                "Images.Primary.Large",
                "ItemInfo.Title",
                "ItemInfo.Features",
                "Offers.Listings.Price",
                "CustomerReviews.StarRating"
            ]
        }
        # ... API-Call mit signierten Headern

💻 Code — YouTube Shorts Frame-Generator (Pillow)

QR-Code-Frame mit Affiliate-Link (1080x1920)

def create_product_frame(self, product_data, frame_type="qr"):
    img = Image.new('RGB', (1080, 1920), color='#E8F5E9')
    draw = ImageDraw.Draw(img)
    
    if frame_type == "qr":
        draw.text((540, 250), "📱 Jetzt kaufen", 
                 fill='#2E7D32', font=font_title, anchor="mm")
        
        # QR-Code generieren (300x300, grün)
        qr = qrcode.QRCode(
            version=1, error_correction=ERROR_CORRECT_H,
            box_size=10, border=2)
        qr.add_data(product_data['affiliate_link'])
        qr.make(fit=True)
        qr_img = qr.make_image(
            fill_color="#2E7D32", back_color="white")
        qr_img = qr_img.resize((600, 600), LANCZOS)
        img.paste(qr_img, (240, 500))
        
        draw.text((540, 1200), "QR-Code scannen →", 
                 fill='#212121', font=font_subtitle, anchor="mm")
        draw.text((540, 1300), "Direkt zu Amazon", 
                 fill='#757575', font=font_text, anchor="mm")
        # Affiliate-Hinweis
        draw.text((540, 1700), 
            "* Affiliate-Link - Keine Mehrkosten", 
            fill='#9E9E9E', font=font_small, anchor="mm")
    
    return img

💻 Code — Video-Rendering & YouTube Upload

MoviePy Komposition + YouTube Data API Upload

# 4 Frames zu 15s-Video kombinieren
frames = [
    ('intro', 4), ('features', 5), 
    ('price', 3), ('qr', 3)
]
clips = []
for frame_type, duration in frames:
    frame_img = self.create_product_frame(
        product_data, frame_type)
    temp_path = f"temp_{frame_type}.png"
    frame_img.save(temp_path)
    clip = ImageClip(temp_path).set_duration(duration)
    clips.append(clip)

final_clip = concatenate_videoclips(clips, method="compose")

# Optionale Musik (30% Lautstärke)
if background_music:
    audio = AudioFileClip(background_music)
    audio = audio.set_duration(final_clip.duration)
    audio = audio.volumex(0.3)
    final_clip = final_clip.set_audio(audio)

# H.264 Export
final_clip.write_videofile("output.mp4", fps=30,
    codec='libx264', audio_codec='aac',
    bitrate='8000k')

# YouTube Upload via API
body = {
    'snippet': {
        'title': title[:100],
        'description': description,
        'tags': ['Saftkanne', 'Produkttest', 'Amazon', 
                 'Shorts', 'Küche', 'Retro'],
        'categoryId': '26',
        'defaultLanguage': 'de'
    },
    'status': {'privacyStatus': 'public'}
}
media = MediaFileUpload("output.mp4", 
    chunksize=-1, resumable=True)
request = youtube.videos().insert(
    part='snippet,status', body=body, media_body=media)
response = request.execute()

🎯 Strategische Erkenntnisse

📈

Skalierung ohne Personalkosten

1 Video/Tag manuell = 30/Monat. Pipeline = 30/Stunde. Gleiche Qualität, 40x Output — ohne zusätzliche Videoproduzenten.

Automation ist der einzige Hebel für Content-Skalierung.

🔒

API-Compliance durch Sales

Amazon PA-API erfordert 3 Verkäufe/180 Tage. Der Sales-Tracker überwacht das — kein plötzlicher API-Verlust.

Compliance-Monitoring als Teil der Pipeline = kein böses Erwachen.

🎯

QR-Code = Attribution

Unique QR-Code pro Video ermöglicht Zuordnung: Welches Short hat den Sale gebracht? Ohne QR-Code rätseln Sie.

Tracking-URL im QR-Code = endlich wissen, was wirkt.

Ihre eigene Video-Pipeline — in 2 Wochen live

Amazon, eBay, eigener Shop — ich baue Ihre automatisierte Content-Produktion. Datenabruf, Videokomposition, Upload. Alles aus einer Hand.

📞 Jetzt anrufen ✉️ E-Mail senden