Skip to main content
Version: FINAL-1.0.0

Create project

postapi.bunnystudio.com/projects

This endpoint creates a project on the Bunny Studio account of the authenticated user.

Requirements

Authentication

Request body

title
<required> string
The title of the project you created
mainService
<required> string
The category ID that represent the main service of the project. To check the available categories you can use the Get Categories endpoint or check on Available categories page
fulfillmentType
<optional> string
The fulfillment type selected for the project.
Options: speedy, booking, contest
Default: speedy
fake
<optional> boolean
If the project is fake
Default: false
test
<optional> boolean
If the project is a test
Default: false
remarks
<optional> string
Additional instructions for the creatives that you submitted when creating the project
services
<required> array_objects
List of services included on the project.
note

Depending on the category of the project, the information related to the services array will vary. Please, check each category below to see more information about them.

Voice Over

For voice over projects, the mainService should be voice_over.

services
<required> array_objects
List of services included on the project. For Voice over is only one and it should be voice_over
Voice Over
subCategory
<required> string
The voice over service ID
language
<required> string
Language required for the service
genderAndAge
<required> string
Gender and age required for the service
purpose
<optional> string
Purpose of the voice over, this is a field with a few options that you can choose from, to see the options you can use the Get Attributes Values endpoint
Default: radioTvAds
script
<required> array_object
Array that contains the script that the creative needs to read to fulfill the project

Audio Ads

For voice over projects, the mainService should be audio_ads.

services
array_objects
List of services included on the project. For Audio ads with script writing it will have script writing, voice over and post-production
Script Writing
subCategory
<required> string
The script writing service ID
seconds
<required> number
Length of the audio file in seconds
language
<required> string
Language required for the service
voicePerspective
<optional> string
From which perspective the script should be written, this is a field with a few options that you can choose from, to see the options you can use the Get Attributes Values endpoint
Default: bunny-pro-choice
topic
<required> string
What is the topic of the script, you can use this field to give more context to the creative
purpose
<required> string
What is the goal or purpose of the script
targetAudience
<required> string
Who is the target audience for the script
keywords
<optional> string
Who is the target audience for the script
remarks
<optional> string
Additional instructions for the script writing creative
tone
<optional> object
The tone of the script, this field is and array of numbers that represents every tone you want to use, if you want to see more info on how the tones works go to Audio ads script writing section
assetsFiles
<optional> array
Array that contains the URLs of the attachments that you want to send to the creative
Voice Over
subCategory
<required> string
The voice over service ID
language
<required> string
Language required for the service
genderAndAge
<required> string
Gender and age required for the service
purpose
<optional> string
Purpose of the voice over, this is a field with a few options that you can choose from, to see the options you can use the Get Attributes Values endpoint
Default: radioTvAds
remarks
<optional> string
Additional instructions for the voice over creative
assetsFiles
<optional> array
Array that contains the URLs of the attachments that you want to send to the creative
Post production
subCategory
<required> string
The post production service ID
seconds
<required> number
Length of the audio file in seconds
remarks
<optional> string
Additional instructions for the post production creative
trackId
<optional> number
The id of the track that you want to use from the music library, you can see the available tracks with the Get Attributes Values endpoint
ownMusicFile
<optional> string
The URL of the music file that you want to use for the post production, if you send this field can not send the trackId field
ownMusicFileRights
<conditional> boolean
The rights of the music file that you want to use for the post production, is required if ownMusicFile is present
proSelectsMusic
<optional> boolean
If you want the creative to select the music for the post production
Default: false
assetsFiles
<optional> array
Array that contains the URLs of the attachments that you want to send to the creative

Request example

Voice Over

 curl --request POST \ 
--url https://api.bunnystudio.com/projects \
--header "Content-Type: application/json" \
--header "x-access-token: YOUR_TOKEN" \
--data '{
"title": "28/02 00:00 My First API Project",
"mainService": "voice_over",
"fulfillmentType": "speedy",
"fake": false,
"test": true,
"remarks": "remarks on text",
"services": [{
"subCategory": "voice_over",
"language": "eng-us",
"genderAndAge": "middleAgeFemale",
"purpose": "radioTvAds",
"script": [{
"part1": "script script script script",
}],
}],
}'

Audio Ads

 curl --request POST \ 
--url https://api.bunnystudio.com/projects \
--header "Content-Type: application/json" \
--header "x-access-token: YOUR_TOKEN" \
--data '{
"title": "28/02 00:00 My First API Project",
"mainService": "audio_ads",
"fulfillmentType": "speedy",
"fake": false,
"test": true,
"remarks": "remarks on text",
"services": [{
"subCategory": "scriptwriting",
"seconds": 30,
"language": "eng-us",
"voicePerspective": "third-person",
"topic": "For the talking points, we d encourage you to watch the TVC below to get a feel for the vibe of the campaign and what we are all about. Here are a few talking points for them: -Today s coffee world is more fun, more experiential, more flavorful and more diverse than ever before. And Coffee mate is all about it. Coffee mate loves this new wave of coffee experimentation, flavor and fun, and celebrates coffee culture and everything that surrounds it. It doesn t matter how you take your coffee, Coffee mate encourages you to do you",
"purpose": "Conversion, awareness and spreading the joy and ritual of drinking coffee",
"targetAudience": "Women ages 25-50",
"keywords": "Coffee mate. For the love of coffee. Buy now online or in stores.",
"remarks": "remarks on text for the script writer",
"tone": {
"seriousHumorous": -3,
"conciseWordy": -2,
"objectiveOpinionated": -5,
"sincereSarcastic": -3,
"journalisticCreative": 4,
},
"assetsFiles": ["https://www.mywebsite.com/myattachment.pdf"],
},{
"subCategory": "voice_over",
"language": "eng-us",
"genderAndAge": "middleAgeFemale",
"purpose": "radioTvAds",
"remarks": "remarks on text for the voice artist",
"assetsFiles": ["https://www.mywebsite.com/myattachment.pdf"],
},{
"subCategory": "post-production",
"seconds": 30,
"remarks": "remarks on text for the post producer",
"trackId": 80,
"ownMusicFile": "https://www.mywebsite.com/mymusic.mp3",
"ownMusicFileRights": true,
"proSelectsMusic": true,
"assetsFiles": ["https://www.mywebsite.com/myattachment.pdf"],
}],
}'

Response format

id
string
A UUID (Universal Unique Identifier) that identifies the project on Bunny Studio's database. You should use this ID for all API actions related to a specific project.
title
string
The title of the project you created
mainService
string
The category ID that represent the main service of the project. To check the available categories you can use the Get Categories endpoint or check on Available categories page
fulfillmentType
string
The fulfillment type selected for the project.
Options: speedy, booking, contest
Default: speedy
created
string
The creation date of the project
status
string
The current status of the project
price
number
The price charged for the project
fake
boolean
If the project is fake
Default: false
test
boolean
If the project is a test
Default: false
remarks
string
Additional instructions for the creatives that you submitted when creating the project
services
array_objects
List of services included on the project.
note

Depending on the category of the project, the information related to the services array will vary. Please, check each category below to see more information about them.

Voice Over

For voice over projects, the mainService will be voice_over.

services
array_objects
List of services included on the project. For Voice over is only one and it should be voice_over
Voice Over
id
string
A UUID (Universal Unique Identifier) that identifies the service on Bunny Studio's database.
subCategory
string
The voice over service ID
price
number
The price charged for the service
status
string
The current status of the service
units
number
Number of words or characters of the script
unitType
string
Type of unit to measure the length of the script. Can be words or characters, depending on the selected language.
language
string
Language required for the service
genderAndAge
string
Gender and age required for the service
purpose
string
Purpose of the voice over, this is a field with a few options that you can choose from, to see the options you can use the Get Attributes Values endpoint
Default: radioTvAds
script
array_object
Array that contains the script that the creative needs to read to fulfill the project

Audio Ads

For voice over projects, the mainService will be audio_ads.

services
array_objects
List of services included on the project. For Audio ads with script writing it will have script writing, voice over and post-production
Script Writing
id
string
A UUID (Universal Unique Identifier) that identifies the service on Bunny Studio's database.
subCategory
string
The script writing service ID
price
number
The price charged for the service
status
string
The current status of the service
units
number
Number of words or characters of the script writing
unitType
string
Type of unit to measure the length of the service. Can be words or characters, depending on the selected language.
language
string
Language required for the service
voicePerspective
string
From which perspective the script should be written, this is a field with a few options that you can choose from, to see the options you can use the Get Attributes Values endpoint
Default: bunny-pro-choice
topic
string
What is the topic of the script, you can use this field to give more context to the creative
purpose
string
What is the goal or purpose of the script
targetAudience
string
Who is the target audience for the script
keywords
string
Who is the target audience for the script
remarks
string
Additional instructions for the script writing creative
tone
object
The tone of the script, this field is and array of numbers that represents every tone you want to use, if you want to see more info on how the tones works go to Audio ads script writing section
assetsFiles
array
Array that contains the URLs of the attachments that you want to send to the creative
Voice Over
id
string
A UUID (Universal Unique Identifier) that identifies the service on Bunny Studio's database.
subCategory
string
The voice over service ID
price
number
The price charged for the service
status
string
The current status of the service
units
number
Number of words or characters of the script
unitType
string
Type of unit to measure the length of the script. Can be words or characters, depending on the selected language.
language
string
Language required for the service
genderAndAge
string
Gender and age required for the service
purpose
string
Purpose of the voice over, this is a field with a few options that you can choose from, to see the options you can use the Get Attributes Values endpoint
Default: radioTvAds
remarks
string
Additional instructions for the voice over creative
assetsFiles
array
Array that contains the URLs of the attachments that you want to send to the creative
Post production
id
string
A UUID (Universal Unique Identifier) that identifies the service on Bunny Studio's database.
subCategory
string
The post production service ID
price
number
The price charged for the service
status
string
The current status of the service
units
number
Length of the audio file in seconds
unitType
string
Type of unit to measure the length of the script. Can be words or characters, depending on the selected language.
language
string
Language required for the service
backgroundMusic
string
Type of background music required for the service, the options are: audioads-music-library
remarks
string
Additional instructions for the post production creative
trackId
number
The id of the track that you want to use from the music library, you can see the available tracks with the Get Attributes Values endpoint
ownMusicFile
string
The URL of the music file that you want to use for the post production, if you send this field can not send the trackId field
ownMusicFileRights
boolean
The rights of the music file that you want to use for the post production, is required if ownMusicFile is present
proSelectsMusic
boolean
If you want the creative to select the music for the post production
Default: false
assetsFiles
array
Array that contains the URLs of the attachments that you want to send to the creative

Response example

{
"id": "74rgd7ba-02e9-4d65-83de-3db4164b298b",
"title": "28/02 00:00 My First API Project",
"mainService": "CATEGORY_ID",
"fulfillmentType": "speedy",
"created": "2023-03-03T18:17:38",
"status": "paid",
"price": 31.00,
"fake": false,
"test": true,
"remarks": "remarks on text",
"services": [],
}
note

Depending on the category of the project, the information related to the services array will vary. Please, check each category below to see more information about them.

Voice Over

{
"services": [{
"id": "70587623-829c-457c-a605-0b866ff1c6b1",
"subCategory": "voice_over",
"price": 31,
"status": "paid",
"units": 4,
"unitType": "words",
"language": "eng-us",
"genderAndAge": "middleAgeFemale",
"purpose": "radioTvAds",
"script": [{
"part1": "script script script script",
}],
}],
}

Audio Ads

{
"services": [{
"id": "70587623-829c-457c-a605-0b866ff1c6b1",
"subCategory": "scriptwriting",
"price": 31,
"status": "paid",
"units": 75,
"unitType": "words",
"language": "eng-us",
"voicePerspective": "third-person",
"topic": "For the talking points, we d encourage you to watch the TVC below to get a feel for the vibe of the campaign and what we are all about. Here are a few talking points for them: -Today s coffee world is more fun, more experiential, more flavorful and more diverse than ever before. And Coffee mate is all about it. Coffee mate loves this new wave of coffee experimentation, flavor and fun, and celebrates coffee culture and everything that surrounds it. It doesn t matter how you take your coffee, Coffee mate encourages you to do you",
"purpose": "Conversion, awareness and spreading the joy and ritual of drinking coffee",
"targetAudience": "Women ages 25-50",
"keywords": "Coffee mate. For the love of coffee. Buy now online or in stores.",
"remarks": "remarks on text for the script writer",
"tone": {
"seriousHumorous": -3,
"conciseWordy": -2,
"objectiveOpinionated": -5,
"sincereSarcastic": -3,
"journalisticCreative": 4,
},
"assetsFiles": ["https://www.mywebsite.com/myattachment.pdf"],
},{
"id": "70587623-829c-457c-a605-0b866ff1c6b1",
"subCategory": "voice_over",
"price": 94,
"status": "paid",
"units": 30,
"unitType": "seconds",
"language": "eng-us",
"genderAndAge": "middleAgeFemale",
"purpose": "radioTvAds",
"remarks": "remarks on text for the voice artist",
"assetsFiles": ["https://www.mywebsite.com/myattachment.pdf"],
},{
"id": "70587623-829c-457c-a605-0b866ff1c6b1",
"subCategory": "post-production",
"price": 57,
"status": "paid",
"units": 30,
"unitType": "seconds",
"language": "eng-us",
"backgroundMusic": "audioads-music-library",
"remarks": "remarks on text for the post producer",
"trackId": 80,
"ownMusicFile": "https://www.mywebsite.com/mymusic.mp3",
"ownMusicFileRights": true,
"proSelectsMusic": true,
"assetsFiles": ["https://www.mywebsite.com/myattachment.pdf"],
}],
}

500 Project not created

{
status: 500,
type: 'PROJECT_NOT_CREATED',
message: 'There was an error creating the project, please talk with our support team',
}

422 Title required

{
status: 422,
type: 'TITLE_REQUIRED',
message: 'The field "title" is required',
}

422 Title too long

{
status: 422,
type: 'TITLE_TOO_LONG',
message: 'The field "title" length must be less than or equal to 100 characters long',
}

422 Title wrong type

{
status: 422,
type: 'TITLE_WRONG_TYPE',
message: 'The field "title" must be a string',
}

422 MainService required

{
status: 422,
type: 'MAINSERVICE_REQUIRED',
message: 'The field "mainService" is required',
}

422 MainService not authorized

{
status: 422,
type: 'MAINSERVICE_NOT_AUTHORIZED',
message: 'The main-service selected is not Authorized for API projects',
}

422 MainService wrong type

{
status: 422,
type: 'MAINSERVICE_WRONG_TYPE',
message: 'The field "mainService" must be a string',
}

422 Remarks required

{
status: 422,
type: 'REMARKS_REQUIRED',
message: 'The field "remarks" is required',
}

422 Remarks wrong type

{
status: 422,
type: 'REMARKS_WRONG_TYPE',
message: 'The field "remarks" must be a string',
}

422 Fake wrong type

{
status: 422,
type: 'FAKE_WRONG_TYPE',
message: 'The field "fake" must be a boolean',
}

422 Test wrong type

{
status: 422,
type: 'TEST_WRONG_TYPE',
message: 'The field "test" must be a boolean',
}

422 SubCategory Required

  {
status: 422,
type: 'SUBCATEGORY_REQUIRED',
message: 'The field "\subCategory\" is required',
}

422 SubCategory Not Authorized

  {
status: 422,
type: 'SUBCATEGORY_NOT_AUTHORIZED',
message: 'The sub-category selected is not Authorized for API projects,
}

422 SubCategory Wrong Type

  {
status: 422,
type: 'SUBCATEGORY_WRONG_TYPE',
message: 'The field "\subCategory\" must be a string',
}

422 Language Required (Services: voice_over)

  {
status: 422,
type: 'LANGUAGE_REQUIRED',
message: 'The field "\language\" is required',
}

422 Language Wrong Type (Services: voice_over)

  {
status: 422,
type: 'LANGUAGE_WRONG_TYPE',
message: 'The field "\language\" must be a string',
}

422 Language Not Active (Services: voice_over)

  {
status: 422,
type: 'LANGUAGE_NOT_ACTIVE',
message: 'The Language selected is not active for this service,
}

422 Gender And Age Required (Services: voice_over)

  {
status: 422,
type: 'GENDER_AND_AGE_REQUIRED',
message: 'The field "\genderAndAge\" is required',
}

422 Gender And Age Wrong Type (Services: voice_over)

  {
status: 422,
type: 'GENDER_AND_AGE_WRONG_TYPE',
message: 'The field "\genderAndAge\" must be a string',
}

422 Gender And Age Not Active (Services: voice_over)

  {
status: 422,
type: 'GENDER_AND_AGE_NOT_ACTIVE',
message: 'The Gender and Age selected is not active for this service,
}

422 Script Required (Services: voice_over)

  {
status: 422,
type: 'SCRIPT_REQUIRED',
message: 'The field "\script\" is required',
}

422 Script Wrong Type (Services: voice_over)

  {
status: 422,
type: 'SCRIPT_WRONG_TYPE',
message: 'The field "\script\" must be one of [string, array]',
}