New: AI voiceover + auto-captions - script to captioned video in one API call. Read the announcement

Social Media Video Template

Job Ad Promo - Open Role Announcement

A playful, anti-corporate 34-second 16:9 job ad - one video per open role, built to render automatically when a job is published in your ATS (webhook → render → MP4 for the LinkedIn or career-page post). Seven scenes on an ink / warm-paper / yellow rhythm: a self-aware hook ("Yes, this is a job ad."), the role reveal with location and Full-time pills, a team scene with the team name highlighted in yellow, three numbered perk cards written like a human, and a full-bleed yellow Apply payoff with a pill CTA and short apply URL. Space Grotesk headlines with JetBrains Mono kickers. Swap the per-role dynamic fields - job_title, location_mode, team_name, perk_1/2/3, apply_url, and company_logo (shown on dark and auto-knocked-out to ink on the yellow outro) - to publish a finished video with every opening. Perk copy is the personality: admit something true, keep each one under ~90 characters.

Aspect ratio
16:9 · Horizontal
Duration
~34s
Category
Social Media

Try it with your own copy

Edit a field and the frame re-renders in your browser. No account, no credits - previews are free because they cost a browser paint, not a render.

What you can customize

This template exposes 8 dynamic fields you can swap per video - edit them in the editor or pass them to the API to batch-render variations at scale. The monospace name is the exact key to send in replacements.

  • Company Logo

    url
    company_logo

    https://renderly-video.s3.ap-east-1.amazonaws.com/templates/job-ad-acme-logo.png

  • Job Title

    text
    job_title

    Senior Product Designer

    ~47 characters max · 2 lines

  • Location Mode

    text
    location_mode

    Berlin · hybrid

    ~22 characters max · 1 line

  • Team Name

    text
    team_name

    Growth

    ~14 characters max · 1 line

  • Perk 1

    text
    perk_1

    Actually flexible hours. Not "flexible" with air quotes.

    ~100 characters max · 3 lines

  • Perk 2

    text
    perk_2

    A learning budget nobody guilt-trips you for using.

    ~100 characters max · 3 lines

  • Perk 3

    text
    perk_3

    No-meeting Wednesdays. We defend them like it's our job.

    ~100 characters max · 3 lines

  • Apply Url

    text
    apply_url

    acme.jobs/growth-designer

    ~99 characters max · 2 lines

Render it from the API

Copy either call below. Both already carry this template's ID and its real variable keys - swap the values for your own.

1. Preview it — free

Same body as a render. Costs no credits, creates no job. Returns a public URL that plays the video in a browser, plus a list of problems with your payload — a mistyped key is otherwise ignored in silence.

curl -X POST https://renderly.video/api/v1/previews \
  -H "Authorization: Bearer $RENDERLY_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
  "templateId": "job-ad-promo",
  "replacements": {
    "company_logo": "https://renderly-video.s3.ap-east-1.amazonaws.com/templates/job-ad-acme-logo.png",
    "job_title": "Senior Product Designer",
    "location_mode": "Berlin · hybrid",
    "team_name": "Growth",
    "perk_1": "Actually flexible hours. Not \"flexible\" with air quotes.",
    "perk_2": "A learning budget nobody guilt-trips you for using."
  }
}'

2. Render it

Change one word in the URL. Keep templateId — it is what links your call to this template, so later improvements reach you automatically.

curl -X POST https://renderly.video/api/v1/renders \
  -H "Authorization: Bearer $RENDERLY_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
  "templateId": "job-ad-promo",
  "replacements": {
    "company_logo": "https://renderly-video.s3.ap-east-1.amazonaws.com/templates/job-ad-acme-logo.png",
    "job_title": "Senior Product Designer",
    "location_mode": "Berlin · hybrid",
    "team_name": "Growth",
    "perk_1": "Actually flexible hours. Not \"flexible\" with air quotes.",
    "perk_2": "A learning budget nobody guilt-trips you for using."
  }
}'

The body above shows 6 of 8 variables. Send any subset — every key you leave out renders its authored default. Read the full contract, with character limits, from GET /api/v1/templates/job-ad-promo/variables. See the previewing guide, the rendering guide, or the OpenAPI spec.

Frequently asked questions

How do I customize the Job Ad Promo - Open Role Announcement template?

Open the template in the Renderly editor and replace its 8 customizable fields (such as Company Logo) with your own text, images, or video. Every change previews instantly before you render.

How much does it cost to render this template?

Rendering is credit-based - 1 credit equals 1 minute of 1080p video. You only pay when you export, and credits never expire on the pay-as-you-go plan.

Can I generate this video at scale via the API?

Yes. POST this template's ID and a replacements object to /api/v1/renders - one call per row of data, 8 fields swappable per video. Send the same body to /api/v1/previews first to check it for free. No-code integrations like Zapier work the same way.

More Social Media templates

Webinar Replay Clip template preview

Webinar Replay Clip

A five-scene pull-quote clip cut from a recorded webinar, built so one session becomes five publishable posts: a producer marks five moments and sends five rows, each with the same recording trimmed to a different minute and a different quote. 1920x1080 16:9, 36 seconds at 30fps, alternating near-black and cool-white grounds with a single professional blue carrying every kicker, rule and progress slice. The footage is never trusted to carry a frame alone — it is blurred and scrimmed in the cold open, matted inside a hard bezel for the speaker card, letterboxed to 2.5:1 for the captioned moment, and absent entirely from the pull quote and the closing link. Thirteen dynamic fields swap per render: clip_footage (the trimmed recording, reused across three scenes with three different crops and grades), speaker_photo, speaker_name, speaker_role, speaker_company, speaker_credit, clip_topic, quote_text (set at 52px in the caption band and 88px in the shareable pull quote), session_title, session_line, session_url, clip_index and brand_name.

Scary Story / Creepypasta template preview

Scary Story / Creepypasta

A 9:16 horror short built as a reading machine rather than a poster: one crimson progress rule bleeding across the top edge for the full runtime, a fixed caption band at y=1230, and three beats where a single sentence is held alone. The colour hierarchy is the mechanic — bone is what the voice has already said, ash is what it has not reached, and a solid crimson box marks the word being spoken right now; on the last line the box never appears, because the voice has stopped. Five scenes over 48s at 1080×1920 / 30fps: the hook on void black, the place with word-timed captions over a night photograph, the turn on the video's one ash-grey frame (the same street with the film burned out), the last line held in silence, and a follow card. Per render the operator swaps eleven fields: story_title (used on the hook and the follow card), hook_line, turn_line plus turn_phrase (the nominated phrase, the only place crimson sets type), final_line, channel_handle, the optional part_label and story_credit, and three image slots — backdrop_1 (scene 02), backdrop_1_ghost (the same photograph re-graded for scene 03) and backdrop_2 (scene 04). Scene 02's caption track ships as a pre-timed word-by-word default: Renderly caption overlays have no replaceable field in the template processor, so the story body is swapped through the auto-caption pipeline rather than a plain string replacement.

Bedtime Story template preview

Bedtime Story

A narrated sleep story for the two-in-the-morning end of the feed — the deliberate inverse of a creepypasta cut, built so the viewer stops watching rather than keeps scrolling. 9:16 vertical, 1080x1920, 80 seconds across six unhurried scenes at 30fps, joined by 60-frame cross-dissolves with not a single hard cut, and closing on a full-frame fade to lights-out indigo with a silent final second. Rhythm comes from two depths of night indigo instead of a light ground, moon cream only ever sets type and never at full opacity, and the only progress signal is a cream dot travelling one sixth of a hairline rail per scene and dimming as it goes, so nobody has to read a counter. Ten dynamic fields swap per render: eight text (channel_name, story_title which appears six times from one string, story_intro, story_part_1, story_part_2, story_part_3, story_last_line, closing_line) and two images (cover_image for the opening band and closing full bleed, ambient_image for the wash behind the three reading frames). The caller splits its story into three passages plus a last line at sentence boundaries, so one template turns out a fresh film every night from one block of narrated text.

Ready to make your Job Ad Promo - Open Role Announcement video?

Customize it in the editor and render in minutes - no design or editing skills required.