Full-Time 2D Animator – Animated Storytelling Channel

Please login or register as jobseeker to apply for this job.

TYPE OF WORK

Full Time

SALARY

$650–$800

HOURS PER WEEK

40

DATE UPDATED

Sep 10, 2026

JOB OVERVIEW

'm building a new animation studio focused on creating original animated storytelling content for TikTok.

Our content will be inspired by the animated storytelling format popularized by channels such as MSA (My Story Animated), but all of our stories, characters, artwork, and creative identity will be original.

Our stories will include:

Romance
School drama
Friendships
Family situations
Secrets
Betrayal
Emotional stories
Mystery
Revenge
Unexpected plot twists

Our initial focus is 1–2 minute animated story parts for TikTok.

As the studio grows, successful stories may be expanded into longer animated episodes for YouTube.

I'm looking for a reliable 2D animator who wants to grow with the studio long-term.

Responsibilities
Animate 1–2 minute storytelling videos
Animate 2D characters and scenes
Character acting and movement
Facial expressions and emotions
Lip syncing
Camera movement and transitions
Follow scripts and storyboards
Maintain consistent character and visual quality
Make revisions based on feedback
Deliver projects on schedule
Work collaboratively on developing a consistent animation style
Requirements
Strong 2D animation portfolio
Experience with character animation
Good understanding of movement, timing, and acting
Facial expression and emotional storytelling experience
Lip-sync experience
Reliable communication
Able to work independently and meet deadlines
Experience with Adobe Animate, After Effects, Toon Boom, Moho, or similar software is a plus

Story writing is NOT required. I will provide the scripts and creative direction.

Position
Full-time
Remote
Long-term
$650–$800 USD/month, depending on experience and ability
Opportunity for increased compensation and additional responsibilities as the studio grows
Important

Reliability and communication are extremely important for this position. I'm looking for someone who is interested in building a long-term working relationship rather than taking on a short-term project.

To Apply

Please send:

Your portfolio
2–3 of your best character animation examples
At least one example involving dialogue/lip-sync, if available
The software you use
Your expected salary
Your availability
How long it normally takes you to complete a polished 1–2 minute animated story part
How many 1–2 minute story parts you realistically believe you can produce per week
Tell me about your most recent long-term animation job/project

Please start your application with “STORY ANIMATOR” so I know you read the entire post.

Shortlisted candidates will be asked to complete a small paid animation test before a final hiring decision is made.

Thank you, and I look forward to seeing your work!

VIEW OTHER JOB POSTS FROM:
SHARE THIS POST
facebook linkedin
  BENCHMARKS  
Loading Time: Base Classes  0.0007
Controller Execution Time ( Jobseekers / Job )  0.0101
Total Execution Time  0.0114
  GET DATA  
No GET data exists
  MEMORY USAGE  
1,499,024 bytes
  POST DATA  
No POST data exists
  URI STRING  
jobseekers/job/Full-Time-2D-Animator-Animated-Storytelling-Channel-1727308
  CLASS/METHOD  
jobseekers/job
  DATABASE:  onlinejobs (Jobseekers:$db)   QUERIES: 13 (0.0048 seconds)  (Hide)
0.0003   SELECT *
                                
FROM exrates
                                WHERE rate_name 
= 'USD-PHP' 
0.0004   SELECT *
FROM `employer_jobs`
WHERE `job_id` = 1727308
 LIMIT 1 
0.0003   SELECT *
FROM `employers`
WHERE `employer_id` = 972965
 LIMIT 1 
0.0003   SELECT COUNT(*) AS `numrows`
FROM `t_thread` `t`
LEFT JOIN `t_thread_misc` `misc` ON `t`.`id` = `misc`.`thread_id`
WHERE `t`.`job_id` = 1727308
AND `misc`.`id` IS NULL 
0.0005   SELECT e.business_name, e.logo, e.website, e.rebill_date, e.date_added member_date, hits, DATEDIFF('2026-09-24',ej.date_added) duration_days, DATEDIFF('2026-09-24',e.rebill_date) duration_rebill, ej.*, e.deactivate FROM employers e, employer_jobs ej WHERE e.employer_id = ej.employer_id AND
                                   ((
e.user_level >= '500' AND ej.date_added <= e.rebill_date)
                                   OR 
e.employer_id = '' OR (ej.date_approved <> '2000-01-01' and DATEDIFF('2026-09-24',ej.date_added) <= 14 ))
                                   AND 
e.deactivate != 1 AND ej.deleted = 0 AND job_id = '1727308' 
0.0003   SELECT *
FROM `employer_jobs_skills` `ejs`
LEFT JOIN `skills_categories` `sc` ON `ejs`.`skill_id` = `sc`.`id`
WHERE `job_id` = 1727308 
0.0007   UPDATE employer_jobs SET hit_counts = '***Sep-10-2026=511***Sep-11-2026=103***Sep-12-2026=26***Sep-13-2026=36***Sep-14-2026=35***Sep-15-2026=41***Sep-16-2026=36***Sep-17-2026=15***Sep-18-2026=13***Sep-19-2026=8***Sep-24-2026=2' WHERE job_id= '1727308'  
0.0006   UPDATE employer_jobs SET monthly_hits = '***Sep-2026=826' WHERE job_id= '1727308'  
0.0003   SELECT date_sent FROM jobseeker_sent_emails WHERE jobseeker_id = '' AND job_id = '1727308' AND status LIKE 'sent%' ORDER BY id DESC  
0.0002   SELECT *
FROM `employer_jobs_skills` `ejs`
LEFT JOIN `skills_categories` `sc` ON `ejs`.`skill_id` = `sc`.`id`
WHERE `job_id` = 1727308 
0.0003   SELECT COUNT(*) AS `numrows`
FROM `employer_jobs`
WHERE `employer_id` = '972965'
AND `date_added` >= '2022-06-08' 
0.0003   select * from teasers 
0.0002   SELECT * FROM skill_categories WHERE skill_cat_id='' 
  HTTP HEADERS  (Show)
  SESSION DATA  (Show)
  CONFIG VARIABLES  (Show)