Cách tạo chuyển động cho linh vật thương hiệu bằng ChatGPT Images 2.6

Tạo chuyển động cho linh vật thương hiệu với ChatGPT Images 2.6: prompt tạo sprite sheet đã qua thử nghiệm, cách căn chỉnh khung hình để tạo vòng lặp mượt mà, và quy trình đánh giá cùng đội ngũ.

Ashley Innocent

Ashley Innocent

6 tháng 11 2026

Cách tạo chuyển động cho linh vật thương hiệu bằng ChatGPT Images 2.6

Tóm tắt nhanh: Để tạo hoạt ảnh cho linh vật thương hiệu bằng ChatGPT Images 2.6, hãy yêu cầu tạo một sprite sheet gồm 6 khung hình xếp theo lưới 3x2 cố định, cắt ảnh thành từng khung hình, căn chỉnh lại cho thẳng hàng rồi xuất thành file GIF lặp. Chúng tôi đã thử nghiệm quy trình này trên tài khoản Free vào ngày 5 tháng 11 năm 2026. Bước căn chỉnh đã giúp giảm độ lệch chân từ 11,5 pixel xuống chỉ còn 1 pixel.

Tại sao tạo hoạt ảnh cho linh vật thương hiệu lại cần nhiều hơn một prompt

Linh vật thương hiệu phải giữ nguyên diện mạo trong từng khung hình, và chính điều đó khiến công việc này trở nên đặc thù. Một chiếc GIF biểu cảm ngẫu hứng có thể trông như thế nào cũng được. Nhưng linh vật của bạn thì không thể.

Bài viết ra mắt Images 2.6 của OpenAI đã trực tiếp nhắc đến trường hợp sử dụng này: các nhà tiếp thị có thể “tạo hoạt ảnh cho linh vật thương hiệu cho một chiến dịch”. Tính năng này hiện có sẵn trên ChatGPT và Codex ở mọi gói tài khoản, cũng như thông qua API.

ChatGPT cũng cung cấp cách làm chỉ với một câu lệnh. Trong một thử nghiệm trước đó trên cùng tài khoản Free, một prompt yêu cầu tạo GIF lặp đã xuất ra một file hoàn thiện gồm 8 khung hình. Cách này rất ổn cho một chuyển động biểu cảm nhanh. Nhưng đối với linh vật, phương pháp dùng sprite sheet mang lại cho bạn nhiều quyền kiểm soát hơn, vì bạn có thể chủ động chọn số lượng khung hình, kiểm tra từng tư thế và tự tay tinh chỉnh thời gian chuyển động.

Sprite sheet là một bức ảnh chứa toàn bộ các khung hình của một hoạt ảnh được sắp xếp theo dạng lưới. Bạn có thể kiểm tra tổng thể tương tự như xem trang ảnh thu nhỏ (contact sheet), sau đó cho chạy các khung hình theo thứ tự.

Nếu có nhiều người cùng tham gia xử lý các tài nguyên thương hiệu của bạn, bản yêu cầu (brief) và khâu phê duyệt cũng cần một nơi quản lý tập trung. Sharkly sẽ đảm nhận phần việc đó, và chúng tôi sẽ chia sẻ chi tiết ở bên dưới.

Những thứ bạn cần chuẩn bị trước khi viết prompt

Hãy dành năm phút để chuẩn bị dữ liệu đầu vào. Chúng sẽ quyết định liệu kết quả đầu ra có thực sự giống linh vật của bạn hay không.

  • Một ảnh tham chiếu (reference image): Một bức ảnh toàn thân rõ nét của linh vật trên nền trơn.
  • Bản mô tả nhân vật bằng chữ: Màu sắc cơ thể, khuôn mặt, tỷ lệ, độ dày nét vẽ và các phụ kiện đi kèm.
  • Một chuyển động duy nhất: Một cái vẫy tay, gật đầu hoặc chớp mắt. Sáu khung hình không thể gánh trọn cả một hoạt cảnh.
  • Mục đích sử dụng file: Nhãn dán tin nhắn (sticker) và hình ảnh tiêu điểm trên trang đích (landing page hero) sẽ cần kích thước và tốc độ hoàn toàn khác nhau.

Chỉ nên tạo hoạt ảnh cho nhân vật thuộc quyền sở hữu của bạn hoặc nhân vật mà bạn có quyền sử dụng hợp pháp.

Bước 1: Đính kèm ảnh tham chiếu của linh vật

Mở ChatGPT Images, nhấp vào Add files and more và đính kèm ảnh tham chiếu của bạn. OpenAI cho biết Images 2.6 có khả năng giữ cho “nhân vật, sản phẩm và các chi tiết thương hiệu luôn nhất quán trong quá trình bạn chỉnh sửa”, vì vậy đây là dữ liệu đầu vào then chốt giúp cố định thiết kế của bạn.

Chúng tôi không tải lên ảnh tham chiếu cho bài viết này, vì vậy hãy xem bước này như phần mô tả tính năng của OpenAI chứ không phải kết quả thực tế của chúng tôi. Dù vậy, chúng tôi đã rút ra được hai bài học khi chạy thử mà không có ảnh tham chiếu:

  • Khi prompt của chúng tôi nhắc đến một hình ảnh đính kèm nhưng thực tế lại không đính kèm tệp nào, ChatGPT đã dừng lại và yêu cầu cung cấp file. Nó không tự ý bịa ra một nhân vật.
  • Sau đó, khi chúng tôi mô tả linh vật bằng lời, chúng tôi nhận được một nhân vật nhất quán xuyên suốt cả sáu khung hình, nhưng chú cá mập này lại tròn trịa hơn so với thiết kế ban đầu của chúng tôi.

Mô tả bằng chữ chỉ giúp nhân vật tự nhất quán với chính nó. Nó không thể tái hiện chính xác thiết kế ban đầu của bạn. Đối với tài nguyên thương hiệu thực tế, hãy luôn sử dụng ảnh tham chiếu.

Bước 2: Sử dụng prompt tạo sprite sheet chuyên biệt cho linh vật

Prompt của chúng tôi tuân theo đúng cấu trúc trong các ví dụ mẫu của chính OpenAI, yêu cầu “chính xác 6 khung hình tuần tự” xếp theo lưới 3 cột x 2 hàng. Bạn chỉ cần thay thế đoạn văn mô tả nhân vật bằng thông tin của mình:

Create a single animation sprite sheet for a seamless looping GIF.
Character: a friendly cartoon shark mascot standing upright on two short
legs, charcoal-navy body, pale cream belly and lower jaw, large round eyes,
open smile with small white teeth, three gill lines, thick dark outline,
a small bright green ID badge on a dark lanyard, flat vector style,
no gradients.
The sequence: mascot stands facing forward, raises one fin, waves twice,
lowers the fin back to the starting pose.
Exactly 6 sequential frames in a precise 3-column by 2-row grid, read
left-to-right then top-to-bottom. Every panel has identical dimensions.
Fixed camera, same character, feet in the same spot in every frame,
plain white background. Sixth frame transitions smoothly back to the first.
No captions, no words, no numbers, no logos, no panel labels, no borders,
no gutters.

Mỗi dòng trong câu lệnh đều đảm nhận một nhiệm vụ cụ thể:

  • “Same character” (cùng một nhân vật) và cố định góc máy (fixed camera) giúp ngăn thiết kế và khung hình bị thay đổi thất thường.
  • “Feet in the same spot” (chân đứng nguyên một vị trí) tạo cho bạn một điểm mốc cố định để căn chỉnh sau này.
  • Dòng về khung hình thứ sáu yêu cầu tạo chuyển động vòng lặp.
  • Danh sách các yêu cầu “no” (loại trừ) giúp loại bỏ chữ thừa và các đường viền ngăn cách khỏi khung hình của bạn.

Dưới đây là sprite sheet nguyên bản chưa qua chỉnh sửa do ChatGPT tạo ra, dưới định dạng ảnh PNG kích thước 1536 x 1024:

Six-frame sprite sheet from ChatGPT Images 2.6: a navy cartoon shark with a green badge raises one fin, waves, and returns to rest, in a 3-by-2 grid

Có hai điểm lưu ý thực tế cần nói rõ. Prompt này trả về một ảnh tĩnh PNG chứ không phải file GIF, vì vậy khâu ghép ảnh sẽ do bạn tự thực hiện. Ngoài ra, chúng tôi đã yêu cầu vẫy tay hai lần nhưng kết quả chỉ được khoảng một lần. Bản thân ChatGPT cũng đã chủ động lưu ý điều này khi nhận xét rằng chuyển động “không hoàn toàn phân biệt rõ rệt qua cả sáu khung hình”. Sáu khung hình chỉ vừa vặn cho một lần vẫy tay, vì vậy bạn nên yêu cầu vẫy một lần hoặc tăng số lượng khung hình lên.

Bước 3: Cắt ảnh và khắc phục hiện tượng lệch vị trí

Yêu cầu “kích thước đồng nhất” thực tế không hoàn toàn chính xác. Nhân vật của chúng tôi trông có vẻ nằm ở chính giữa mỗi ô, nhưng khi cắt tấm ảnh thành các ô vuông đều nhau 512 pixel thì nhân vật lại bị trượt sang hai bên. Đôi chân bị xê dịch tới 11,5 pixel giữa các cột, tạo cảm giác giật cục và nhảy vị trí khi chạy vòng lặp.

Cách khắc phục là cắt từng cột theo một tọa độ lệch (offset) riêng. Hãy đo một điểm cố định trong từng khung hình, chẳng hạn như mép ngoài của bàn chân. Sau đó, dịch chuyển vùng cắt tương ứng với độ chênh lệch đó. Trong trường hợp của chúng tôi, các độ lệch cần thiết là 0, 517 và 1035 pixel. Các lệnh dưới đây sử dụng FFmpeg, và chúng tôi đã chạy chính xác như sau:

i=0
for x in 0 517 1035 0 517 1035; do
  y=$(( (i / 3) * 512 ))
  ffmpeg -y -i sheet.png -vf "crop=500:512:$x:$y" frame$i.png
  i=$((i + 1))
done

ffmpeg -y -framerate 1000/150 -i frame%d.png \
  -vf "scale=384:-2:flags=lanczos,split[a][b];[a]palettegen=max_colors=64[p];[b][p]paletteuse=dither=none" \
  -loop 0 mascot.gif

Độ lệch trên ảnh của bạn sẽ khác, vì vậy hãy tự đo đạc trên chính sprite sheet của mình. Lệnh thứ hai thiết lập thời gian hiển thị 150 mili-giây cho mỗi khung hình cùng bảng màu 64 màu, rất phù hợp với phong cách đồ họa vector phẳng.

Và đây là hoạt ảnh vòng lặp hoàn thiện:

The finished looping GIF: the navy cartoon shark mascot raises one fin, waves, and lowers it, with its feet staying in place

Bước 4: Kiểm tra độ mượt của vòng lặp

Một vòng lặp mượt mà sẽ không có hiện tượng giật hình khi khung hình cuối cùng chuyển tiếp quay lại khung hình đầu tiên. Đừng chỉ đánh giá bằng mắt thường. Chúng tôi đã đối chiếu các thông số trước và sau khi căn chỉnh:

Chỉ số đo lường Cắt theo lưới đều Cắt sau khi căn chỉnh
Độ lệch chân giữa các khung hình 11.5 px 1 px
Tỷ lệ pixel thay đổi tại điểm nối vòng lặp 13.8% 3.6%
Dung lượng file 332 KB 284 KB

File GIF hoàn thiện có kích thước 384 x 394 pixel, 6 khung hình và mỗi vòng lặp kéo dài 0,9 giây. Việc căn chỉnh cũng giúp giảm dung lượng file, vì thuật toán nén GIF sẽ tốn ít dữ liệu để vẽ lại hơn khi phần thân giữ nguyên vị trí.

Hãy kiểm tra lại danh sách các tiêu chí sau trước khi chia sẻ file:

  1. So sánh khung hình đầu tiên và khung hình cuối cùng. Giữa chúng chỉ nên tồn tại những khác biệt rất nhỏ.
  2. Kiểm tra màu sắc, huy hiệu và độ dày nét vẽ của linh vật trong từng khung hình.
  3. Tìm xem có chữ thừa hoặc đường kẻ viền ô nào sót lại ở mép các khung hình hay không.
  4. Xem lại ở kích thước đầy đủ qua mười vòng lặp. Hiện tượng giật hình sẽ lộ rõ khi xem lặp lại liên tục.

Nếu có khung hình nào bị lỗi, hãy tạo lại sprite sheet mới hoặc sử dụng hộp thoại Describe edits trong trình xem ảnh. Chúng tôi chưa thử nghiệm tính năng chỉnh sửa này trên sprite sheet ở bài viết này.

Cách tạo hoạt ảnh cho linh vật thông qua API

Quy trình thực hiện qua API sẽ có đôi chút khác biệt. Theo tài liệu hướng dẫn tạo ảnh của OpenAI, việc đặt output_format thành gif sẽ trả về một hoạt ảnh hoàn chỉnh, nhưng tùy chọn này chỉ hoạt động trên generation endpoint. Edit endpoint không hỗ trợ xuất định dạng GIF, trong khi đây lại là nơi bạn gửi ảnh tham chiếu vào.

Vì vậy, đối với linh vật, bạn có hai hướng tiếp cận qua API:

  • Xuất trực tiếp file GIF (Native GIF): Chỉ sử dụng prompt dạng văn bản, với frame_count từ 2 đến 64 và frame_duration_ms từ 20 đến 2000. Thiết kế của bạn sẽ hoàn toàn phụ thuộc vào phần mô tả bằng lời.
  • Kết hợp ảnh tham chiếu và sprite sheet: Gửi ảnh tham chiếu của bạn đến edit endpoint, nhận lại một sprite sheet, sau đó ghép các khung hình lại như hướng dẫn ở Bước 3.
curl https://api.openai.com/v1/images/edits \
  -H "Authorization: Bearer $OPENAI_API_KEY" \
  -F "model=gpt-image-2.6-sunburst" \
  -F "image[][email protected]" \
  -F "size=1536x1024" \
  -F "quality=high" \
  -F "prompt=<your sprite sheet prompt>"

Chúng tôi soạn cấu trúc request này dựa trên tài liệu kỹ thuật chứ chưa chạy thử nghiệm thực tế. OpenAI cho biết Sunburst mang lại “độ nhất quán hình ảnh thậm chí còn cao hơn qua các lượt chỉnh sửa” ở mức chất lượng trung bình hoặc cao. Trang bảng giá niêm yết token hình ảnh 2.6 ở mức 8 USD cho mỗi triệu token đầu vào và 30 USD cho mỗi triệu token đầu ra.

Quy trình phối hợp nhóm khi tạo hoạt ảnh linh vật

Một người hoàn toàn có thể tự mình làm mọi công đoạn này. Nhưng đối với một đội ngũ tiếp thị, mọi người cần nắm rõ ảnh tham chiếu nào là bản mới nhất, ai yêu cầu tạo hoạt ảnh và ai là người phê duyệt. Nếu không, file GIF cuối cùng sẽ dễ bị trôi mất trong các luồng tin nhắn trao đổi.

Dưới đây là cách triển khai quy trình trên Sharkly, một hệ thống làm việc kết hợp giữa Con người (People) và Trợ lý AI (Agents):

  1. Một Task đóng vai trò lưu trữ brief: Đính kèm các ảnh tham chiếu linh vật, prompt và quy chuẩn thương hiệu vào trong cùng một Task.
  2. Agent đảm nhận việc thực thi: Giao Task cho một Agent hoạt động trên một Computer được kết nối thông qua một Runtime. Bài viết hướng dẫn giao tác vụ đầu tiên cho AI agent của chúng tôi sẽ hướng dẫn chi tiết các bước thiết lập này.
  3. Con người kiểm duyệt và phê duyệt: Agent có thể chuyển Task sang trạng thái chờ người kiểm tra, và tác vụ đó sẽ xuất hiện ngay trong Hộp thư đến (Inbox) của người phụ trách. Bài viết của chúng tôi về các mô hình bàn giao giữa con người và agent sẽ giải thích rõ hơn về quy trình này.

Images 2.6 hiện đã có trên Codex, và Codex là một trong những Runtime mà Sharkly hỗ trợ. Chúng tôi chưa thử nghiệm tạo linh vật qua Codex, vì vậy bạn hãy thử nghiệm trước trên môi trường của riêng mình.

Sharkly hoàn toàn miễn phí để bắt đầu: gói Free hỗ trợ các tổ chức có quy mô lên đến 5 người, và các Agent không chiếm chỗ (seat) thành viên. Chi phí sử dụng mô hình sẽ được tính theo gói tài khoản hoặc API key mà bạn liên kết.

Kết luận

Để tạo ra một hoạt ảnh vòng lặp linh vật mượt mà, cốt lõi nằm ở ba thói quen: cố định thiết kế bằng ảnh tham chiếu, lên kế hoạch cho một chuyển động duy nhất trong sáu khung hình, và căn chỉnh lại các khung hình trước khi xuất file. Chính bước cuối cùng đó đã giúp chúng tôi giảm độ lệch chân từ 11,5 pixel xuống chỉ còn 1 pixel.

Bạn đã sẵn sàng áp dụng quy trình này cùng đội ngũ của mình? Hãy tạo một không gian làm việc Sharkly miễn phí, đưa brief linh vật tiếp theo vào một Task và để người phụ trách phê duyệt kết quả. Tài liệu hướng dẫn của Sharkly sẽ hướng dẫn bạn toàn bộ quy trình thiết lập.

Câu hỏi thường gặp (FAQ)

ChatGPT có thể tạo hoạt ảnh cho linh vật sẵn có của tôi không?

OpenAI có nêu rõ trường hợp sử dụng này, và bạn có thể đính kèm linh vật của mình làm ảnh tham chiếu. Chúng tôi chỉ mới thử nghiệm với phần mô tả bằng lời, kết quả cho ra nhân vật nhất quán nhưng chưa khớp hoàn toàn với thiết kế ban đầu của chúng tôi.

Một file GIF linh vật nên có bao nhiêu khung hình?

Với chúng tôi, sáu khung hình là vừa đủ cho khoảng một lần vẫy tay. Hãy tăng thêm khung hình nếu chuyển động dài hơn. API cho phép cấu hình từ 2 đến 64 khung hình.

Prompt tạo sprite sheet có xuất ra file GIF không?

Prompt của chúng tôi trả về một tấm ảnh sprite sheet định dạng PNG, và chúng tôi phải tự ghép thành file GIF. Trong một thử nghiệm trước đó, một prompt yêu cầu tạo GIF lặp thông thường đã trả về trực tiếp một file GIF hoàn chỉnh.

Tại sao file GIF của tôi bị giật hình?

Nhiều khả năng các ô khung hình không được chia đều một cách hoàn hảo. Trong thử nghiệm của chúng tôi, vị trí bị lệch 11,5 pixel giữa các cột. Giải pháp là hãy cắt từng cột theo độ lệch (offset) riêng.

API có thể tạo file GIF trực tiếp từ ảnh tham chiếu không?

Không thể làm trực tiếp. Định dạng đầu ra GIF chỉ hoạt động trên generation endpoint, còn edit endpoint thì không hỗ trợ xuất định dạng này.

Mọi người có nhận ra file GIF linh vật được tạo bởi AI không?

OpenAI cho biết họ đánh dấu các hình ảnh do AI tạo ra bằng siêu dữ liệu C2PA và thủy vân số SynthID, vì vậy đừng kỳ vọng file này có thể qua mắt được người xem như một tác phẩm vẽ tay thủ công.

Khám phá thêm

Gemini Omni 1.2 Flash API: Biến việc tạo video thành tác vụ mà AI Agent có thể thực thi

Gemini Omni 1.2 Flash API: Biến việc tạo video thành tác vụ mà AI Agent có thể thực thi

Vận hành Gemini Omni 1.2 Flash API dưới dạng tác vụ agent được theo dõi: cấu trúc lệnh gọi, bản brief, tài nguyên tham chiếu, chỉnh sửa qua nhiều lượt và khâu kiểm duyệt của con người trước khi phát hành clip.

6 tháng 11 2026

Khi mô hình AI giá rẻ lại tốn kém hơn: Cách tính chi phí Agent trên mỗi thay đổi được chấp thuận

Khi mô hình AI giá rẻ lại tốn kém hơn: Cách tính chi phí Agent trên mỗi thay đổi được chấp thuận

Với mức giá 0,10 USD cho mỗi triệu token, GPT-6 Luna giúp giảm chi phí cho từng lần thử, qua đó gia tăng số lượt thử nghiệm, hiệu suất đầu ra và các quyết định trên mỗi thay đổi được triển khai. Hãy định giá lượt chạy của agent theo từng thay đổi được chấp thuận, chứ không phải theo token.

5 tháng 11 2026

Quản lý Coding Agent: Tầng kiến trúc phía trên Claude Code và Codex

Quản lý Coding Agent: Tầng kiến trúc phía trên Claude Code và Codex

Quản lý coding agent là tầng nằm trên Claude Code và Codex: giúp phân công, cô lập, theo dõi và kiểm tra nhiều AI coding agent từ một nơi duy nhất. Dưới đây là chức năng của tầng này và thời điểm bạn cần đến nó.

5 tháng 11 2026