Captions: insert
Stay organized with collections
Save and categorize content based on your preferences.
Uploads a caption track.
This method supports media upload. Uploaded files must conform to these constraints:
- Maximum file size:
100MB
- Accepted Media MIME types:
text/xml
,
application/octet-stream
,
*/*
Quota impact:
A call to this method has a
quota cost
of 400 units.
Common use cases
Request
HTTP request
POST https://www.googleapis.com/upload/youtube/v3/captions
Authorization
This request requires authorization with at least one of the following scopes (
read more about authentication and authorization
).
Scope
|
https://www.googleapis.com/auth/youtube.force-ssl
|
https://www.googleapis.com/auth/youtubepartner
|
Parameters
The following table lists the parameters that this query supports. All of the parameters listed are query parameters.
Parameters
|
Required parameters
|
part
|
string
The
part
parameter specifies the
caption
resource parts that the API response will include. Set the parameter value to
snippet
.
The following list contains the
part
names that you can include in the parameter value:
|
Optional parameters
|
onBehalfOfContentOwner
|
string
This parameter can only be used in a properly
authorized request
.
Note:
This parameter is intended exclusively for YouTube content partners.
The
onBehalfOfContentOwner
parameter indicates that the request's authorization credentials identify a YouTube CMS user who is acting on behalf of the content owner specified in the parameter value. This parameter is intended for YouTube content partners that own and manage many different YouTube channels. It allows content owners to authenticate once and get access to all their video and channel data, without having to provide authentication credentials for each individual channel. The actual CMS account that the user authenticates with must be linked to the specified YouTube content owner.
|
sync
|
boolean
This parameter has been deprecated.
The
sync
parameter indicates whether YouTube should automatically synchronize the caption file with the audio track of the video. If you set the value to
true
, YouTube will disregard any time codes that are in the uploaded caption file and generate new time codes for the captions.
You should set the
sync
parameter to
true
if you are uploading a transcript, which has no time codes, or if you suspect the time codes in your file are incorrect and want YouTube to try to fix them.
|
Request body
Provide a
caption resource
in the request body.
For that resource:
Response
If successful, this method returns a
caption resource
in the response body.
Errors
The following table identifies error messages that the API could return in response to a call to this method. Please see the
error message
documentation for more detail.
Error type
|
Error detail
|
Description
|
badRequest (400)
|
contentRequired
|
The request does not contain the caption track contents.
|
conflict (409)
|
captionExists
|
The specified video already has a caption track with the given
snippet.language
and
snippet.name
. A video can have multiple tracks for the same language, but each track must have a different name.
There are multiple ways to address the error. You could delete the existing track and then insert a new one or change the name of the new track before inserting it.
|
forbidden (403)
|
forbidden
|
The permissions associated with the request are not sufficient to upload the caption track. The request might not be properly authorized.
|
invalidValue (400)
|
invalidMetadata
|
The request contains invalid metadata values, which prevent the track from being created. Confirm that the request specifies valid values for the
snippet.language
,
snippet.name
, and
snippet.videoId
properties. The
snippet.isDraft
property can also be included, but it is not required.
|
notFound (404)
|
videoNotFound
|
The video identified by the
videoId
parameter could not be found.
|
invalidValue (400)
|
nameTooLong
|
The
snippet.name
specified in the request is too long. The maximum length supported is 150 characters.
|
Try it!
Use the
APIs Explorer
to call this API and see the API request and response.
Except as otherwise noted, the content of this page is licensed under the
Creative Commons Attribution 4.0 License
, and code samples are licensed under the
Apache 2.0 License
. For details, see the
Google Developers Site Policies
. Java is a registered trademark of Oracle and/or its affiliates.
Last updated 2024-03-14 UTC.
[{
"type": "thumb-down",
"id": "missingTheInformationINeed",
"label":"Missing the information I need"
},{
"type": "thumb-down",
"id": "tooComplicatedTooManySteps",
"label":"Too complicated / too many steps"
},{
"type": "thumb-down",
"id": "outOfDate",
"label":"Out of date"
},{
"type": "thumb-down",
"id": "samplesCodeIssue",
"label":"Samples / code issue"
},{
"type": "thumb-down",
"id": "otherDown",
"label":"Other"
}]
[{
"type": "thumb-up",
"id": "easyToUnderstand",
"label":"Easy to understand"
},{
"type": "thumb-up",
"id": "solvedMyProblem",
"label":"Solved my problem"
},{
"type": "thumb-up",
"id": "otherUp",
"label":"Other"
}]