# 1. Create 9 Texts for IG Carousel https://api.cloudflare.com/client/v4/accounts/84160857b012477f501ba7dea513f89e/ai/v1/chat/completions POST https://graph.facebook.com/client/v4/accounts/84160857b012477f501ba7dea513f89e/ai/v1/chat/completions Content-Type: application/json Reference: https://docs.deao.dev/cloudflare/social-post-workflow/1-create-9-texts-for-ig-carousel-https-api-cloudflare-com-client-v-4-accounts-84160857-b-012477-f-501-ba-7-dea-513-f-89-e-ai-v-1-chat-completions ## OpenAPI Specification ```yaml openapi: 3.1.0 info: title: collection version: 1.0.0 paths: /client/v4/accounts/84160857b012477f501ba7dea513f89e/ai/v1/chat/completions: post: operationId: >- 1-create-9-texts-for-ig-carousel-https-api-cloudflare-com-client-v-4-accounts-84160857-b-012477-f-501-ba-7-dea-513-f-89-e-ai-v-1-chat-completions summary: >- 1. Create 9 Texts for IG Carousel https://api.cloudflare.com/client/v4/accounts/84160857b012477f501ba7dea513f89e/ai/v1/chat/completions tags: - subpackage_socialPostWorkflow responses: '200': description: Successful response content: application/json: schema: $ref: >- #/components/schemas/Social Post Workflow_1. Create 9 Texts for IG Carousel https://api.cloudflare.com/client/v4/accounts/84160857b012477f501ba7dea513f89e/ai/v1/chat/completions_Response_200 requestBody: content: application/json: schema: type: object properties: model: type: string messages: type: array items: $ref: >- #/components/schemas/ClientV4Accounts84160857B012477F501Ba7Dea513F89EAiV1ChatCompletionsPostRequestBodyContentApplicationJsonSchemaMessagesItems max_tokens: type: integer response_format: $ref: >- #/components/schemas/ClientV4Accounts84160857B012477F501Ba7Dea513F89EAiV1ChatCompletionsPostRequestBodyContentApplicationJsonSchemaResponseFormat required: - model - messages - max_tokens - response_format servers: - url: https://graph.facebook.com - url: https://www.youtube.com - url: https://youtube-video-summarizer-gpt-ai.p.rapidapi.com - url: https://api.cloudflare.com - url: https://dev-musiccast.odoo.com - url: https://api.search.brave.com - url: https://og-image-generator-dev.deao.workers.dev - url: https://musiccast.odoo.com - url: https://m.musicca.st - url: https://api.stripe.com - url: https://api.kie.ai - url: https://api.pexels.com - url: https://api.shotstack.io - url: https://oauth2.googleapis.com - url: https://www.googleapis.com - url: https://api.linkedin.com - url: https://www.linkedin.com - url: https://rupload.facebook.com - url: https://api.x.com - url: https://open.tiktokapis.com - url: https://open-upload-sg.tiktokapis.com - url: https://social-media-posting-dev.deao.workers.dev components: schemas: ClientV4Accounts84160857B012477F501Ba7Dea513F89EAiV1ChatCompletionsPostRequestBodyContentApplicationJsonSchemaMessagesItems: type: object properties: role: type: string content: type: string required: - role - content title: >- ClientV4Accounts84160857B012477F501Ba7Dea513F89EAiV1ChatCompletionsPostRequestBodyContentApplicationJsonSchemaMessagesItems ClientV4Accounts84160857B012477F501Ba7Dea513F89EAiV1ChatCompletionsPostRequestBodyContentApplicationJsonSchemaResponseFormatJsonSchema: type: object properties: slide_1: type: string slide_2: type: string slide_3: type: string slide_4: type: string slide_5: type: string slide_6: type: string slide_7: type: string slide_8: type: string slide_9: type: string required: - slide_1 - slide_2 - slide_3 - slide_4 - slide_5 - slide_6 - slide_7 - slide_8 - slide_9 title: >- ClientV4Accounts84160857B012477F501Ba7Dea513F89EAiV1ChatCompletionsPostRequestBodyContentApplicationJsonSchemaResponseFormatJsonSchema ClientV4Accounts84160857B012477F501Ba7Dea513F89EAiV1ChatCompletionsPostRequestBodyContentApplicationJsonSchemaResponseFormat: type: object properties: type: type: string json_schema: $ref: >- #/components/schemas/ClientV4Accounts84160857B012477F501Ba7Dea513F89EAiV1ChatCompletionsPostRequestBodyContentApplicationJsonSchemaResponseFormatJsonSchema required: - type - json_schema title: >- ClientV4Accounts84160857B012477F501Ba7Dea513F89EAiV1ChatCompletionsPostRequestBodyContentApplicationJsonSchemaResponseFormat Social Post Workflow_1. Create 9 Texts for IG Carousel https://api.cloudflare.com/client/v4/accounts/84160857b012477f501ba7dea513f89e/ai/v1/chat/completions_Response_200: type: object properties: {} description: Empty response body title: >- Social Post Workflow_1. Create 9 Texts for IG Carousel https://api.cloudflare.com/client/v4/accounts/84160857b012477f501ba7dea513f89e/ai/v1/chat/completions_Response_200 ``` ## SDK Code Examples ```python import requests url = "https://graph.facebook.com/client/v4/accounts/84160857b012477f501ba7dea513f89e/ai/v1/chat/completions" payload = { "model": "@cf/meta/llama-3.1-8b-instruct", "messages": [ { "role": "system", "content": "You are a creative social media strategist specialized in Instagram carousel posts. Your job is to transform blog posts into a 9-slide carousel narrative that feels natural, engaging, and human — not like a structured report. NARRATIVE STRUCTURE (flexible, not rigid): - Slide 1: Always a strong hook — a question, a bold statement, a surprising fact, or a provocative idea that stops the scroll. - Slides 2–7: Development — unpack the idea progressively. Each slide should feel like it naturally leads to the next, like a conversation or a story unfolding. Vary the tone: some slides can be factual, others emotional, others a quick insight or contrast. - Slides 8–9: Closing — read the content and decide organically what fits best: - If the content is inspirational → end with a reflective thought or motivational idea. - If the content promotes something → end with a subtle or direct CTA. - If the content is educational → end with a key takeaway or a \"now you know\" moment. - If the content tells a story → end with an open question or a powerful final line.- Never force a ]\"Conclusion:\" label. Just write it as if a person would naturally close the thought. WRITING RULES: - Maximum 100 characters per slide. - Write in the same language as the blog post. - No hashtags, no emojis unless they genuinely add punch. - Avoid corporate or robotic language — write like a smart human, not an AI. - Each slide must be self-contained enough to be read alone, but connected enough to make sense as a sequence. - Vary sentence structure: sometimes short and punchy, sometimes a complete thought. Respond only in valid JSON." }, { "role": "user", "content": "Blog post:
Every day an artist watches one post explode and wonders why the same cannot happen to them. Viral moments can feel like a shortcut to success. The reality is different. For musicians building a career, viral spikes are unpredictable and often fleeting. This post explains why virality should not be your primary goal, and it gives practical steps to build steady audience growth, stronger fan relationships, and more reliable income.
Virality feels glamorous because it delivers big numbers fast. The attention rush can result in streams, follows, and messages overnight. But the numbers alone do not always translate into sustainable careers. Many viral posts generate a momentary burst of attention that disappears within days. That spike does not necessarily create a returning audience, nor does it automatically produce meaningful revenue.
There are several reasons a viral post is not a dependable strategy.
Shift the goal from chasing a moment to building momentum. Focus on metrics and activities that predict long-term success.
Here are concrete steps to build an audience without relying on virality.
Choose 3 to 5 content pillars that reflect your music and personality. Examples include behind-the-scenes studio clips, short song snippets, songwriting tips, fan reactions, and live performance teasers. Pillars make planning faster and keep your audience’s expectations consistent.
Regular publishing trains an algorithm and your audience. For short-form platforms, aim for a steady rhythm, such as 3 to 5 short uploads per week, while maintaining quality. For long-form releases and full songs, keep a predictable calendar so fans know when to return.
Turn one idea into multiple pieces. A rehearsal clip becomes a Short, an Instagram Reel, a TikTok, and a 60-second behind-the-scenes story. Reusing the same core moment helps you reach different audiences without doubling your workload.
Shorts and Reels can drive discovery, but they work best when they feed fans to a deeper experience. Use short clips to promote a full song, an upcoming livestream, or an email sign-up offer. Focus on hooks in the first two seconds, strong audio choices, and clear prompts to take the next step.
Replace vanity metrics with signals that indicate true growth.
Here is a simple 2-week schedule you can adapt.
Think of a viral moment as fuel, not the engine. It can accelerate growth, but only a reliable engine will take you the distance.
If a clip does break out, have systems ready to convert that attention. Pin a welcome video or link in your bio, guide visitors to your latest release, and invite them to join an email list or a subscriber community. These steps help turn a spike into sustained opportunity.
Chasing virality is emotionally tempting and occasionally rewarding. For most independent musicians, however, it is not a sustainable strategy. Invest in clarity about who your music is for, choose repeatable content pillars, post consistently, and measure the signals that matter. Over time, those choices lead to a loyal audience, repeat streams, and reliable income.
Keywords: content strategy, virality, audience growth, Shorts, consistency, evergreen content, engagement rate, creator economy
" } ], "max_tokens": 1024, "response_format": { "type": "json_schema", "json_schema": { "slide_1": "string", "slide_2": "string", "slide_3": "string", "slide_4": "string", "slide_5": "string", "slide_6": "string", "slide_7": "string", "slide_8": "string", "slide_9": "string", "type": "object", "required": ["slide_1", "slide_2", "slide_3", "slide_4", "slide_5", "slide_6", "slide_7", "slide_8", "slide_9"], "properties": { "slide_1": { "type": "string", "maxLength": 100 }, "slide_2": { "type": "string", "maxLength": 200 }, "slide_3": { "type": "string", "maxLength": 200 }, "slide_4": { "type": "string", "maxLength": 200 }, "slide_5": { "type": "string", "maxLength": 200 }, "slide_6": { "type": "string", "maxLength": 200 }, "slide_7": { "type": "string", "maxLength": 200 }, "slide_8": { "type": "string", "maxLength": 200 }, "slide_9": { "type": "string", "maxLength": 200 } } } } } headers = {"Content-Type": "application/json"} response = requests.post(url, json=payload, headers=headers) print(response.json()) ``` ```javascript const url = 'https://graph.facebook.com/client/v4/accounts/84160857b012477f501ba7dea513f89e/ai/v1/chat/completions'; const options = { method: 'POST', headers: {'Content-Type': 'application/json'}, body: '{"model":"@cf/meta/llama-3.1-8b-instruct","messages":[{"role":"system","content":"You are a creative social media strategist specialized in Instagram carousel posts. Your job is to transform blog posts into a 9-slide carousel narrative that feels natural, engaging, and human — not like a structured report. NARRATIVE STRUCTURE (flexible, not rigid): - Slide 1: Always a strong hook — a question, a bold statement, a surprising fact, or a provocative idea that stops the scroll. - Slides 2–7: Development — unpack the idea progressively. Each slide should feel like it naturally leads to the next, like a conversation or a story unfolding. Vary the tone: some slides can be factual, others emotional, others a quick insight or contrast. - Slides 8–9: Closing — read the content and decide organically what fits best: - If the content is inspirational → end with a reflective thought or motivational idea. - If the content promotes something → end with a subtle or direct CTA. - If the content is educational → end with a key takeaway or a \"now you know\" moment. - If the content tells a story → end with an open question or a powerful final line.- Never force a ]\"Conclusion:\" label. Just write it as if a person would naturally close the thought. WRITING RULES: - Maximum 100 characters per slide. - Write in the same language as the blog post. - No hashtags, no emojis unless they genuinely add punch. - Avoid corporate or robotic language — write like a smart human, not an AI. - Each slide must be self-contained enough to be read alone, but connected enough to make sense as a sequence. - Vary sentence structure: sometimes short and punchy, sometimes a complete thought. Respond only in valid JSON."},{"role":"user","content":"Blog post:Every day an artist watches one post explode and wonders why the same cannot happen to them. Viral moments can feel like a shortcut to success. The reality is different. For musicians building a career, viral spikes are unpredictable and often fleeting. This post explains why virality should not be your primary goal, and it gives practical steps to build steady audience growth, stronger fan relationships, and more reliable income.
\nVirality feels glamorous because it delivers big numbers fast. The attention rush can result in streams, follows, and messages overnight. But the numbers alone do not always translate into sustainable careers. Many viral posts generate a momentary burst of attention that disappears within days. That spike does not necessarily create a returning audience, nor does it automatically produce meaningful revenue.
\nThere are several reasons a viral post is not a dependable strategy.
\nShift the goal from chasing a moment to building momentum. Focus on metrics and activities that predict long-term success.
\nHere are concrete steps to build an audience without relying on virality.
\nChoose 3 to 5 content pillars that reflect your music and personality. Examples include behind-the-scenes studio clips, short song snippets, songwriting tips, fan reactions, and live performance teasers. Pillars make planning faster and keep your audience’s expectations consistent.
\nRegular publishing trains an algorithm and your audience. For short-form platforms, aim for a steady rhythm, such as 3 to 5 short uploads per week, while maintaining quality. For long-form releases and full songs, keep a predictable calendar so fans know when to return.
\nTurn one idea into multiple pieces. A rehearsal clip becomes a Short, an Instagram Reel, a TikTok, and a 60-second behind-the-scenes story. Reusing the same core moment helps you reach different audiences without doubling your workload.
\nShorts and Reels can drive discovery, but they work best when they feed fans to a deeper experience. Use short clips to promote a full song, an upcoming livestream, or an email sign-up offer. Focus on hooks in the first two seconds, strong audio choices, and clear prompts to take the next step.
\nReplace vanity metrics with signals that indicate true growth.
\nHere is a simple 2-week schedule you can adapt.
\nThink of a viral moment as fuel, not the engine. It can accelerate growth, but only a reliable engine will take you the distance.\n
If a clip does break out, have systems ready to convert that attention. Pin a welcome video or link in your bio, guide visitors to your latest release, and invite them to join an email list or a subscriber community. These steps help turn a spike into sustained opportunity.
\nChasing virality is emotionally tempting and occasionally rewarding. For most independent musicians, however, it is not a sustainable strategy. Invest in clarity about who your music is for, choose repeatable content pillars, post consistently, and measure the signals that matter. Over time, those choices lead to a loyal audience, repeat streams, and reliable income.
\nKeywords: content strategy, virality, audience growth, Shorts, consistency, evergreen content, engagement rate, creator economy
"}],"max_tokens":1024,"response_format":{"type":"json_schema","json_schema":{"slide_1":"string","slide_2":"string","slide_3":"string","slide_4":"string","slide_5":"string","slide_6":"string","slide_7":"string","slide_8":"string","slide_9":"string","type":"object","required":["slide_1","slide_2","slide_3","slide_4","slide_5","slide_6","slide_7","slide_8","slide_9"],"properties":{"slide_1":{"type":"string","maxLength":100},"slide_2":{"type":"string","maxLength":200},"slide_3":{"type":"string","maxLength":200},"slide_4":{"type":"string","maxLength":200},"slide_5":{"type":"string","maxLength":200},"slide_6":{"type":"string","maxLength":200},"slide_7":{"type":"string","maxLength":200},"slide_8":{"type":"string","maxLength":200},"slide_9":{"type":"string","maxLength":200}}}}}' }; try { const response = await fetch(url, options); const data = await response.json(); console.log(data); } catch (error) { console.error(error); } ``` ```go package main import ( "fmt" "strings" "net/http" "io" ) func main() { url := "https://graph.facebook.com/client/v4/accounts/84160857b012477f501ba7dea513f89e/ai/v1/chat/completions" payload := strings.NewReader("{\n \"model\": \"@cf/meta/llama-3.1-8b-instruct\",\n \"messages\": [\n {\n \"role\": \"system\",\n \"content\": \"You are a creative social media strategist specialized in Instagram carousel posts. Your job is to transform blog posts into a 9-slide carousel narrative that feels natural, engaging, and human — not like a structured report. NARRATIVE STRUCTURE (flexible, not rigid): - Slide 1: Always a strong hook — a question, a bold statement, a surprising fact, or a provocative idea that stops the scroll. - Slides 2–7: Development — unpack the idea progressively. Each slide should feel like it naturally leads to the next, like a conversation or a story unfolding. Vary the tone: some slides can be factual, others emotional, others a quick insight or contrast. - Slides 8–9: Closing — read the content and decide organically what fits best: - If the content is inspirational → end with a reflective thought or motivational idea. - If the content promotes something → end with a subtle or direct CTA. - If the content is educational → end with a key takeaway or a \\\"now you know\\\" moment. - If the content tells a story → end with an open question or a powerful final line.- Never force a ]\\\"Conclusion:\\\" label. Just write it as if a person would naturally close the thought. WRITING RULES: - Maximum 100 characters per slide. - Write in the same language as the blog post. - No hashtags, no emojis unless they genuinely add punch. - Avoid corporate or robotic language — write like a smart human, not an AI. - Each slide must be self-contained enough to be read alone, but connected enough to make sense as a sequence. - Vary sentence structure: sometimes short and punchy, sometimes a complete thought. Respond only in valid JSON.\"\n },\n {\n \"role\": \"user\",\n \"content\": \"Blog post:Every day an artist watches one post explode and wonders why the same cannot happen to them. Viral moments can feel like a shortcut to success. The reality is different. For musicians building a career, viral spikes are unpredictable and often fleeting. This post explains why virality should not be your primary goal, and it gives practical steps to build steady audience growth, stronger fan relationships, and more reliable income.
\\nVirality feels glamorous because it delivers big numbers fast. The attention rush can result in streams, follows, and messages overnight. But the numbers alone do not always translate into sustainable careers. Many viral posts generate a momentary burst of attention that disappears within days. That spike does not necessarily create a returning audience, nor does it automatically produce meaningful revenue.
\\nThere are several reasons a viral post is not a dependable strategy.
\\nShift the goal from chasing a moment to building momentum. Focus on metrics and activities that predict long-term success.
\\nHere are concrete steps to build an audience without relying on virality.
\\nChoose 3 to 5 content pillars that reflect your music and personality. Examples include behind-the-scenes studio clips, short song snippets, songwriting tips, fan reactions, and live performance teasers. Pillars make planning faster and keep your audience’s expectations consistent.
\\nRegular publishing trains an algorithm and your audience. For short-form platforms, aim for a steady rhythm, such as 3 to 5 short uploads per week, while maintaining quality. For long-form releases and full songs, keep a predictable calendar so fans know when to return.
\\nTurn one idea into multiple pieces. A rehearsal clip becomes a Short, an Instagram Reel, a TikTok, and a 60-second behind-the-scenes story. Reusing the same core moment helps you reach different audiences without doubling your workload.
\\nShorts and Reels can drive discovery, but they work best when they feed fans to a deeper experience. Use short clips to promote a full song, an upcoming livestream, or an email sign-up offer. Focus on hooks in the first two seconds, strong audio choices, and clear prompts to take the next step.
\\nReplace vanity metrics with signals that indicate true growth.
\\nHere is a simple 2-week schedule you can adapt.
\\nThink of a viral moment as fuel, not the engine. It can accelerate growth, but only a reliable engine will take you the distance.\\n
If a clip does break out, have systems ready to convert that attention. Pin a welcome video or link in your bio, guide visitors to your latest release, and invite them to join an email list or a subscriber community. These steps help turn a spike into sustained opportunity.
\\nChasing virality is emotionally tempting and occasionally rewarding. For most independent musicians, however, it is not a sustainable strategy. Invest in clarity about who your music is for, choose repeatable content pillars, post consistently, and measure the signals that matter. Over time, those choices lead to a loyal audience, repeat streams, and reliable income.
\\nKeywords: content strategy, virality, audience growth, Shorts, consistency, evergreen content, engagement rate, creator economy
\"\n }\n ],\n \"max_tokens\": 1024,\n \"response_format\": {\n \"type\": \"json_schema\",\n \"json_schema\": {\n \"slide_1\": \"string\",\n \"slide_2\": \"string\",\n \"slide_3\": \"string\",\n \"slide_4\": \"string\",\n \"slide_5\": \"string\",\n \"slide_6\": \"string\",\n \"slide_7\": \"string\",\n \"slide_8\": \"string\",\n \"slide_9\": \"string\",\n \"type\": \"object\",\n \"required\": [\n \"slide_1\",\n \"slide_2\",\n \"slide_3\",\n \"slide_4\",\n \"slide_5\",\n \"slide_6\",\n \"slide_7\",\n \"slide_8\",\n \"slide_9\"\n ],\n \"properties\": {\n \"slide_1\": {\n \"type\": \"string\",\n \"maxLength\": 100\n },\n \"slide_2\": {\n \"type\": \"string\",\n \"maxLength\": 200\n },\n \"slide_3\": {\n \"type\": \"string\",\n \"maxLength\": 200\n },\n \"slide_4\": {\n \"type\": \"string\",\n \"maxLength\": 200\n },\n \"slide_5\": {\n \"type\": \"string\",\n \"maxLength\": 200\n },\n \"slide_6\": {\n \"type\": \"string\",\n \"maxLength\": 200\n },\n \"slide_7\": {\n \"type\": \"string\",\n \"maxLength\": 200\n },\n \"slide_8\": {\n \"type\": \"string\",\n \"maxLength\": 200\n },\n \"slide_9\": {\n \"type\": \"string\",\n \"maxLength\": 200\n }\n }\n }\n }\n}") req, _ := http.NewRequest("POST", url, payload) req.Header.Add("Content-Type", "application/json") res, _ := http.DefaultClient.Do(req) defer res.Body.Close() body, _ := io.ReadAll(res.Body) fmt.Println(res) fmt.Println(string(body)) } ``` ```ruby require 'uri' require 'net/http' url = URI("https://graph.facebook.com/client/v4/accounts/84160857b012477f501ba7dea513f89e/ai/v1/chat/completions") http = Net::HTTP.new(url.host, url.port) http.use_ssl = true request = Net::HTTP::Post.new(url) request["Content-Type"] = 'application/json' request.body = "{\n \"model\": \"@cf/meta/llama-3.1-8b-instruct\",\n \"messages\": [\n {\n \"role\": \"system\",\n \"content\": \"You are a creative social media strategist specialized in Instagram carousel posts. Your job is to transform blog posts into a 9-slide carousel narrative that feels natural, engaging, and human — not like a structured report. NARRATIVE STRUCTURE (flexible, not rigid): - Slide 1: Always a strong hook — a question, a bold statement, a surprising fact, or a provocative idea that stops the scroll. - Slides 2–7: Development — unpack the idea progressively. Each slide should feel like it naturally leads to the next, like a conversation or a story unfolding. Vary the tone: some slides can be factual, others emotional, others a quick insight or contrast. - Slides 8–9: Closing — read the content and decide organically what fits best: - If the content is inspirational → end with a reflective thought or motivational idea. - If the content promotes something → end with a subtle or direct CTA. - If the content is educational → end with a key takeaway or a \\\"now you know\\\" moment. - If the content tells a story → end with an open question or a powerful final line.- Never force a ]\\\"Conclusion:\\\" label. Just write it as if a person would naturally close the thought. WRITING RULES: - Maximum 100 characters per slide. - Write in the same language as the blog post. - No hashtags, no emojis unless they genuinely add punch. - Avoid corporate or robotic language — write like a smart human, not an AI. - Each slide must be self-contained enough to be read alone, but connected enough to make sense as a sequence. - Vary sentence structure: sometimes short and punchy, sometimes a complete thought. Respond only in valid JSON.\"\n },\n {\n \"role\": \"user\",\n \"content\": \"Blog post:Every day an artist watches one post explode and wonders why the same cannot happen to them. Viral moments can feel like a shortcut to success. The reality is different. For musicians building a career, viral spikes are unpredictable and often fleeting. This post explains why virality should not be your primary goal, and it gives practical steps to build steady audience growth, stronger fan relationships, and more reliable income.
\\nVirality feels glamorous because it delivers big numbers fast. The attention rush can result in streams, follows, and messages overnight. But the numbers alone do not always translate into sustainable careers. Many viral posts generate a momentary burst of attention that disappears within days. That spike does not necessarily create a returning audience, nor does it automatically produce meaningful revenue.
\\nThere are several reasons a viral post is not a dependable strategy.
\\nShift the goal from chasing a moment to building momentum. Focus on metrics and activities that predict long-term success.
\\nHere are concrete steps to build an audience without relying on virality.
\\nChoose 3 to 5 content pillars that reflect your music and personality. Examples include behind-the-scenes studio clips, short song snippets, songwriting tips, fan reactions, and live performance teasers. Pillars make planning faster and keep your audience’s expectations consistent.
\\nRegular publishing trains an algorithm and your audience. For short-form platforms, aim for a steady rhythm, such as 3 to 5 short uploads per week, while maintaining quality. For long-form releases and full songs, keep a predictable calendar so fans know when to return.
\\nTurn one idea into multiple pieces. A rehearsal clip becomes a Short, an Instagram Reel, a TikTok, and a 60-second behind-the-scenes story. Reusing the same core moment helps you reach different audiences without doubling your workload.
\\nShorts and Reels can drive discovery, but they work best when they feed fans to a deeper experience. Use short clips to promote a full song, an upcoming livestream, or an email sign-up offer. Focus on hooks in the first two seconds, strong audio choices, and clear prompts to take the next step.
\\nReplace vanity metrics with signals that indicate true growth.
\\nHere is a simple 2-week schedule you can adapt.
\\nThink of a viral moment as fuel, not the engine. It can accelerate growth, but only a reliable engine will take you the distance.\\n
If a clip does break out, have systems ready to convert that attention. Pin a welcome video or link in your bio, guide visitors to your latest release, and invite them to join an email list or a subscriber community. These steps help turn a spike into sustained opportunity.
\\nChasing virality is emotionally tempting and occasionally rewarding. For most independent musicians, however, it is not a sustainable strategy. Invest in clarity about who your music is for, choose repeatable content pillars, post consistently, and measure the signals that matter. Over time, those choices lead to a loyal audience, repeat streams, and reliable income.
\\nKeywords: content strategy, virality, audience growth, Shorts, consistency, evergreen content, engagement rate, creator economy
\"\n }\n ],\n \"max_tokens\": 1024,\n \"response_format\": {\n \"type\": \"json_schema\",\n \"json_schema\": {\n \"slide_1\": \"string\",\n \"slide_2\": \"string\",\n \"slide_3\": \"string\",\n \"slide_4\": \"string\",\n \"slide_5\": \"string\",\n \"slide_6\": \"string\",\n \"slide_7\": \"string\",\n \"slide_8\": \"string\",\n \"slide_9\": \"string\",\n \"type\": \"object\",\n \"required\": [\n \"slide_1\",\n \"slide_2\",\n \"slide_3\",\n \"slide_4\",\n \"slide_5\",\n \"slide_6\",\n \"slide_7\",\n \"slide_8\",\n \"slide_9\"\n ],\n \"properties\": {\n \"slide_1\": {\n \"type\": \"string\",\n \"maxLength\": 100\n },\n \"slide_2\": {\n \"type\": \"string\",\n \"maxLength\": 200\n },\n \"slide_3\": {\n \"type\": \"string\",\n \"maxLength\": 200\n },\n \"slide_4\": {\n \"type\": \"string\",\n \"maxLength\": 200\n },\n \"slide_5\": {\n \"type\": \"string\",\n \"maxLength\": 200\n },\n \"slide_6\": {\n \"type\": \"string\",\n \"maxLength\": 200\n },\n \"slide_7\": {\n \"type\": \"string\",\n \"maxLength\": 200\n },\n \"slide_8\": {\n \"type\": \"string\",\n \"maxLength\": 200\n },\n \"slide_9\": {\n \"type\": \"string\",\n \"maxLength\": 200\n }\n }\n }\n }\n}" response = http.request(request) puts response.read_body ``` ```java import com.mashape.unirest.http.HttpResponse; import com.mashape.unirest.http.Unirest; HttpResponseEvery day an artist watches one post explode and wonders why the same cannot happen to them. Viral moments can feel like a shortcut to success. The reality is different. For musicians building a career, viral spikes are unpredictable and often fleeting. This post explains why virality should not be your primary goal, and it gives practical steps to build steady audience growth, stronger fan relationships, and more reliable income.
\\nVirality feels glamorous because it delivers big numbers fast. The attention rush can result in streams, follows, and messages overnight. But the numbers alone do not always translate into sustainable careers. Many viral posts generate a momentary burst of attention that disappears within days. That spike does not necessarily create a returning audience, nor does it automatically produce meaningful revenue.
\\nThere are several reasons a viral post is not a dependable strategy.
\\nShift the goal from chasing a moment to building momentum. Focus on metrics and activities that predict long-term success.
\\nHere are concrete steps to build an audience without relying on virality.
\\nChoose 3 to 5 content pillars that reflect your music and personality. Examples include behind-the-scenes studio clips, short song snippets, songwriting tips, fan reactions, and live performance teasers. Pillars make planning faster and keep your audience’s expectations consistent.
\\nRegular publishing trains an algorithm and your audience. For short-form platforms, aim for a steady rhythm, such as 3 to 5 short uploads per week, while maintaining quality. For long-form releases and full songs, keep a predictable calendar so fans know when to return.
\\nTurn one idea into multiple pieces. A rehearsal clip becomes a Short, an Instagram Reel, a TikTok, and a 60-second behind-the-scenes story. Reusing the same core moment helps you reach different audiences without doubling your workload.
\\nShorts and Reels can drive discovery, but they work best when they feed fans to a deeper experience. Use short clips to promote a full song, an upcoming livestream, or an email sign-up offer. Focus on hooks in the first two seconds, strong audio choices, and clear prompts to take the next step.
\\nReplace vanity metrics with signals that indicate true growth.
\\nHere is a simple 2-week schedule you can adapt.
\\nThink of a viral moment as fuel, not the engine. It can accelerate growth, but only a reliable engine will take you the distance.\\n
If a clip does break out, have systems ready to convert that attention. Pin a welcome video or link in your bio, guide visitors to your latest release, and invite them to join an email list or a subscriber community. These steps help turn a spike into sustained opportunity.
\\nChasing virality is emotionally tempting and occasionally rewarding. For most independent musicians, however, it is not a sustainable strategy. Invest in clarity about who your music is for, choose repeatable content pillars, post consistently, and measure the signals that matter. Over time, those choices lead to a loyal audience, repeat streams, and reliable income.
\\nKeywords: content strategy, virality, audience growth, Shorts, consistency, evergreen content, engagement rate, creator economy
\"\n }\n ],\n \"max_tokens\": 1024,\n \"response_format\": {\n \"type\": \"json_schema\",\n \"json_schema\": {\n \"slide_1\": \"string\",\n \"slide_2\": \"string\",\n \"slide_3\": \"string\",\n \"slide_4\": \"string\",\n \"slide_5\": \"string\",\n \"slide_6\": \"string\",\n \"slide_7\": \"string\",\n \"slide_8\": \"string\",\n \"slide_9\": \"string\",\n \"type\": \"object\",\n \"required\": [\n \"slide_1\",\n \"slide_2\",\n \"slide_3\",\n \"slide_4\",\n \"slide_5\",\n \"slide_6\",\n \"slide_7\",\n \"slide_8\",\n \"slide_9\"\n ],\n \"properties\": {\n \"slide_1\": {\n \"type\": \"string\",\n \"maxLength\": 100\n },\n \"slide_2\": {\n \"type\": \"string\",\n \"maxLength\": 200\n },\n \"slide_3\": {\n \"type\": \"string\",\n \"maxLength\": 200\n },\n \"slide_4\": {\n \"type\": \"string\",\n \"maxLength\": 200\n },\n \"slide_5\": {\n \"type\": \"string\",\n \"maxLength\": 200\n },\n \"slide_6\": {\n \"type\": \"string\",\n \"maxLength\": 200\n },\n \"slide_7\": {\n \"type\": \"string\",\n \"maxLength\": 200\n },\n \"slide_8\": {\n \"type\": \"string\",\n \"maxLength\": 200\n },\n \"slide_9\": {\n \"type\": \"string\",\n \"maxLength\": 200\n }\n }\n }\n }\n}") .asString(); ``` ```php request('POST', 'https://graph.facebook.com/client/v4/accounts/84160857b012477f501ba7dea513f89e/ai/v1/chat/completions', [ 'body' => '{ "model": "@cf/meta/llama-3.1-8b-instruct", "messages": [ { "role": "system", "content": "You are a creative social media strategist specialized in Instagram carousel posts. Your job is to transform blog posts into a 9-slide carousel narrative that feels natural, engaging, and human — not like a structured report. NARRATIVE STRUCTURE (flexible, not rigid): - Slide 1: Always a strong hook — a question, a bold statement, a surprising fact, or a provocative idea that stops the scroll. - Slides 2–7: Development — unpack the idea progressively. Each slide should feel like it naturally leads to the next, like a conversation or a story unfolding. Vary the tone: some slides can be factual, others emotional, others a quick insight or contrast. - Slides 8–9: Closing — read the content and decide organically what fits best: - If the content is inspirational → end with a reflective thought or motivational idea. - If the content promotes something → end with a subtle or direct CTA. - If the content is educational → end with a key takeaway or a \\"now you know\\" moment. - If the content tells a story → end with an open question or a powerful final line.- Never force a ]\\"Conclusion:\\" label. Just write it as if a person would naturally close the thought. WRITING RULES: - Maximum 100 characters per slide. - Write in the same language as the blog post. - No hashtags, no emojis unless they genuinely add punch. - Avoid corporate or robotic language — write like a smart human, not an AI. - Each slide must be self-contained enough to be read alone, but connected enough to make sense as a sequence. - Vary sentence structure: sometimes short and punchy, sometimes a complete thought. Respond only in valid JSON." }, { "role": "user", "content": "Blog post:Every day an artist watches one post explode and wonders why the same cannot happen to them. Viral moments can feel like a shortcut to success. The reality is different. For musicians building a career, viral spikes are unpredictable and often fleeting. This post explains why virality should not be your primary goal, and it gives practical steps to build steady audience growth, stronger fan relationships, and more reliable income.
\\nVirality feels glamorous because it delivers big numbers fast. The attention rush can result in streams, follows, and messages overnight. But the numbers alone do not always translate into sustainable careers. Many viral posts generate a momentary burst of attention that disappears within days. That spike does not necessarily create a returning audience, nor does it automatically produce meaningful revenue.
\\nThere are several reasons a viral post is not a dependable strategy.
\\nShift the goal from chasing a moment to building momentum. Focus on metrics and activities that predict long-term success.
\\nHere are concrete steps to build an audience without relying on virality.
\\nChoose 3 to 5 content pillars that reflect your music and personality. Examples include behind-the-scenes studio clips, short song snippets, songwriting tips, fan reactions, and live performance teasers. Pillars make planning faster and keep your audience’s expectations consistent.
\\nRegular publishing trains an algorithm and your audience. For short-form platforms, aim for a steady rhythm, such as 3 to 5 short uploads per week, while maintaining quality. For long-form releases and full songs, keep a predictable calendar so fans know when to return.
\\nTurn one idea into multiple pieces. A rehearsal clip becomes a Short, an Instagram Reel, a TikTok, and a 60-second behind-the-scenes story. Reusing the same core moment helps you reach different audiences without doubling your workload.
\\nShorts and Reels can drive discovery, but they work best when they feed fans to a deeper experience. Use short clips to promote a full song, an upcoming livestream, or an email sign-up offer. Focus on hooks in the first two seconds, strong audio choices, and clear prompts to take the next step.
\\nReplace vanity metrics with signals that indicate true growth.
\\nHere is a simple 2-week schedule you can adapt.
\\nThink of a viral moment as fuel, not the engine. It can accelerate growth, but only a reliable engine will take you the distance.\\n
If a clip does break out, have systems ready to convert that attention. Pin a welcome video or link in your bio, guide visitors to your latest release, and invite them to join an email list or a subscriber community. These steps help turn a spike into sustained opportunity.
\\nChasing virality is emotionally tempting and occasionally rewarding. For most independent musicians, however, it is not a sustainable strategy. Invest in clarity about who your music is for, choose repeatable content pillars, post consistently, and measure the signals that matter. Over time, those choices lead to a loyal audience, repeat streams, and reliable income.
\\nKeywords: content strategy, virality, audience growth, Shorts, consistency, evergreen content, engagement rate, creator economy
" } ], "max_tokens": 1024, "response_format": { "type": "json_schema", "json_schema": { "slide_1": "string", "slide_2": "string", "slide_3": "string", "slide_4": "string", "slide_5": "string", "slide_6": "string", "slide_7": "string", "slide_8": "string", "slide_9": "string", "type": "object", "required": [ "slide_1", "slide_2", "slide_3", "slide_4", "slide_5", "slide_6", "slide_7", "slide_8", "slide_9" ], "properties": { "slide_1": { "type": "string", "maxLength": 100 }, "slide_2": { "type": "string", "maxLength": 200 }, "slide_3": { "type": "string", "maxLength": 200 }, "slide_4": { "type": "string", "maxLength": 200 }, "slide_5": { "type": "string", "maxLength": 200 }, "slide_6": { "type": "string", "maxLength": 200 }, "slide_7": { "type": "string", "maxLength": 200 }, "slide_8": { "type": "string", "maxLength": 200 }, "slide_9": { "type": "string", "maxLength": 200 } } } } }', 'headers' => [ 'Content-Type' => 'application/json', ], ]); echo $response->getBody(); ``` ```csharp using RestSharp; var client = new RestClient("https://graph.facebook.com/client/v4/accounts/84160857b012477f501ba7dea513f89e/ai/v1/chat/completions"); var request = new RestRequest(Method.POST); request.AddHeader("Content-Type", "application/json"); request.AddParameter("application/json", "{\n \"model\": \"@cf/meta/llama-3.1-8b-instruct\",\n \"messages\": [\n {\n \"role\": \"system\",\n \"content\": \"You are a creative social media strategist specialized in Instagram carousel posts. Your job is to transform blog posts into a 9-slide carousel narrative that feels natural, engaging, and human — not like a structured report. NARRATIVE STRUCTURE (flexible, not rigid): - Slide 1: Always a strong hook — a question, a bold statement, a surprising fact, or a provocative idea that stops the scroll. - Slides 2–7: Development — unpack the idea progressively. Each slide should feel like it naturally leads to the next, like a conversation or a story unfolding. Vary the tone: some slides can be factual, others emotional, others a quick insight or contrast. - Slides 8–9: Closing — read the content and decide organically what fits best: - If the content is inspirational → end with a reflective thought or motivational idea. - If the content promotes something → end with a subtle or direct CTA. - If the content is educational → end with a key takeaway or a \\\"now you know\\\" moment. - If the content tells a story → end with an open question or a powerful final line.- Never force a ]\\\"Conclusion:\\\" label. Just write it as if a person would naturally close the thought. WRITING RULES: - Maximum 100 characters per slide. - Write in the same language as the blog post. - No hashtags, no emojis unless they genuinely add punch. - Avoid corporate or robotic language — write like a smart human, not an AI. - Each slide must be self-contained enough to be read alone, but connected enough to make sense as a sequence. - Vary sentence structure: sometimes short and punchy, sometimes a complete thought. Respond only in valid JSON.\"\n },\n {\n \"role\": \"user\",\n \"content\": \"Blog post:Every day an artist watches one post explode and wonders why the same cannot happen to them. Viral moments can feel like a shortcut to success. The reality is different. For musicians building a career, viral spikes are unpredictable and often fleeting. This post explains why virality should not be your primary goal, and it gives practical steps to build steady audience growth, stronger fan relationships, and more reliable income.
\\nVirality feels glamorous because it delivers big numbers fast. The attention rush can result in streams, follows, and messages overnight. But the numbers alone do not always translate into sustainable careers. Many viral posts generate a momentary burst of attention that disappears within days. That spike does not necessarily create a returning audience, nor does it automatically produce meaningful revenue.
\\nThere are several reasons a viral post is not a dependable strategy.
\\nShift the goal from chasing a moment to building momentum. Focus on metrics and activities that predict long-term success.
\\nHere are concrete steps to build an audience without relying on virality.
\\nChoose 3 to 5 content pillars that reflect your music and personality. Examples include behind-the-scenes studio clips, short song snippets, songwriting tips, fan reactions, and live performance teasers. Pillars make planning faster and keep your audience’s expectations consistent.
\\nRegular publishing trains an algorithm and your audience. For short-form platforms, aim for a steady rhythm, such as 3 to 5 short uploads per week, while maintaining quality. For long-form releases and full songs, keep a predictable calendar so fans know when to return.
\\nTurn one idea into multiple pieces. A rehearsal clip becomes a Short, an Instagram Reel, a TikTok, and a 60-second behind-the-scenes story. Reusing the same core moment helps you reach different audiences without doubling your workload.
\\nShorts and Reels can drive discovery, but they work best when they feed fans to a deeper experience. Use short clips to promote a full song, an upcoming livestream, or an email sign-up offer. Focus on hooks in the first two seconds, strong audio choices, and clear prompts to take the next step.
\\nReplace vanity metrics with signals that indicate true growth.
\\nHere is a simple 2-week schedule you can adapt.
\\nThink of a viral moment as fuel, not the engine. It can accelerate growth, but only a reliable engine will take you the distance.\\n
If a clip does break out, have systems ready to convert that attention. Pin a welcome video or link in your bio, guide visitors to your latest release, and invite them to join an email list or a subscriber community. These steps help turn a spike into sustained opportunity.
\\nChasing virality is emotionally tempting and occasionally rewarding. For most independent musicians, however, it is not a sustainable strategy. Invest in clarity about who your music is for, choose repeatable content pillars, post consistently, and measure the signals that matter. Over time, those choices lead to a loyal audience, repeat streams, and reliable income.
\\nKeywords: content strategy, virality, audience growth, Shorts, consistency, evergreen content, engagement rate, creator economy
\"\n }\n ],\n \"max_tokens\": 1024,\n \"response_format\": {\n \"type\": \"json_schema\",\n \"json_schema\": {\n \"slide_1\": \"string\",\n \"slide_2\": \"string\",\n \"slide_3\": \"string\",\n \"slide_4\": \"string\",\n \"slide_5\": \"string\",\n \"slide_6\": \"string\",\n \"slide_7\": \"string\",\n \"slide_8\": \"string\",\n \"slide_9\": \"string\",\n \"type\": \"object\",\n \"required\": [\n \"slide_1\",\n \"slide_2\",\n \"slide_3\",\n \"slide_4\",\n \"slide_5\",\n \"slide_6\",\n \"slide_7\",\n \"slide_8\",\n \"slide_9\"\n ],\n \"properties\": {\n \"slide_1\": {\n \"type\": \"string\",\n \"maxLength\": 100\n },\n \"slide_2\": {\n \"type\": \"string\",\n \"maxLength\": 200\n },\n \"slide_3\": {\n \"type\": \"string\",\n \"maxLength\": 200\n },\n \"slide_4\": {\n \"type\": \"string\",\n \"maxLength\": 200\n },\n \"slide_5\": {\n \"type\": \"string\",\n \"maxLength\": 200\n },\n \"slide_6\": {\n \"type\": \"string\",\n \"maxLength\": 200\n },\n \"slide_7\": {\n \"type\": \"string\",\n \"maxLength\": 200\n },\n \"slide_8\": {\n \"type\": \"string\",\n \"maxLength\": 200\n },\n \"slide_9\": {\n \"type\": \"string\",\n \"maxLength\": 200\n }\n }\n }\n }\n}", ParameterType.RequestBody); IRestResponse response = client.Execute(request); ``` ```swift import Foundation let headers = ["Content-Type": "application/json"] let parameters = [ "model": "@cf/meta/llama-3.1-8b-instruct", "messages": [ [ "role": "system", "content": "You are a creative social media strategist specialized in Instagram carousel posts. Your job is to transform blog posts into a 9-slide carousel narrative that feels natural, engaging, and human — not like a structured report. NARRATIVE STRUCTURE (flexible, not rigid): - Slide 1: Always a strong hook — a question, a bold statement, a surprising fact, or a provocative idea that stops the scroll. - Slides 2–7: Development — unpack the idea progressively. Each slide should feel like it naturally leads to the next, like a conversation or a story unfolding. Vary the tone: some slides can be factual, others emotional, others a quick insight or contrast. - Slides 8–9: Closing — read the content and decide organically what fits best: - If the content is inspirational → end with a reflective thought or motivational idea. - If the content promotes something → end with a subtle or direct CTA. - If the content is educational → end with a key takeaway or a \"now you know\" moment. - If the content tells a story → end with an open question or a powerful final line.- Never force a ]\"Conclusion:\" label. Just write it as if a person would naturally close the thought. WRITING RULES: - Maximum 100 characters per slide. - Write in the same language as the blog post. - No hashtags, no emojis unless they genuinely add punch. - Avoid corporate or robotic language — write like a smart human, not an AI. - Each slide must be self-contained enough to be read alone, but connected enough to make sense as a sequence. - Vary sentence structure: sometimes short and punchy, sometimes a complete thought. Respond only in valid JSON." ], [ "role": "user", "content": "Blog post:Every day an artist watches one post explode and wonders why the same cannot happen to them. Viral moments can feel like a shortcut to success. The reality is different. For musicians building a career, viral spikes are unpredictable and often fleeting. This post explains why virality should not be your primary goal, and it gives practical steps to build steady audience growth, stronger fan relationships, and more reliable income.
Virality feels glamorous because it delivers big numbers fast. The attention rush can result in streams, follows, and messages overnight. But the numbers alone do not always translate into sustainable careers. Many viral posts generate a momentary burst of attention that disappears within days. That spike does not necessarily create a returning audience, nor does it automatically produce meaningful revenue.
There are several reasons a viral post is not a dependable strategy.
Shift the goal from chasing a moment to building momentum. Focus on metrics and activities that predict long-term success.
Here are concrete steps to build an audience without relying on virality.
Choose 3 to 5 content pillars that reflect your music and personality. Examples include behind-the-scenes studio clips, short song snippets, songwriting tips, fan reactions, and live performance teasers. Pillars make planning faster and keep your audience’s expectations consistent.
Regular publishing trains an algorithm and your audience. For short-form platforms, aim for a steady rhythm, such as 3 to 5 short uploads per week, while maintaining quality. For long-form releases and full songs, keep a predictable calendar so fans know when to return.
Turn one idea into multiple pieces. A rehearsal clip becomes a Short, an Instagram Reel, a TikTok, and a 60-second behind-the-scenes story. Reusing the same core moment helps you reach different audiences without doubling your workload.
Shorts and Reels can drive discovery, but they work best when they feed fans to a deeper experience. Use short clips to promote a full song, an upcoming livestream, or an email sign-up offer. Focus on hooks in the first two seconds, strong audio choices, and clear prompts to take the next step.
Replace vanity metrics with signals that indicate true growth.
Here is a simple 2-week schedule you can adapt.
Think of a viral moment as fuel, not the engine. It can accelerate growth, but only a reliable engine will take you the distance.
If a clip does break out, have systems ready to convert that attention. Pin a welcome video or link in your bio, guide visitors to your latest release, and invite them to join an email list or a subscriber community. These steps help turn a spike into sustained opportunity.
Chasing virality is emotionally tempting and occasionally rewarding. For most independent musicians, however, it is not a sustainable strategy. Invest in clarity about who your music is for, choose repeatable content pillars, post consistently, and measure the signals that matter. Over time, those choices lead to a loyal audience, repeat streams, and reliable income.
Keywords: content strategy, virality, audience growth, Shorts, consistency, evergreen content, engagement rate, creator economy
" ] ], "max_tokens": 1024, "response_format": [ "type": "json_schema", "json_schema": [ "slide_1": "string", "slide_2": "string", "slide_3": "string", "slide_4": "string", "slide_5": "string", "slide_6": "string", "slide_7": "string", "slide_8": "string", "slide_9": "string", "type": "object", "required": ["slide_1", "slide_2", "slide_3", "slide_4", "slide_5", "slide_6", "slide_7", "slide_8", "slide_9"], "properties": [ "slide_1": [ "type": "string", "maxLength": 100 ], "slide_2": [ "type": "string", "maxLength": 200 ], "slide_3": [ "type": "string", "maxLength": 200 ], "slide_4": [ "type": "string", "maxLength": 200 ], "slide_5": [ "type": "string", "maxLength": 200 ], "slide_6": [ "type": "string", "maxLength": 200 ], "slide_7": [ "type": "string", "maxLength": 200 ], "slide_8": [ "type": "string", "maxLength": 200 ], "slide_9": [ "type": "string", "maxLength": 200 ] ] ] ] ] as [String : Any] let postData = JSONSerialization.data(withJSONObject: parameters, options: []) let request = NSMutableURLRequest(url: NSURL(string: "https://graph.facebook.com/client/v4/accounts/84160857b012477f501ba7dea513f89e/ai/v1/chat/completions")! as URL, cachePolicy: .useProtocolCachePolicy, timeoutInterval: 10.0) request.httpMethod = "POST" request.allHTTPHeaderFields = headers request.httpBody = postData as Data let session = URLSession.shared let dataTask = session.dataTask(with: request as URLRequest, completionHandler: { (data, response, error) -> Void in if (error != nil) { print(error as Any) } else { let httpResponse = response as? HTTPURLResponse print(httpResponse) } }) dataTask.resume() ```