HELP! Add Bulk Titles To Final Cut Pro X?

Hey All, I am wondering if there is a way to bulk add titles to a video besides the manual way?


I want to create a video in Final Cut Pro X where I have text on the screen with a video playing in the background kinda like this: https://www.youtube.com/watch?v=Arq_mES9wDA


Is there any way to BULK add the text I want to go across the screen (I know I'll still need to line it up with the voice)?


Its a slow process to create each individual TITLE box then paste in the text one snippet at a time.


Any advice is much appreciated! :)


Posted on Mar 15, 2020 9:26 AM

Reply
Question marked as Top-ranking reply

Posted on Mar 17, 2020 11:41 AM

Try this:

http://fcpxtemplates.com/ngtopics/sc_captionClip.zip


Install as an Effect. You can apply it to clips, compound clips, generators or titles. In your case, use a title and remove the default text, then apply Caption Clip.


Stretch the title out for as long as you need.

Copy your text in a text editor. Each piece of text needs to be a separate line. If you need a pause between lines, double or triple space the text.


Paste the text in the Text field in the Parameters list of Caption Clip.


Play.


You can delay the start with Start Time (it is % of length of clip) and trim the ending with End Time (also at % of length of clip).


If you alter the font and/or font size, you will likely need to adjust the Line offset. Set up the first line, use some object to mark the position of the text. Go to the last line (by positioning the playhead) and adjust Line Offset so that the last line sits on the same mark as the first line.


There's a Rotation parameter if you like.


Even though Start Time and End time can be keyframed: don't!


You can add more than one of these to a single clip and use the Start Time / End Time of each to set up the timing for each.


PS - if you look right under the Text entry parameter, you'll see 3 dots. You can grab those and resize the text entry "window" in the Effect.


Text is displayed in even amounts of time for each line. There are no adjustments other than breaking up the texts to separate effects and using Start/End Time for each. The video you showed appears to be set up that way anyway.


If you use this as one effect for your entire video, make a compound clip of the entire timeline and add Caption Clip to that. It should run in a similar manner.


Hope this helps.


25 replies
Question marked as Top-ranking reply

Mar 17, 2020 11:41 AM in response to liberty194

Try this:

http://fcpxtemplates.com/ngtopics/sc_captionClip.zip


Install as an Effect. You can apply it to clips, compound clips, generators or titles. In your case, use a title and remove the default text, then apply Caption Clip.


Stretch the title out for as long as you need.

Copy your text in a text editor. Each piece of text needs to be a separate line. If you need a pause between lines, double or triple space the text.


Paste the text in the Text field in the Parameters list of Caption Clip.


Play.


You can delay the start with Start Time (it is % of length of clip) and trim the ending with End Time (also at % of length of clip).


If you alter the font and/or font size, you will likely need to adjust the Line offset. Set up the first line, use some object to mark the position of the text. Go to the last line (by positioning the playhead) and adjust Line Offset so that the last line sits on the same mark as the first line.


There's a Rotation parameter if you like.


Even though Start Time and End time can be keyframed: don't!


You can add more than one of these to a single clip and use the Start Time / End Time of each to set up the timing for each.


PS - if you look right under the Text entry parameter, you'll see 3 dots. You can grab those and resize the text entry "window" in the Effect.


Text is displayed in even amounts of time for each line. There are no adjustments other than breaking up the texts to separate effects and using Start/End Time for each. The video you showed appears to be set up that way anyway.


If you use this as one effect for your entire video, make a compound clip of the entire timeline and add Caption Clip to that. It should run in a similar manner.


Hope this helps.


Mar 15, 2020 10:12 AM in response to liberty194

Do you have the text in a file, with one title per line?

This calls for a little work with xml.


There is a relatively simple way to do this, if you are not afraid of a little programming.


Here is what I'd do:


1) Create a simple project, with just a title, and set it up exactly how I want it to look.

2) Export this one title project as XML: File->Export XML...

3) Open the XML file in a text editor like BBEdit (could also be TextEdit, as long it is kept as plain text)

4) Isolate the portion of the XML corresponding to the title. It will look like this:


<title name="Basic Title" offset="0s" ref="r2" duration="25100/2500s" start="3600s">

<text>

<text-style ref="ts1">Title</text-style>

</text>

<text-style-def id="ts1">

<text-style font="Helvetica" fontSize="63" fontFace="Regular" fontColor="1 1 1 1" alignment="center"/>

</text-style-def>

</title>



5) Write a little script (about a dozen lines in Python) to write the first part of the XML, then write one XML tag as above for each line of the text, and finally write the rest of the XML.

It will help if one adjusts the offset of the titles so we don't end up with a hundred titles stacked up.


6) Import this created new XML back into FCP X, and adjust.


Whether this is worth the effort, compared to just copying and pasting in the timeline, depends on two things:

a) How many titles there are (and how often you may end up doing a similar thing)

b) How comfortable you are with a little programming


I might do a little script for this if I have some time later, and if you think it may help.






Mar 19, 2020 4:33 PM in response to liberty194


You can stretch the title out for as long as you need — like across the entire project length. It should be *over* content in the storyline. Right now, the title is *IN* the storyline (which is okay, just put your media content below it.)


Other that setting a Start time and an End Time and stretching out the clip (Title object in this case), there is really no way to vary the amount of time each line is on the screen *other than* adding new lines (empty) as in double or triple spacing (or more) between lines.


You can blade the title into shorter sections, but you'll have to edit out the texts that don't belong to it. For example, you cut the title in half, select the first one and delete the last half of the lines, then select the second one and delete the first half of the lines.


If you add Caption Clip to individual video clips, then only apply the lines used within that clip to the text field. Conversations have a "cadence" generally, so evenly space line appearances (adjusted by newline "pauses") will generally fit the scene "close enough". The point of Caption Clip is convenience and ease of use, not precision. [I tried precision before — Motion and FCPX make a mess of it! and there is a lot of keyframing involved.] If you must have precision, then spherico's method is probably a better way to go.



Mar 17, 2020 2:29 AM in response to liberty194

I did a little script and it is working well enough on my mac, but there are some dependencies and I don't think I would be able to coach you through it, installing some software on your mac, running scripts in the Terminal and so.


However, if you'd be willing to send me two files:

a) An XML file of a project with ONE title set up exactly as you want (it does not matter the text)

b) A text file with one title per line


I could easily send you back an XML file of all one hundred titles on a timeline.

All you'd have to do is copy them to your project and adjust the timings.


You can, if you like, post those files someplace like dropbox and add a link here, and I would do the same.

Mar 19, 2020 11:14 AM in response to liberty194

This script is something I did for fun is not something I made for distribution.

I can give you the script if you like.

I may take the opportunity to teach myself how to use github and post it there, but I can't promise that I will do that soon.

It is easy to run the script from the command line.

It requires having Python 3 available (at least version 3.6; I suggest getting the Anaconda distribution).


I built this using just Basic Title, without any modifications; that is where having your xml is crucial to get all the titles the way you want them.

Once I get that, I can adjust the script and send it to you.


The user manual is very short :-)


Use it as


python3 pour_titles.py <titles file> <output file>


(or make the script executable and just do

./pour_titles.py <titles file> <output file>

)


For example, if your file is named "titlelist.txt" and you want to create "mytitles.fcpxml" just do


python3 pour_titles.py titlelist.txt mytitles


Mar 16, 2020 5:11 PM in response to Luis Sequeira1

Thanks so much for suggesting this. This is beyond me I think. But if there is a plug and play option through some coding or an over-the-shoulder video that you could do let me know.


I really appreciate you posting this reply! Thank you!


I have like 100 titles per video.


I am okay with programming but I am not familiar with a couple of the programs you suggested.


I have Final Cut Pro X on a Macbook Pro.


I have Text Wrangler / TextEdit.





Mar 17, 2020 9:05 AM in response to Luis Sequeira1

Thank you again! Unfortunately I have a lot of video projects to do. I would need to be sending you title files quite often and it would step beyond what I feel is appropriate for your free help (which I genuinely appreciate).


If you're saying that you have created a script that can make titles pop up on the screen like the YouTube video example I posted then I am still interested.


1) Could you share a FCPX video project so I can see that the bulk titles do indeed work? I am presuming I would just need to paste a text file with one title per row into your script. Like I said, I have like a 100 per video project.


2) If so, would you be willing to sell the script + 'how to' video for it? I am sure this would be of interest to many who have many titles to make in their video projects.


Think about it and let me know.


I am willing to do the manual copy and paste but thats quite laborious if there is a somewhat automated script I could use.


Thanks again!




Mar 19, 2020 12:54 PM in response to fox_m

Thanks so much for taking the time to help. I appreciate you and the others who have taken time to respond. This is great!


Anyway the change you made works - sorta. ;)


What happens is that my 50 lines of text (as an example) that are pasted into the PARAMETERS area (3 dots area), ends up being placed on my project timeline as ONE PURPLE TITLE (picture below).


When I play the video, each line of text is shown at the exact same DURATION as the others.


The issue I have is that every line of text is spoken at different speeds. Sometimes the narrator will exaggerate or really pronounce words and this means words/sentences are spoken at different speeds.


As is, the text on the screen will not match whats being spoken by the narrator in the video. I'll need them to be in sync - if I am able.


Is there any way to cut up the TITLE element (that has my 50 lines of text) on the project timeline where each line of text begins to be spoken. I realize I will have to play the video and stop it at each point that I want a different bit of text to show on the screen but I am okay with that if thats what I must do as workaround.


If I try to cut up the one purple TITLE element, it duplicates itself. I then have 2 purple TITLE elements both with exactly the same block of text (50 lines of text I want in my video).


The fact that I can BULK paste in numerous lines of text and create a title might do the trick - compared to having to manually create each individual title and paste in each individual block of text.


I'll refer you to the video again. Notice how when the narrator speaks, each block of text on the screen is spoken at a different duration?


https://www.youtube.com/watch?v=Arq_mES9wDA


Don't get me wrong, I am thankful I got this far. :) Just hoping there is a little adjustment I can make here to vary the duration each line of text is shown on the screen. :)


Hopefully this makes sense. If not let me know and I'll try to write more clearly.


PIC BELOW SHOWS block of text on right and the ONE purple title within the project. Title is 10 seconds long so all the 50 lines of text is shown within 10 seconds:


This thread has been closed by the system or the community team. You may vote for any posts you find helpful, or search the Community for additional answers.

HELP! Add Bulk Titles To Final Cut Pro X?

Welcome to Apple Support Community
A forum where Apple customers help each other with their products. Get started with your Apple Account.