Stage an Instagram post — create its media container
instagram.instagram.media.container.createStage an Instagram post by creating the media container it will be published from
- Price
- freeAu prix du fournisseur
- Success rate
- —Aucune donnée de taux de réussite pour le momentAucune donnée de taux de réussite pour le moment
- Latency p50
- ——
- Last verified
- —Not verified yet
POSThttps://toolswitch.dev/v1/tools/instagram.instagram.media.container.createPreview- Uses platform quota
- Synchronous response
- Reads public data
Paramètres
step 1 of the publish flow. Needs instagram_content_publish (treg's `post` capability — a `read` connection 403s here) and returns {id: <container id>}. A VIDEO container is not ready when this returns: poll instagram.media.container.status until status_code is FINISHED before publishing, or the publish call fails. Stories have no carousel — publish each story as its own container
| Paramètre | Type | Obligatoire | Description | Exemple |
|---|---|---|---|---|
| Paramètres de chemin | ||||
ig_user_id | chaîne | Obligatoire | numeric Instagram professional account id — the same one instagram.user.profile takes | 17841400000000000 |
| Paramètres de requête | ||||
caption | chaîne | Facultatif | up to 2,200 characters and 30 hashtags. On a carousel the caption belongs on the PARENT container — set it on a child and the post publishes captionless | Three things we learned this week. |
children | chaîne | Facultatif | CAROUSEL parent only: comma-separated child container ids, 2 to 10 of them, in display order | 17890000000000001,17890000000000002 |
image_url | chaîne | Facultatif | public JPEG URL. Use this OR video_url, never both | https://example.com/photo.jpg |
video_url | chaîne | Facultatif | public MP4 URL | https://example.com/clip.mp4 |
media_type | chaîne | Facultatif | omit for a plain feed image; REELS for a video in the feed, STORIES for a 24-hour story, CAROUSEL for the parent container that groups children | REELS |
location_id | chaîne | Facultatif | a Facebook Page id that has a location | |
thumb_offset | entier | Facultatif | video only — milliseconds into the clip to take the cover frame from | 0 |
collaborators | chaîne | Facultatif | JSON array of @handles invited as collaborators; not allowed on stories | |
is_carousel_item | booléen | Facultatif | true on each child container of a carousel; children carry no caption and are never published on their own | true |
- Paramètres de chemin
ig_user_idchaîneObligatoirenumeric Instagram professional account id — the same one instagram.user.profile takes
Exemple :
17841400000000000- Paramètres de requête
captionchaîneFacultatifup to 2,200 characters and 30 hashtags. On a carousel the caption belongs on the PARENT container — set it on a child and the post publishes captionless
Exemple :
Three things we learned this week.childrenchaîneFacultatifCAROUSEL parent only: comma-separated child container ids, 2 to 10 of them, in display order
Exemple :
17890000000000001,17890000000000002image_urlchaîneFacultatifpublic JPEG URL. Use this OR video_url, never both
Exemple :
https://example.com/photo.jpgvideo_urlchaîneFacultatifpublic MP4 URL
Exemple :
https://example.com/clip.mp4media_typechaîneFacultatifomit for a plain feed image; REELS for a video in the feed, STORIES for a 24-hour story, CAROUSEL for the parent container that groups children
Exemple :
REELSlocation_idchaîneFacultatifa Facebook Page id that has a location
thumb_offsetentierFacultatifvideo only — milliseconds into the clip to take the cover frame from
Exemple :
0collaboratorschaîneFacultatifJSON array of @handles invited as collaborators; not allowed on stories
is_carousel_itembooléenFacultatiftrue on each child container of a carousel; children carry no caption and are never published on their own
Exemple :
true
Exemples de code
Remplacez $TOOLSWITCH_KEY par la clé créée dans la console.
curl -X POST 'https://toolswitch.dev/v1/tools/instagram.instagram.media.container.create' \
-H "X-Toolswitch-Key: $TOOLSWITCH_KEY"import os
import requests
response = requests.request(
"POST",
"https://toolswitch.dev/v1/tools/instagram.instagram.media.container.create",
headers={"X-Toolswitch-Key": os.environ["TOOLSWITCH_KEY"]},
)
response.raise_for_status()
print(response.text)const response = await fetch("https://toolswitch.dev/v1/tools/instagram.instagram.media.container.create", {
method: "POST",
headers: {
"X-Toolswitch-Key": process.env.TOOLSWITCH_KEY ?? "",
},
});
if (!response.ok) throw new Error(`Request failed: ${response.status}`);
console.log(await response.text());Cette API de passerelle est en préversion ; son URL et son authentification peuvent changer. Les paramètres de l’exemple sont des données fictives. Les appels sont facturés à free, frais de service inclus.