It took me few prompts but it worked I’ve asked a sample workout to illustrate. Originally when I used your prompt (that I had to translate in French, also using ChatGPT) it was formatting workouts with rpm for cycling but as I’m using Stryd and CP I have provided my power zones.
I imagine it’s possible to train the AI with your data, though that would likely require more in-depth research into AI methodologies. Perhaps you could start by asking the AI what kind of output it needs for the analysis. Chances are, you don’t need to provide all the data from your FIT files—just some key results and metrics. Using multiple prompts to supply the right context could also be helpful.
In the past, I experimented by uploading screenshots of the intervals calendar. The AI seemed to interpret the values quite well. You could try uploading data from a couple of weeks, along with the fitness charts, to see what insights it generates.
Nice! I’ve tried it myself, but I found it a bit lacking. In my opinion, it can’t yet replace a good, experienced, and opinionated coach. While it provides a wealth of information, the results can vary significantly depending on your input and biases. Sometimes it feels too accommodating, always trying to be helpful, whereas a real coach would tell you directly, “This is what you need to do.”
I’m not sure which option would work better. Personally, I mostly use ChatGPT (with a Plus subscription). I find it easy to use, and it can remember some details, so you don’t have to repeat yourself every time. Desktop models aren’t quite as powerful yet.
I imagine all services will eventually integrate AI, but what I’ve seen from Strava so far hasn’t been very impressive. It just makes generic comments on your training without providing real insights. For example, it might say something like, “Nice ride! Sustained high power output with some lower intervals. You’re a great rider, keep up the good work!”
Hi @Jonasdlm , seems that the link you posted is for the first post of this thread
I believe that what you did is “similar but opposite” to what I would like to do, using intervals API to send data to the AI.
Did you use the free version of chatgpt or the plus subscription?
I tried that. In activity list I’ve exported in csv format a list of my rides with some details (time, avg power, ftp, so on…) but the model seemed to know nothing about cycling (llama 3.3) and gave me standard “answers” like the one in Strava… I think i should ditch this and go on with ChatGPT or trying another LLM in ollama (maybe mistral )
After the holidays I’ll keep going on with my tests and add things to this post if I can get some sort of results
Requires a machine learning model
Is there an example of what ChatGPT outputs? Also, I am not an expert by any means here, it isn’t clear what exactly I am supposed to enter into ChatGPT (sorry, being thick).
You could also try this: Free AI Endurance Workout Generator | AI Endurance
Uses GPT4 under the hood.
Full disclosure I’m from AI Endurance but the workout editor is free and directly connects to Intervals.icu too.
Super cool! Did something not too dissimilar by asking it to convert the workout syntax of " Daniels’ Running Formula" to Intervals.icu format. The original looks like:
6 E + 5 x (3 min I w/2 min jg recoveries) + 6 x (1 min R w/2 min jg) + 2 E
I didn’t even need to provide it with the full set of rules, but just gave it one example and asked it to come back if it stumbles over any syntax it doesn’t yet understand. Worked miracles and allowed me to convert the full marathon plan to Intervals.icu
Give it the prompt, then paste a workout in any format that is understandable. For instance this is an image captured from whatsonzwift site.
And the output in this case for me (I also gave it an FTP value) was:
Warmup
- 10m ramp 75-187W
Main Set
- 30s 250W 95rpm
- 30s 125W 85rpm
- 30s 275W 100rpm
- 30s 125W 85rpm
- 30s 300W 105rpm
- 30s 125W 85rpm
- 3m 125W 85rpm
- 10m 250W 90rpm
- 4m 138W 85rpm
3x
-
3m ramp 228-243W 85rpm
-
3m ramp 243-258W 80rpm
-
3m ramp 258-273W 75rpm
-
4m 138W 85rpm
-
2m 250W 90rpm
-
1m 250W 70rpm
-
2m 250W 90rpm
-
1m 250W 70rpm
-
4m 250W 100rpm
Cooldown
- 7m ramp 163-113W
which has a mistake, the 3x, but other thant that looks good.
I used Ariel’s prompt as inspiration to create my own GPT: Coach GPT for Intervals.icu.
The idea is to use this GPT to generate training plans that you can upload directly to Intervals.icu via the API. I’ve built it using Ariel’s text as a base, combined with my ATP and 4DP profile.
I’d love for someone to give it a try and share feedback with me. Let me know how it works for your training schedules and if there’s anything I can improve! You can use the prompt to create plans and integrate them via the API. Thanks in advance!
Thanks for creating this! I’ve given it about 6 different attempts and everything looks great until it goes to create the JSON for Intervals.icu.
I can only get about a week of workouts planned, and then it lists the races I told it about. I’ve even tried not prompting it with my races, solely just my goals, and it only gives me about 5 workouts for the next week’ish.
Whatever I do, I can’t get a year worth of workouts planned around my races. But like I’d said, before we get to that point everything looks great in the propts and what it says it is going to do.
Let me know if I can replicate this for you and share a chat from ChatGPT.
“Why won’t ChatGPT give me a full year’s workout plan in JSON?”
Well, let’s ask ChatGPT!
ChatGPT:
“I’ve got the memory of a goldfish once I hit my token limit. One minute, I’m heroically mapping out your entire year of workouts, and the next minute, I’m only describing your first week. It’s not that I don’t want to keep going—it’s just that my ‘brain’ gets ‘full’ and can’t store (or spit out) the extra details!”
Why does this happen?
- When generating detailed JSON, each field (date, activity, duration, intensity, etc.) soaks up a lot of tokens. Before you know it, you’ve hit the model’s text limit, and the rest of your workouts never see the light of day.
- Think of it like trying to write a whole novel in a single tweet—you’re bound to run out of space.
What’s the workaround?
- Break it down: Plan your training for the whole year, but only ask ChatGPT to generate JSON in smaller pieces—like every 3 weeks.
- Adapt to real life: You can then add any last-minute changes (family weekends, city trips, holidays, business trips, etc.) into your next 3-week plan. That way, if you end up in a hotel with only a treadmill, ChatGPT can suggest workouts that don’t require a bike.
So, even though it’s annoying not to get a full year’s worth of JSON right away, there’s a silver lining: you’ll have more accurate, up-to-date training schedules every time you check in.
Thanks so you mean GPT will remember your whole year plan that you’ve asked him to create and then any day any time you can ask changes for let’s say next week or the current day and he will adapt? Like you would chat with a real coach then? On my side I still like to have visibility on the next months and if possible whole year because I’m planning holidays, A/B/C races, etc.
Yes, GPT can remember your whole year plan! I told it about my A/B/C races, planned holidays, no weekend training (3 little kids!), and my weaknesses that need extra focus. It then created a full annual plan with base, build, taper phases, and so on.
I can ask for an overview at any time, and it delivers instantly. Every three weeks, I request a new plan, share updates (e.g., “Thursday evening is solo with the kids, so indoor bike instead of running”), and it adjusts accordingly. I even request the plan in JSON format to upload directly to Intervals.icu.
It feels a lot like chatting with a real coach, except that a real coach could plan further ahead directly in Intervals.icu! That said, you can still generate and upload plans month by month or week by week to maintain visibility over your whole year.
The only limitation is the token limit of ChatGPT, but that’s manageable if you break the planning into smaller chunks.
This looks awesome - Ive just used the prompt to build an 8 week ftp plan - I wonder what feedback this gpt gives me for each work out
I tried using ChatGPT (and 2 others) to suggest what days I should do weights if I was running on specific days. All 3 gave the same answer, with good reasoning.
So far so good, so I asked ChatGPT to plan the weights workouts within some specific parameters. This looked really good and organised, aligning with a lot of what I know already. That is until I sat down and looked in detail at the exercises and found it had suggested a Plank with Band Pull Apart that I’ve never heard of.
So I asked for more details
That had me scratching my head, because it didn’t seem physically possible. You’d end up balancing all your weight on your legs only while in a plank position? I queried this, and it was rather defensive and took several goes before it sort of admitted it was wrong. Maybe it’s learning from the non-apology culture out there:
It also made some a basic mistake on another exercise. Given that it’s just trying to predict what character to write next you can see how it gets it wrong, writing inside rather than outside on an exercise, because the previous word is often followed by either of them.
So my learning is it can have some interesting ideas, but you’ve got to be careful about blindly following it’s advice. Its worth having a bit of an understanding in the first place
I’m creating my new ATP with AI for next outdoor season and I had something similar (I don’t remember with which LLM) happened to me. AI suggested me a “dead bug” exercise that I’ve never hear so I asked more informations and the response was not the real exercise I found on youtube.
What I really like about new version of AI (DeepSeek and the “think before” of ChatGPT) are the “reasoning” models. it’s interesting to read and see how it “think” before the reply and help to spot something strange.
this should be printed in big font in all AI homepages…
Except ChatGPT, has anyone tried other AI models for running training plans? Just wondering if ChatGPT is the “best one”