Personal Portfolio Statement
A calm, private monthly statement video a broker, robo-advisor or pension provider renders for each customer: what you have at month end, what the market did, what you added, the month as a ledger that adds up, and where the full statement lives, closing on a compliance line. 32 seconds, 16:9 (1920x1080). No green or red and no arrows, so a down month reads with the same dignity as an up month. Dynamic fields: provider_name, client_name, account_label, period_label, closing_value, opening_value, market_change, market_change_pct, contributions, contributions_ytd, fees, contact_line and compliance_line, all passed preformatted with their sign.
- Aspect ratio
- 16:9 · Horizontal
- Duration
- ~32s
- Category
- Personalized
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 13 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.
Provider Name
textprovider_nameAlder & Finch
~53 characters max · 1 line
Period Label
textperiod_labelSeptember 2026
~20 characters max · 1 line
Client Name
textclient_namePrepared for Maya Okafor
~48 characters max · 1 line
Account Label
textaccount_labelSTOCKS & SHARES ISA · ENDING 4417
~92 characters max · 1 line
Closing Value
textclosing_value$146,326.40
~19 characters max · 1 line
Opening Value
textopening_value$148,204.61
~39 characters max · 1 line
Market Change
textmarket_change−$2,341.17
~19 characters max · 1 line
Market Change Pct
textmarket_change_pct−1.58%
~31 characters max · 1 line
Contributions
textcontributions$500.00
~12 characters max · 1 line
Contributions Ytd
textcontributions_ytd$4,500.00
~12 characters max · 1 line
Fees
textfees−$37.04
~31 characters max · 1 line
Contact Line
textcontact_lineQuestions? Call 0345 600 1234 or message us in the app.
~93 characters max · 1 line
Compliance Line
textcompliance_linePast performance is not a guide to future returns. The value of investments can fall as well as rise, and you may get back less than you put in.
~276 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": "personal-portfolio-statement",
"replacements": {
"provider_name": "Alder & Finch",
"period_label": "September 2026",
"client_name": "Prepared for Maya Okafor",
"account_label": "STOCKS & SHARES ISA · ENDING 4417",
"closing_value": "$146,326.40",
"opening_value": "$148,204.61"
}
}'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": "personal-portfolio-statement",
"replacements": {
"provider_name": "Alder & Finch",
"period_label": "September 2026",
"client_name": "Prepared for Maya Okafor",
"account_label": "STOCKS & SHARES ISA · ENDING 4417",
"closing_value": "$146,326.40",
"opening_value": "$148,204.61"
}
}'The body above shows 6 of 13 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/personal-portfolio-statement/variables. See the previewing guide, the rendering guide, or the OpenAPI spec.
Frequently asked questions
How do I customize the Personal Portfolio Statement template?
Open the template in the Renderly editor and replace its 13 customizable fields (such as Provider Name) 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, 13 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 Personalized templates

Test Drive Invitation
A 23-second 16:9 (1920x1080) automotive test-drive invitation that renders one MP4 per enquiry rather than per VIN - the bridge between a listing page and a showroom floor. Five hard-cut scenes alternate a graphite showroom ground with a warm bone ground: a full-bleed hero exterior with a "RESERVED FOR <name>" pill and the make/model set at 116px, a light-ground argument scene pairing an exterior and a cockpit tile under "Twenty minutes behind the wheel tells you what twenty tabs can't.", the appointment itself with the date rendered as the largest number in the video over a feathered backdrop of the car, a "where" scene carrying the dealer name, address and a perforated test-drive pass card (dashed tear line and two punched notches), and a booking scene with the dealer logo chip, the lead's first name at 104px, an accent booking block and the phone number. It deliberately reuses the Vehicle Listing Showcase family's graphite skin and its vehicle_image_1/2/3 photo contract, so one dealership feed drives both templates. Thirteen dynamic fields swap per render: first_name, make_model, year_mileage, drive_date, drive_time, dealer_name, location_address, booking_url, dealer_phone, three vehicle photos (vehicle_image_1 does triple duty as the full-bleed hero, the scene-03 backdrop and the scene-05 side tile) and dealer_logo. Dates and times are passed preformatted - the template does no date maths.

Service Reminder - Personalized
A service reminder addressed to one owner and one car, built to render unattended from a dealership DMS - one video per vehicle per interval. Five scenes over 33 seconds at 1920×1080 (16:9, 30fps): the owner's first name beside a photo of their model, the record the garage is acting on (vehicle, registration, odometer, service due) in a hairline-ruled panel, the three jobs the interval calls for, the fixed price and the hours on the single saturated blue frame, and a closing booking link plus phone number. The palette alternates grey-white and graphite with one service-blue frame; Manrope carries the display type, Geist every human sentence, and JetBrains Mono the machine-known data (plate, odometer, URL). It deliberately carries no countdown, offer, discount or urgency badge. Fourteen dynamic fields are swapped per render: owner_name, vehicle_name, vehicle_plate, vehicle_image, odometer, service_due, service_item_1, service_item_2, service_item_3, service_price, service_duration, booking_url, service_phone and service_centre - several appear on two to five scenes (service_centre on all five) as separate overlays sharing one replacement key. Every number, unit and currency symbol travels preformatted inside its variable, so the template needs no locale logic.

Quarterly Business Review
The internal-comms sibling of the Monthly Performance Recap: a composed, credible 34-second 1920x1080 (16:9) quarterly business review that a reporting job renders once per department on the first working day after quarter close. Six scenes on an ink-and-bone ground that flips at every cut — a cover that names the quarter and the department over a four-cell quarter track, three figure frames that each repeat the same four rows (counter band, label + value + delta chip, a 1660px attainment track scaled 0 to 130% of plan with a hard target tick at 100%, definition line), a ledger board that puts all three metrics on one screenshot-ready frame beside the sentence that explains them, and a closing commitment frame with the next review date in a signal-blue block. Deliberately not a hype reel: a miss gets exactly the same frame as a beat, with no confetti, no celebration language and no green/red traffic lights — polarity is expressed only by the delta chip being solid blue or a hairline outline. One signal-blue accent (#2563EB on bone, #4C82F8 on ink), Space Grotesk figures in tabular numerals at 262px, JetBrains Mono for every label and counter, and no logo, headshot or photography — the whole video is text overlays, so a job that emits a JSON row per department renders the quarter without touching S3. Twenty-five dynamic `content` fields swap per render: period_label, department_name, company_name and comparison_label; the composite lines period_department_line, company_department_line and all_figures_line; label, value, delta, target and attainment for each of the three metrics (each bound to both its figure scene and its ledger column, so one value fills two places); plus what_moved, next_focus and next_review_line. Values arrive preformatted — the template never formats a number, so pass the currency symbol, separators, decimals and the up/down arrow inside the delta string yourself.