{
  "ok": true,
  "service": "humor-production-api",
  "mode": "preview_only",
  "youtube_upload": false,
  "channel_name": "Kennst du den noch?",
  "handle": "@KennstDuDenNoch",
  "theme": "German Clean Mixed Everyday Humor",
  "generated": false,
  "duration_seconds": null,
  "review_url": "https://humor-ai.paatec.com/latest/index.html",
  "urls": {
    "create_production_preview": "https://humor-ai.paatec.com/create-production-preview",
    "metadata": "https://humor-ai.paatec.com/latest/metadata.json",
    "final_voiced_mp4": "https://humor-ai.paatec.com/latest/final_voiced.mp4",
    "preview_png": "https://humor-ai.paatec.com/latest/preview.png",
    "voice_mp3": "https://humor-ai.paatec.com/latest/voice.mp3",
    "silent_mp4": "https://humor-ai.paatec.com/latest/silent.mp4",
    "index_html": "https://humor-ai.paatec.com/latest/index.html"
  },
  "metadata": {
    "created_utc": "2026-06-02T13:22:51Z",
    "channel_name": "Kennst du den noch?",
    "handle": "@KennstDuDenNoch",
    "theme": "German Clean Mixed Everyday Humor",
    "joke_id": "mix006",
    "joke": "Mein Handy hat wieder Speicher voll gemeldet. Wahrscheinlich wegen der ganzen Screenshots, die mein Leben erklären sollten.",
    "job_id": "joke_1780406549_e0777607",
    "payload": {
      "joke_text": "Mein Handy hat wieder Speicher voll gemeldet. Wahrscheinlich wegen der ganzen Screenshots, die mein Leben erklären sollten.",
      "title": "Kennst du den schon?",
      "category": "Handy und Internet",
      "preview_only": true,
      "upload": false,
      "upload_enabled": false,
      "publish": false,
      "wait": false,
      "timeout_seconds": 180
    },
    "status": {
      "ok": true,
      "status": "completed",
      "job_id": "joke_1780406549_e0777607",
      "completed_at": "2026-06-02T13:22:45.055057+00:00",
      "policy": "shorts_only",
      "visual_form": "v4m",
      "upload_enabled": false,
      "oauth_required": false,
      "joke_text": "Mein Handy hat wieder Speicher voll gemeldet. Wahrscheinlich wegen der ganzen Screenshots, die mein Leben erklären sollten.",
      "title": "Kennst du den schon?",
      "description": "Kennst du den schon? Ein kurzer Witz auf altem Pergament – getippt wie mit einer alten Schreibmaschine.\n\nWenn dich dieser Witz zum Schmunzeln gebracht hat, abonniere den Kanal für den nächsten.\n\n#witz #witze #humor #lachen #deutsch #shorts",
      "hashtags": [
        "#witz",
        "#witze",
        "#humor",
        "#lachen",
        "#deutsch",
        "#shorts"
      ],
      "preview_png": "/srv/humor-ai/dryruns/humor_dryrun_api_joke_1780406549_e0777607/visual_v4m/humor_final_form_v4m.png",
      "preview_mp4": "/srv/humor-ai/dryruns/humor_dryrun_api_joke_1780406549_e0777607/visual_v4m/humor_final_form_v4m.mp4",
      "summary_path": "/srv/humor-ai/dryruns/humor_dryrun_api_joke_1780406549_e0777607/visual_v4m/HUMOR_VISUAL_SUMMARY_v4m.json",
      "png_url": "/joke-short-file/joke_1780406549_e0777607/png",
      "mp4_url": "/joke-short-file/joke_1780406549_e0777607/mp4",
      "status_url": "/joke-short-status/joke_1780406549_e0777607",
      "renderer_summary": {
        "ok": true,
        "version": "v4m",
        "project": "humor-ai",
        "channel_name": "Kennst du den noch?",
        "channel_handle": "@KennstDuDenNoch",
        "policy": "shorts_only",
        "locked_visual_form": "final_candidate_v4m",
        "font_policy": "Courier Prime regular opener/footer, Courier Prime bold joke",
        "fixed_on_screen_opener": "Kennst du den schon?",
        "footer": "Kurz getippt. Kurz gelacht.",
        "background_source": "/srv/humor-ai/assets/parchment/parchment.png",
        "background_mode": "direct_resized_locked_parchment_asset",
        "visible_on_parchment": [
          "opener",
          "joke",
          "footer"
        ],
        "forbidden_on_parchment": [
          "handle",
          "channel name",
          "hashtags",
          "logos"
        ],
        "preview_background_png": "/srv/humor-ai/dryruns/humor_dryrun_api_joke_1780406549_e0777607/visual_v4m/locked_parchment_background_v4m.png",
        "preview_png": "/srv/humor-ai/dryruns/humor_dryrun_api_joke_1780406549_e0777607/visual_v4m/humor_final_form_v4m.png",
        "preview_mp4": "/srv/humor-ai/dryruns/humor_dryrun_api_joke_1780406549_e0777607/visual_v4m/humor_final_form_v4m.mp4",
        "frames": 120,
        "opener_font": "/usr/share/fonts/opentype/courier-prime/Courier Prime.otf",
        "joke_font": "/usr/share/fonts/opentype/courier-prime/Courier Prime Bold.otf",
        "footer_font": "/usr/share/fonts/opentype/courier-prime/Courier Prime.otf",
        "main_font_size": 50,
        "line_height": 75,
        "line_count": 6,
        "rendered_lines": [
          "Mein Handy hat wieder",
          "Speicher voll gemeldet.",
          "Wahrscheinlich wegen der",
          "ganzen Screenshots, die",
          "mein Leben erklären",
          "sollten."
        ],
        "source_dryrun": "/srv/humor-ai/dryruns/humor_dryrun_api_joke_1780406549_e0777607",
        "upload_enabled": false,
        "oauth_required": false
      }
    },
    "voice": {
      "enabled": true,
      "model": "gpt-4o-mini-tts",
      "voice": "fable",
      "instructions": "Dry German male narrator. Understated, calm Hochdeutsch, slightly sarcastic. Deadpan delivery, no theatrical emotion, no presenter voice. Short pause before the punchline. Sound like a witty older friend."
    },
    "files": {
      "preview_png": "/srv/humor-ai/production_previews/20260602T132229Z_mix006/preview.png",
      "silent_mp4": "/srv/humor-ai/production_previews/20260602T132229Z_mix006/silent.mp4",
      "voice_mp3": "/srv/humor-ai/production_previews/20260602T132229Z_mix006/voice.mp3",
      "final_voiced_mp4": "/srv/humor-ai/production_previews/20260602T132229Z_mix006/final_voiced.mp4"
    },
    "sizes": {
      "png_bytes": 3293762,
      "silent_mp4_bytes": 1217784,
      "voice_mp3_bytes": 154368,
      "final_mp4_bytes": 1634361
    },
    "workdir": "/srv/humor-ai/production_previews/20260602T132229Z_mix006",
    "youtube_upload": false,
    "archive": "/srv/humor-ai/production_previews/archives/20260602T132229Z_mix006.tgz"
  },
  "stdout_tail": "",
  "stderr_tail": ""
}